diff options
Diffstat (limited to 'data/zh_cn/slb/2014-05-15/api-docs.php')
| -rw-r--r-- | data/zh_cn/slb/2014-05-15/api-docs.php | 32201 |
1 files changed, 14141 insertions, 18060 deletions
diff --git a/data/zh_cn/slb/2014-05-15/api-docs.php b/data/zh_cn/slb/2014-05-15/api-docs.php index 20d8703..71d94d7 100644 --- a/data/zh_cn/slb/2014-05-15/api-docs.php +++ b/data/zh_cn/slb/2014-05-15/api-docs.php @@ -1,315 +1,119 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Slb', - 'version' => '2014-05-15', - ], + 'info' => ['style' => 'RPC', 'product' => 'Slb', 'version' => '2014-05-15'], 'directories' => [ [ - 'id' => 68272, - 'title' => '资源', + 'children' => ['ModifyLoadBalancerInternetSpec', 'ModifyLoadBalancerPayType', 'SetLoadBalancerDeleteProtection', 'SetLoadBalancerModificationProtection', 'SetLoadBalancerName', 'ModifyLoadBalancerInstanceChargeType'], 'type' => 'directory', - 'children' => [ - 'DescribeAvailableResource', - ], - ], - [ - 'id' => 68274, - 'title' => '地域与可用区', - 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - 'DescribeZones', - ], - ], - [ - 'id' => 68277, 'title' => '实例', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancer', - 'DeleteLoadBalancer', - 'ModifyLoadBalancerInstanceSpec', - 'ModifyLoadBalancerInternetSpec', - 'ModifyLoadBalancerPayType', - 'SetLoadBalancerDeleteProtection', - 'SetLoadBalancerModificationProtection', - 'SetLoadBalancerName', - 'SetLoadBalancerStatus', - 'ModifyLoadBalancerInstanceChargeType', - 'DescribeLoadBalancerAttribute', - 'DescribeLoadBalancers', - ], + 'id' => 19135, ], [ - 'id' => 68332, - 'title' => '监听', + 'children' => ['CreateRules', 'SetRule', 'DeleteRules', 'DescribeRuleAttribute', 'DescribeRules'], 'type' => 'directory', - 'children' => [ - 'DeleteLoadBalancerListener', - 'StartLoadBalancerListener', - 'StopLoadBalancerListener', - 'DescribeLoadBalancerListeners', - ], - ], - [ - 'id' => 183721, - 'title' => 'TCP监听', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerTCPListener', - 'SetLoadBalancerTCPListenerAttribute', - 'DescribeLoadBalancerTCPListenerAttribute', - ], - ], - [ - 'id' => 183722, - 'title' => 'UDP监听', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerUDPListener', - 'SetLoadBalancerUDPListenerAttribute', - 'DescribeLoadBalancerUDPListenerAttribute', - ], - ], - [ - 'id' => 183723, - 'title' => 'HTTP监听', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerHTTPListener', - 'SetLoadBalancerHTTPListenerAttribute', - 'DescribeLoadBalancerHTTPListenerAttribute', - ], - ], - [ - 'id' => 183724, - 'title' => 'HTTPS监听', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerHTTPSListener', - 'SetLoadBalancerHTTPSListenerAttribute', - 'DescribeLoadBalancerHTTPSListenerAttribute', - ], - ], - [ - 'id' => 68289, 'title' => '转发规则', - 'type' => 'directory', - 'children' => [ - 'CreateRules', - 'SetRule', - 'DeleteRules', - 'DescribeRuleAttribute', - 'DescribeRules', - ], + 'id' => 19148, ], [ - 'id' => 183725, - 'title' => '默认服务器组', + 'children' => ['CreateVServerGroup', 'DeleteVServerGroup', 'SetVServerGroupAttribute', 'DescribeVServerGroups', 'DescribeVServerGroupAttribute', 'AddVServerGroupBackendServers', 'ModifyVServerGroupBackendServers', 'RemoveVServerGroupBackendServers'], 'type' => 'directory', - 'children' => [ - 'AddBackendServers', - 'DescribeHealthStatus', - 'RemoveBackendServers', - 'SetBackendServers', - ], - ], - [ - 'id' => 68320, 'title' => '虚拟服务器组', - 'type' => 'directory', - 'children' => [ - 'CreateVServerGroup', - 'DeleteVServerGroup', - 'SetVServerGroupAttribute', - 'DescribeVServerGroups', - 'DescribeVServerGroupAttribute', - 'AddVServerGroupBackendServers', - 'ModifyVServerGroupBackendServers', - 'RemoveVServerGroupBackendServers', - ], + 'id' => 19173, ], [ - 'id' => 68310, - 'title' => '主备服务器组', + 'children' => ['CreateMasterSlaveServerGroup', 'DeleteMasterSlaveServerGroup', 'DescribeMasterSlaveServerGroupAttribute', 'DescribeMasterSlaveServerGroups'], 'type' => 'directory', - 'children' => [ - 'CreateMasterSlaveServerGroup', - 'DeleteMasterSlaveServerGroup', - 'DescribeMasterSlaveServerGroupAttribute', - 'DescribeMasterSlaveServerGroups', - ], + 'title' => '主备服务器组', + 'id' => 19168, ], [ - 'id' => 68359, - 'title' => '证书', + 'children' => ['DeleteCACertificate', 'DeleteServerCertificate', 'SetCACertificateName', 'SetServerCertificateName', 'DescribeCACertificates', 'DescribeServerCertificates', 'UploadCACertificate', 'UploadServerCertificate'], 'type' => 'directory', - 'children' => [ - 'DeleteCACertificate', - 'DeleteServerCertificate', - 'SetCACertificateName', - 'SetServerCertificateName', - 'DescribeCACertificates', - 'DescribeServerCertificates', - 'UploadCACertificate', - 'UploadServerCertificate', - ], + 'title' => '证书', + 'id' => 19199, ], [ - 'id' => 68293, - 'title' => '扩展域名', + 'children' => ['CreateDomainExtension', 'SetDomainExtensionAttribute', 'DeleteDomainExtension', 'DescribeDomainExtensionAttribute', 'DescribeDomainExtensions'], 'type' => 'directory', - 'children' => [ - 'CreateDomainExtension', - 'SetDomainExtensionAttribute', - 'DeleteDomainExtension', - 'DescribeDomainExtensionAttribute', - 'DescribeDomainExtensions', - ], + 'title' => '扩展域名', + 'id' => 19154, ], [ - 'id' => 183697, - 'title' => '安全策略', + 'children' => ['CreateTLSCipherPolicy', 'DeleteTLSCipherPolicy', 'SetTLSCipherPolicyAttribute', 'ListTLSCipherPolicies'], 'type' => 'directory', - 'children' => [ - 'CreateTLSCipherPolicy', - 'DeleteTLSCipherPolicy', - 'SetTLSCipherPolicyAttribute', - 'ListTLSCipherPolicies', - ], + 'title' => '安全策略', + 'id' => 19218, ], [ - 'id' => 68298, - 'title' => '访问控制', + 'children' => ['CreateAccessControlList', 'AddAccessControlListEntry', 'DeleteAccessControlList', 'SetAccessControlListAttribute', 'DescribeAccessControlListAttribute', 'DescribeAccessControlLists', 'RemoveAccessControlListEntry'], 'type' => 'directory', - 'children' => [ - 'CreateAccessControlList', - 'AddAccessControlListEntry', - 'DeleteAccessControlList', - 'SetAccessControlListAttribute', - 'DescribeAccessControlListAttribute', - 'DescribeAccessControlLists', - 'RemoveAccessControlListEntry', - ], + 'title' => '访问控制', + 'id' => 19160, ], [ - 'id' => 68329, - 'title' => '访问控制(旧版)', + 'children' => ['SetListenerAccessControlStatus', 'RemoveListenerWhiteListItem', 'AddListenerWhiteListItem', 'DescribeListenerAccessControlAttribute'], 'type' => 'directory', - 'children' => [ - 'SetListenerAccessControlStatus', - 'RemoveListenerWhiteListItem', - 'AddListenerWhiteListItem', - 'DescribeListenerAccessControlAttribute', - ], + 'title' => '访问控制(旧版)', + 'id' => 19182, ], [ - 'id' => 68352, - 'title' => '标签', + 'children' => ['DeleteAccessLogsDownloadAttribute', 'SetAccessLogsDownloadAttribute', 'DescribeAccessLogsDownloadAttribute'], 'type' => 'directory', - 'children' => [ - 'AddTags', - 'DescribeTags', - 'ListTagResources', - 'TagResources', - 'UntagResources', - 'RemoveTags', - ], - ], - [ - 'id' => 177279, 'title' => '访问日志', - 'type' => 'directory', - 'children' => [ - 'DeleteAccessLogsDownloadAttribute', - 'SetAccessLogsDownloadAttribute', - 'DescribeAccessLogsDownloadAttribute', - ], + 'id' => 19208, ], [ - 'id' => 179251, - 'title' => '秒级监控', + 'children' => ['EnableHighDefinationMonitor', 'ModifyHighDefinationMonitor', 'DescribeHighDefinationMonitor'], 'type' => 'directory', - 'children' => [ - 'EnableHighDefinationMonitor', - 'ModifyHighDefinationMonitor', - 'DescribeHighDefinationMonitor', - ], + 'title' => '秒级监控', + 'id' => 19212, ], [ - 'id' => 183120, - 'title' => '资源组', - 'type' => 'directory', 'children' => [ - 'MoveResourceGroup', + 'AddBackendServers', 'AddTags', 'CreateLoadBalancer', 'CreateLoadBalancerHTTPListener', 'CreateLoadBalancerHTTPSListener', 'CreateLoadBalancerTCPListener', 'CreateLoadBalancerUDPListener', 'DeleteLoadBalancer', 'DeleteLoadBalancerListener', 'DescribeAvailableResource', 'DescribeHealthStatus', 'DescribeLoadBalancerAttribute', 'DescribeLoadBalancerHTTPListenerAttribute', 'DescribeLoadBalancerHTTPSListenerAttribute', 'DescribeLoadBalancerListeners', 'DescribeLoadBalancerTCPListenerAttribute', 'DescribeLoadBalancerUDPListenerAttribute', 'DescribeLoadBalancers', 'DescribeRegions', 'DescribeTags', + 'DescribeZones', 'ListTagResources', 'ModifyLoadBalancerInstanceSpec', 'MoveResourceGroup', 'RemoveBackendServers', 'RemoveTags', 'SetBackendServers', 'SetLoadBalancerHTTPListenerAttribute', 'SetLoadBalancerHTTPSListenerAttribute', 'SetLoadBalancerStatus', 'SetLoadBalancerTCPListenerAttribute', 'SetLoadBalancerUDPListenerAttribute', 'StartLoadBalancerListener', 'StopLoadBalancerListener', 'TagResources', 'UntagResources', ], + 'title' => '其他', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeAvailableResource' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AddAccessControlListEntry' => [ + 'summary' => '在访问控制策略组中添加IP条目。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => '访问控制策略组的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AddressType', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '网络类型。'."\n" - ."\n" - .'取值:'."\n" - ."\n" - .'- **vpc**:专有网络的私网负载均衡实例。'."\n" - .'- **classic_internet**:公网负载均衡实例。'."\n" - .'- **classic_intranet**:经典网络的私网负载均衡实例。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc', - ], + 'schema' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43kze*****'], ], [ - 'name' => 'AddressIPVersion', + 'name' => 'AclEntrys', 'in' => 'query', - 'schema' => [ - 'description' => 'IP地址类型。'."\n" - ."\n" - .'取值:'."\n" - ."\n" - .'- **ipv4**'."\n" - .'- **ipv6**', - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - ], + 'schema' => ['description' => '设置访问控制策略组。取值:'."\n" + ."\n" + .'* **entry**:访问控制策略组中要添加的IP条目,可以指定IP地址段(CIDR block),多个IP地址段之间用半角逗号(,)隔开。'."\n" + ."\n" + .'* **comment**:访问控制策略组备注说明。'."\n" + ."\n" + .'>每次最多可添加50个条目,如果添加的IP条目重复,则只会添加一条,其余重复条目会被忽略。IP条目必须是IP地址段。', 'type' => 'string', 'required' => false, 'example' => '[{"entry":"10.0.**.**/24","comment":"privaterule1"},{"entry":"192.168.**.**/16","comment":"privaterule2"}]'], ], ], 'responses' => [ @@ -317,242 +121,136 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '173B0EEA-22ED-4EE2-91F9-3A1CDDFFBBBA', - ], - 'AvailableResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AvailableResource' => [ - 'description' => '可用区及支持的资源列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SlaveZoneId' => [ - 'description' => '备可用区。', - 'type' => 'string', - 'example' => 'cn-shanghai-b', - ], - 'MasterZoneId' => [ - 'description' => '主可用区。', - 'type' => 'string', - 'example' => 'cn-shanghai-a', - ], - 'SupportResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportResource' => [ - 'description' => '支持的资源。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AddressType' => [ - 'description' => '网络类型。'."\n" - ."\n" - .'取值:'."\n" - ."\n" - .'- **vpc**:专有网络的私网负载均衡实例。'."\n" - .'- **classic_internet**:公网负载均衡实例。'."\n" - .'- **classic_intranet**:经典网络的私网负载均衡实例。', - 'type' => 'string', - 'example' => 'vpc', - ], - 'AddressIPVersion' => [ - 'description' => 'IP地址类型。'."\n" - ."\n" - .'取值:'."\n" - ."\n" - .'- **ipv4**'."\n" - .'- **ipv6**', - 'type' => 'string', - 'example' => 'ipv4', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA4'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"173B0EEA-22ED-4EE2-91F9-3A1CDDFFBBBA\\",\\n \\"AvailableResources\\": {\\n \\"AvailableResource\\": [\\n {\\n \\"SlaveZoneId\\": \\"cn-shanghai-b\\",\\n \\"MasterZoneId\\": \\"cn-shanghai-a\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"AddressType\\": \\"vpc\\",\\n \\"AddressIPVersion\\": \\"ipv4\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询资源售卖情况', - 'summary' => '查询某个Region的可用区支持的资源售卖情况,可用的资源。', - 'description' => '> 只返回支持售卖的可用区及资源类型。', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.AclEntryExists', 'errorMessage' => 'The specified aclEntry already exists in the acl.', 'description' => '当前Acl中已包含指定的条目。'], + ['errorCode' => 'IllegalEntry', 'errorMessage' => 'Entry version is conflict to the acl version.', 'description' => '条目版本与acl版本冲突。'], + ['errorCode' => 'AclEntryIllegal', 'errorMessage' => '%s.', 'description' => 'Acl Entry非法。'], + ['errorCode' => 'InvalidEntry', 'errorMessage' => '%s.', 'description' => '参数无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.Comment', 'errorMessage' => 'The specified comment is invalid.', 'description' => 'Comment 参数非法'], + ['errorCode' => 'AclEntryExceedLimit', 'errorMessage' => 'The maximum number of ACL entries is exceeded.', 'description' => '访问控制条目超限'], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'Service is unavailable now.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA4\\"\\n}","errorExample":""},{"type":"xml","example":"<AddAccessControlListEntryResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA4</RequestId>\\n</AddAccessControlListEntryResponse>","errorExample":""}]', + 'title' => '在访问控制策略组中添加IP条目', + 'description' => '每个策略组可包含多个IP地址条目或IP地址段条目,访问控制策略组的条目限制如下:'."\n" + ."\n" + .'- 单账号每次可添加的IP地址条目个数:50'."\n" + ."\n" + .'- 每个访问控制策略组可包含的条目个数:300', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRegions' => [ - 'summary' => '查询可用地域。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'changeSet' => [ + ['createdAt' => '2022-12-06T15:11:11.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-12-06T14:38:56.000Z', 'description' => '错误码发生变更'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88601', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddAccessControlListEntry'], ], - 'tenantRelevance' => 'publicInformation', + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'AcceptLanguage', - 'in' => 'query', - 'schema' => [ - 'description' => '支持的语言。取值:'."\n" - ."\n" - .'- **zh-CN**:中文'."\n" - .'- **en-US**:英文'."\n" - .'- **ja**:日文', - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', - ], - ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Region' => [ - 'description' => '地域列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionEndpoint' => [ - 'description' => '地域服务的终端节点地址。', - 'type' => 'string', - 'example' => 'slb.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => '地域名称。', - 'type' => 'string', - 'example' => '华北2(北京)', - ], - 'RegionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - ], - ], - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddAccessControlListEntry', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"RegionEndpoint\\": \\"slb.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北2(北京)\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6</RequestId>\\n <Regions>\\n <RegionEndpoint>slb.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北2(北京)</LocalName>\\n <RegionId>cn-beijing</RegionId>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]', - 'title' => '查询可用地域', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeZones' => [ - 'summary' => '查询指定地域的可用区信息。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AddBackendServers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '88615', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', - ], - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], ], [ - 'name' => 'AcceptLanguage', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-2ze7o5h52g02kkzz******'], + ], + [ + 'name' => 'BackendServers', + 'in' => 'query', + 'schema' => ['description' => '要添加的后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .' '."\n" + .' 如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。'."\n" + ."\n\n" + ."\n\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]'], ], ], 'responses' => [ @@ -560,483 +258,133 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A', - ], - 'Zones' => [ + 'LoadBalancerId' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-2ze7o5h52g02kkzz****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '34B82C81-F13B-4EEB-99F6-A048C67CC830'], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Zone' => [ - 'description' => '可用区列表。', + 'BackendServer' => [ + 'description' => '后端服务器列表。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ZoneId' => [ - 'description' => '可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'LocalName' => [ - 'description' => '可用区名称。', - 'type' => 'string', - 'example' => 'Hangzhou Zone B', - ], - 'SlaveZones' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SlaveZone' => [ - 'description' => '主可用区对应的备可用区列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ZoneId' => [ - 'description' => '备可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'LocalName' => [ - 'description' => '备可用区名称。', - 'type' => 'string', - 'example' => 'Hangzhou Zone G', - ], - ], - ], - ], - ], - ], + 'Type' => ['description' => '后端服务器类型。取值:'."\n" + ."\n" + .'- **ecs**:ECS实例(默认)。'."\n" + .'- **eni**:弹性网卡实例。'."\n" + .'- **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重。'."\n" + ."\n" + .'取值:**0~100**。默认值:**100**。'."\n" + ."\n" + .'如果值为**0**,则不会将请求转发给该后端服务器。', 'type' => 'string', 'example' => '100'], + 'Description' => ['description' => '后端服务器描述。'."\n" + ."\n" + .'> 若用户未设置**Description**,则该参数不返回。', 'type' => 'string', 'example' => 'The description of the backend server.'], + 'ServerId' => ['description' => 'ECS、ENI、或者ECI实例ID。', 'type' => 'string', 'example' => 'i-2zej4lxhjoq1icu*****'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"LocalName\\": \\"Hangzhou Zone B\\",\\n \\"SlaveZones\\": {\\n \\"SlaveZone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"LocalName\\": \\"Hangzhou Zone G\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeZonesResponse>\\n <RequestId>A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A</RequestId>\\n <Zones>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <LocalName>华东 1 可用区 B</LocalName>\\n <SlaveZones>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n <LocalName>华东 1 可用区 G</LocalName>\\n </SlaveZones>\\n </Zones>\\n</DescribeZonesResponse>","errorExample":""}]', - 'title' => '查询指定地域的可用区信息', + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified load balancer does not support the network type of the ECS instance.', 'description' => ''], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ['errorCode' => 'BackendServerProcessing', 'errorMessage' => 'Backend Server is adding, please try again later.', 'description' => '后端服务器正在添加中,请稍后尝试。'], + ['errorCode' => 'InvalidBackendServers.ServerIpConflict', 'errorMessage' => '%s.', 'description' => '存在相同TunnelId和RsIp配置的后端服务器。'], + ['errorCode' => 'OperationUnsupported.AddBackendServers', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => 'SingleTunnel和AnyTunnel类型负载均衡实例不支持指定类型的后端服务器。'], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => '指定后端服务器的BypassToa配置无效。'], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer does not support such action.', 'description' => '当前实例不支持该操作。'], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', 'description' => '虚拟服务器组和ECS配置信息不一致。'], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LoadBalancerId\\": \\"lb-2ze7o5h52g02kkzz****\\",\\n \\"RequestId\\": \\"34B82C81-F13B-4EEB-99F6-A048C67CC830\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": \\"100\\",\\n \\"Description\\": \\"The description of the backend server.\\",\\n \\"ServerId\\": \\"i-2zej4lxhjoq1icu*****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddBackendServersResponse>\\n <LoadBalancerId>lb-2ze7o5h52g02kkzz****</LoadBalancerId>\\n <RequestId>34B82C81-F13B-4EEB-99F6-A048C67CC830</RequestId>\\n <BackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>后端服务器</Description>\\n <ServerId>i-2zej4lxhjoq1icu*****</ServerId>\\n </BackendServers>\\n</AddBackendServersResponse>","errorExample":""}]', + 'title' => '添加后端服务器', + 'summary' => '添加后端服务器。', + 'description' => '> 如果一次请求中添加多个相同的ECS实例,只会取第一个,其他相同实例会被忽略。新增后端服务器不能与同监听下已有服务器重复,否则会报错。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateLoadBalancer' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-27T08:30:14.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:AddBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ], + ], + ], + ], + ], + 'AddListenerWhiteListItem' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '88523', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - 'FEATUREslbMJNWX5', - 'FEATUREslbPXBZ65', - 'FEATUREslbFSBXXR', - 'FEATUREslb4A0V0T', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~2401682~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'AddressType', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的网络类型。取值:'."\n" - ."\n" - .'- **internet**:创建公网负载均衡实例后,系统会分配一个公网IP地址,可以转发公网请求。'."\n" - .'- **intranet**:创建专有网络类型的负载均衡实例后,系统会分配一个内网IP地址,仅可转发内网请求。', - 'type' => 'string', - 'required' => false, - 'example' => 'internet', - 'default' => 'internet', - ], - ], - [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => '公网类型实例的付费方式。取值:'."\n" - ."\n" - .'- **paybytraffic**(默认值):按使用流量计费。'."\n" - .'- **paybybandwidth**:按固定带宽计费。'."\n" - ."\n\n" - .'>- 当**PayType**取值**PayOnDemand**且**InstanceChargeType**取值**PayByCLCU**时,该参数仅支持取值**paybytraffic**。'."\n" - .'>- 如果选择了**paybytraffic**,无需设置**Bandwidth**的值;如您设置了**Bandwidth**值,该值也不会生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'paybytraffic', - 'default' => 'paybytraffic', - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => '实例的带宽峰值,单位:Mbps。'."\n" - .' '."\n" - .'取值范围:**1**~**5000**。'."\n" - ."\n" - .'> 仅 **AddressType**取值为**internet**,且**InternetChargeType**取值为**paybybandwidth**时,该参数生效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '10', - 'default' => '-1', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'由客户端生成该参数值,要保证在不同请求间唯一。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3', - ], - ], - [ - 'name' => 'LoadBalancerName', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的名称。'."\n" - ."\n" - .'长度为1~80个英文或中文字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" - ."\n" - .'不指定该参数时,默认由系统分配一个实例名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1o94dp5i6ea****', - ], - ], - [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的所属的VPC ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1aevy8sofi8mh1****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => '专有网络实例的所属的交换机ID。'."\n" - ."\n" - .'创建专有网络类型的负载均衡实例,必须指定该参数。如果指定了该参数,**AddressType**参数的值会默认被设置为**intranet**。'."\n" - ."\n" - .'> 请确保该**VSwitchId**所在可用区与主可用区一致。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3jgy****', - ], - ], - [ - 'name' => 'MasterZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的主可用区ID。'."\n" - ."\n" - .'您可以通过调用[DescribeZone](~~27585~~)接口可查到相应地域下的主备可用区信息。'."\n" - ."\n" - .'> 请确保该主可用区与**VSwitchId**所在可用区一致。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], - ], - [ - 'name' => 'SlaveZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的备可用区ID。'."\n" - ."\n" - .'您可以通过调用[DescribeZone](~~27585~~)接口查询相应地域下的主备可用区信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-d', - ], - ], - [ - 'name' => 'LoadBalancerSpec', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的规格。取值:'."\n" - ."\n" - .'- **slb.s1.small**'."\n" - .'- **slb.s2.small**'."\n" - .'- **slb.s2.medium**'."\n" - .'- **slb.s3.small**'."\n" - .'- **slb.s3.medium**'."\n" - .'- **slb.s3.large**'."\n" - ."\n" - .'<props="china">'."\n" - ."\n" - .'>- 当**InstanceChargeType**取值为**PayByCLCU**,该参数不生效,您无需配置该参数。'."\n" - .'>- 若不指定规格,则创建性能共享型实例。目前,共享型实例已停止售卖,请指定实例规格。'."\n" - ."\n" - .'</props>'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'>- 当**InstanceChargeType**取值为**PayByCLCU**,该参数不生效,您无需配置该参数。'."\n" - .'>- CLB按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" - ."\n\n" - .'</props>', - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtopt****', - ], - ], - [ - 'name' => 'PayType', - 'in' => 'query', - 'schema' => [ - 'description' => '实例的计费类型,取值:'."\n" - ."\n" - .'- **PayOnDemand**:按量付费。', - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'PayOnDemand', - 'default' => 'PayOnDemand', - ], - ], - [ - 'name' => 'PricingCycle', - 'in' => 'query', - 'schema' => [ - 'description' => '预付费公网实例的计费周期,取值:'."\n" - .'- **month**:月。'."\n" - .'- **year**:年。'."\n" - ."\n" - .'>该参数仅适用于中国站且仅对包年包月实例有效。', - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'month', - ], - ], - [ - 'name' => 'Duration', - 'in' => 'query', - 'schema' => [ - 'description' => '预付费公网实例的购买时长,取值:'."\n" - .' '."\n" - .'* 如果**PricingCycle**为**month**,取值为**1~9**。'."\n" - .'* 如果**PricingCycle**为**year**,取值为**1~5**。'."\n" - ."\n" - .'> 该参数仅适用于中国站且仅对包年包月实例有效。', - 'type' => 'integer', - 'format' => 'int32', - 'deprecated' => true, - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], - ], - [ - 'name' => 'AutoPay', - 'in' => 'query', - 'schema' => [ - 'description' => '是否是自动支付预付费公网实例的账单。取值:'."\n" - ."\n" - .'- **true**:自动支付。调用API后,立即生成SLB实例。'."\n" - .'- **false**(默认值):调用API后SLB的订单创建成功,但是未支付。您可以在控制台看到未支付订单。由于订单未支付,SLB实例不会被创建出来。'."\n" - ."\n" - .'> 该参数仅适用于中国站且仅对包年包月实例有效。', - 'type' => 'boolean', - 'deprecated' => true, - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], - ], - [ - 'name' => 'AddressIPVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的IP版本,取值:**ipv4**或**ipv6**。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - 'default' => 'ipv4', - ], - ], - [ - 'name' => 'Address', - 'in' => 'query', - 'schema' => [ - 'description' => '指定实例的私网IP地址,该地址必须包含在交换机的目标网段下。', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '实例的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => '实例的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DeleteProtection', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启实例删除保护。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6ea*******'], ], [ - 'name' => 'ModificationProtectionStatus', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡修改保护状态:'."\n" - ."\n" - .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的**ModificationProtectionReason**。'."\n" - .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" - ."\n" - .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'ConsoleProtection', - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'ModificationProtectionReason', + 'name' => 'SourceItems', 'in' => 'query', - 'schema' => [ - 'description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" - ."\n" - .'> 仅在**ModificationProtectionStatus**为**ConsoleProtection**时有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'Managed instance', - ], + 'schema' => ['description' => '访问控制列表。'."\n" + ."\n" + .'监听的**AccessControlStatus**为**open_white_list**时有效。'."\n" + ."\n" + .'支持输入IP地址或IP地址段(CIDR block形式),多个IP地址或地址段用半角逗号(,)分割。'."\n" + ."\n" + .'不允许输入**0.0.0.0**或**0.0.0.0/0**。您可以通过调用[SetListenerAccessControlStatus](~~27599~~)接口将**AccessControlStatus**的值设置为**close**来关闭访问控制。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.XX.XX'], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '<props="china">'."\n" - ."\n" - .'实例计费方式。取值:'."\n" - .'- **PayBySpec**(默认值):按规格计费。'."\n" - .'- **PayByCLCU**:按使用量计费。'."\n" - ."\n" - .'>仅当**PayType**(实例付费模式)取值为**PayOnDemand**(按量付费)时,该参数生效。'."\n" - ."\n" - .'</props>'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'实例计费方式。'."\n" - ."\n" - .'取值:**PayByCLCU**:按使用量计费。'."\n" - ."\n" - .'> - 仅当**PayType**(实例付费模式)取值为**PayOnDemand**(按量付费)时,该参数生效。'."\n" - .'> - CLB按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" - ."\n\n" - .'</props>', - 'type' => 'string', - 'required' => false, - 'example' => 'PayBySpec', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + ."\n" + .'>相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], ], 'responses' => [ @@ -1044,416 +392,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => '传统型负载均衡实例的所属专有网络的ID。', - 'type' => 'string', - 'example' => 'vpc-25dvzy9****', - ], - 'AddressIPVersion' => [ - 'description' => '传统型负载均衡实例的IP地址类型。', - 'type' => 'string', - 'example' => 'ipv4', - ], - 'VSwitchId' => [ - 'description' => '传统型负载均衡实例的所属交换机的ID。', - 'type' => 'string', - 'example' => 'vsw-255ecr****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'LoadBalancerName' => [ - 'description' => '传统型负载均衡实例的名称。', - 'type' => 'string', - 'example' => 'lb-bp1o94dp5i6ea****', - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'example' => 'lb-hddhfjg****', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3rto****', - ], - 'Address' => [ - 'description' => '分配的负载均衡实例的IP地址。', - 'type' => 'string', - 'example' => '42.XX.XX.6', - ], - 'NetworkType' => [ - 'description' => '传统型负载均衡实例的网络类型,取值:'."\n" - ."\n" - .'* **vpc**:专有网络类型。'."\n" - .'* **classic**:经典网络类型。', - 'type' => 'string', - 'example' => 'classic', - ], - 'OrderId' => [ - 'description' => '预付费实例的订单ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20212961978****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OperationFailed.ZoneResourceLimit', - 'errorMessage' => 'The operation failed because of resource limit of the specified zone.', - ], - [ - 'errorCode' => 'CloudBoxNotSupportIpv6', - 'errorMessage' => 'The cloudBox instance does not support ipv6.', - ], - [ - 'errorCode' => 'CloudBoxNotSupportInternet', - 'errorMessage' => 'The cloudBox instance does not support internet.', - ], - [ - 'errorCode' => 'OperationFailed.RegionResourceLimit', - 'errorMessage' => 'The operation failed because of resource limit of the specified region.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Operation Denied. The charge type of internet prepay instance can only be paybybandwidth.', - ], - [ - 'errorCode' => 'OperationFailed.UnpaidBillsExist', - 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', - ], - [ - 'errorCode' => 'RegionOrZonesNotSupportIpv6', - 'errorMessage' => 'The specified region or master/slave zones does not support ipv6.', - ], - [ - 'errorCode' => 'InvalidParameter.Mismatch', - 'errorMessage' => 'AddressType and IpVersion is conflict, IPv6 does not support intranet instance.', - ], - [ - 'errorCode' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', - 'errorMessage' => 'Your account does not have enough balance.', - ], - [ - 'errorCode' => 'HighRiskOperationDenied', - 'errorMessage' => 'The operation is denied because of high risk.', - ], - [ - 'errorCode' => 'VSwitchAvailableIpNotExist', - 'errorMessage' => 'The specified VSwitch has no availabe ip.', - ], - [ - 'errorCode' => 'VSwitchNotExist', - 'errorMessage' => 'The specified VSwitch does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'Illegal parameter. The IP address is not in subnet.', - ], - [ - 'errorCode' => 'Instance.ShareSlbNotSupportPay95', - 'errorMessage' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', - ], - [ - 'errorCode' => 'Instance.Pay95RateInvalid', - 'errorMessage' => 'Illegal parameter. The rate is illegal.', - ], - [ - 'errorCode' => 'Instance.Pay95BandwidthIllegal', - 'errorMessage' => 'Illegal parameter. The bandwidth is illegal.', - ], - [ - 'errorCode' => 'Instance.InternetChargeTypeNotAllowed', - 'errorMessage' => 'Illegal parameter. The specified InternetChargeType not allowed.', - ], - [ - 'errorCode' => 'OperationFailed.TokenIsProcessing', - 'errorMessage' => 'The operation is failed, because the Client Token is processing.', - ], - [ - 'errorCode' => 'InsufficientBalance', - 'errorMessage' => 'Your account does not have enough balance.', - ], - [ - 'errorCode' => 'MissingParam.VSwitchId', - 'errorMessage' => 'The parameter VSwitchId is required.', - ], - [ - 'errorCode' => 'InvalidVpcId.NotExist', - 'errorMessage' => 'The specified VPC not exist.', - ], - [ - 'errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', - 'errorMessage' => 'Your account did not sign a withholding agreement or no coupons in Alipay.', - ], - [ - 'errorCode' => 'InvalidParameter.CloudType', - 'errorMessage' => 'The specified CloudType is invalid.', - ], - [ - 'errorCode' => 'OperationFailed.InvalidAccount', - 'errorMessage' => 'The account information is incomplete.', - ], - [ - 'errorCode' => 'RegionOrZonesNotSupportCEN', - 'errorMessage' => 'The specified region or master/slave zones does not support cloudType of hybrid_cen.', - ], - [ - 'errorCode' => 'MissingParam.LoadBalancerSpec', - 'errorMessage' => 'The param LoadBalancerSpec is required.', - ], - [ - 'errorCode' => 'InvalidParameter.Bandwidth', - 'errorMessage' => 'The param Bandwidth is invalid.', - ], - [ - 'errorCode' => 'OperationForbidden.AccountRiskReject', - 'errorMessage' => 'The operation failed because of account risk reject.', - ], - [ - 'errorCode' => 'OperationForbidden.QuotaLimit', - 'errorMessage' => 'The operation failed because of quota limit of shared loadbalancers.', - ], - [ - 'errorCode' => 'InvalidParam.ModificationProtectionStatus', - 'errorMessage' => 'The param ModificationProtectionStatus is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.ModificationProtectionReason', - 'errorMessage' => 'The param ModificationProtectionReason is invalid.', - ], - [ - 'errorCode' => 'ShareSlbHaltSales', - 'errorMessage' => 'The share instance has been discontinued.', - ], - [ - 'errorCode' => 'OperationFailed.CashBookInsufficient', - 'errorMessage' => 'No payment method is specified for your account, We recommend that you add a payment method or maintain a prepayment balance.', - ], - [ - 'errorCode' => 'OperationFailed.OnlyInnerCommoditySupportToPurchase', - 'errorMessage' => 'AliCroup2Cloud user only can buy inner commodity.', - ], - [ - 'errorCode' => 'OperationFailed.InvokeLingXiaoFailed', - 'errorMessage' => 'Failed to invoke lingxiao service.', - ], - [ - 'errorCode' => 'AllocateVpcInstanceFailed', - 'errorMessage' => 'Failed to allocate vpc instance.', - ], - [ - 'errorCode' => 'QueryCreditCtrlInfoFailed', - 'errorMessage' => 'Failed to query credit ctrl info.', - ], - [ - 'errorCode' => 'QueryCommodityCenterFailed', - 'errorMessage' => 'Failed to query commodity center.', - ], - [ - 'errorCode' => 'RegionNotSupportParameter', - 'errorMessage' => 'Current region does not support the param of %s.', - ], - [ - 'errorCode' => 'QueryAccountBookInfoFailed', - 'errorMessage' => 'Failed to invoke account book info.', - ], - [ - 'errorCode' => 'RateAccountFailed', - 'errorMessage' => 'Failed to rate account for pricing.', - ], - [ - 'errorCode' => 'TradeWaitDistributorAudit', - 'errorMessage' => 'The trade needs distributor to audit.', - ], - [ - 'errorCode' => 'OperationFailed.InvokeProxyFailed', - 'errorMessage' => 'Failed to invoke proxy.', - ], - [ - 'errorCode' => 'QueryAccountCompleteProgressFailed', - 'errorMessage' => 'Failed to query account progress.', - ], - [ - 'errorCode' => 'QueryVoucherInfoFailed', - 'errorMessage' => 'Failed to query voucher info.', - ], - [ - 'errorCode' => 'InvalidVSwitchId.NotFound', - 'errorMessage' => 'The specified vSwitch instance is invalid.', - ], - [ - 'errorCode' => 'IllegalParam.SpecType', - 'errorMessage' => 'The param of SpecType is illegal.', - ], - [ - 'errorCode' => 'MissingParam.SpecType', - 'errorMessage' => 'The param of SpecType is missing.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'The feature is not supported in current region.', - ], - [ - 'errorCode' => 'PayInsufficientBalance', - 'errorMessage' => 'Your account balance is insufficient.', - ], - [ - 'errorCode' => 'IllegalParam.InstanceChargeType', - 'errorMessage' => 'The parameter InstanceChargeType is illegal.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], - [ - 'errorCode' => 'PRODUCT.NOT_AVAILABLE_IZ', - 'errorMessage' => 'The Instance zone id doesn t support', - ], - [ - 'errorCode' => 'PRICE.INQUIRY_FAILED', - 'errorMessage' => 'The instance pricing inquiry is failed.', - ], - [ - 'errorCode' => 'AssociateIpFail', - 'errorMessage' => 'The instance associating ip is failed.', - ], - [ - 'errorCode' => 'SDK.ServerUnreachable', - 'errorMessage' => 'Service is unreachable.', - ], - [ - 'errorCode' => 'OverQuota', - 'errorMessage' => 'The Total is over the quota', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'SubnetIpExhaust', - 'errorMessage' => 'No subnet IP addresses are available.', - ], - [ - 'errorCode' => 'BeforePayRuleBatchValidateError', - 'errorMessage' => 'The pre-payment rule center instance rule validation failed. Please check if the instance limit has been reached.', - ], - [ - 'errorCode' => 'TradeSyncCreateSubError', - 'errorMessage' => 'Subscription transfer failed.', - ], - [ - 'errorCode' => 'QueryOrderError', - 'errorMessage' => 'Failed to query the order. Please try again later.', - ], - [ - 'errorCode' => 'CreateOrderTimeout', - 'errorMessage' => 'Order creation timed out. Please try again later.', - ], - [ - 'errorCode' => 'MultiGrayKeyResourceInconsist', - 'errorMessage' => 'The identifier for the gray resource is set incorrectly.', - ], - [ - 'errorCode' => 'InsufficientAvailableQuota', - 'errorMessage' => 'Your account available balance is less than 0. Please recharge before attempting to make a purchase.', - ], - [ - 'errorCode' => 'Forbidden.AliGroupForbiddenRegion', - 'errorMessage' => 'Thre region is forbidden for aligroup user.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'WhiteList is Disabled while Acl is Enabled', 'description' => '启用Acl后不支持配置白名单。'], + ['errorCode' => 'InvalidAddress', 'errorMessage' => '%s,%s', 'description' => '参数无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.SourceItems', 'errorMessage' => '%s.', 'description' => '指定的SourceItems存在冲突。'], ], - 403 => [ - [ - 'errorCode' => 'SecurityRisk.AuthVerification', - 'errorMessage' => 'We have detected a security risk with your payment method. Please proceed with verification via the link in your email or console message and re-submit your order after verification.', - ], + ], + 'title' => '添加监听访问控制白名单', + 'summary' => '添加监听访问控制白名单。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddListenerWhiteListItem'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddListenerWhiteListItem', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-25dvzy9****\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"VSwitchId\\": \\"vsw-255ecr****\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"LoadBalancerName\\": \\"lb-bp1o94dp5i6ea****\\",\\n \\"LoadBalancerId\\": \\"lb-hddhfjg****\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rto****\\",\\n \\"Address\\": \\"42.XX.XX.6\\",\\n \\"NetworkType\\": \\"classic\\",\\n \\"OrderId\\": 0\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerResponse>\\n <VpcId>vpc-25dvzy9****</VpcId>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <VSwitchId>vsw-255ecr****</VSwitchId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <LoadBalancerName>lb-bp1o94dp5i6ea****</LoadBalancerName>\\n <LoadBalancerId>lb-hddhfjg****</LoadBalancerId>\\n <ResourceGroupId>rg-atstuj3rto****</ResourceGroupId>\\n <Address>42.XX.XX.6</Address>\\n <NetworkType>classic</NetworkType>\\n</CreateLoadBalancerResponse>","errorExample":""}]', - 'title' => '创建传统型负载均衡实例', - 'summary' => '创建负载均衡实例。', - 'description' => '<props="china">'."\n" - ."\n" - .'> - CLB包年包月实例2024年12月01日00:00:00起停止新购。详细信息请参见[传统型负载均衡CLB包年包月停售公告](~~2839979~~)。'."\n" - .'> - 实例创建前,请调用[DescribeAvailableResource](~~117645~~)查询可用区支持的资源售卖情况。'."\n" - .'> - 实例创建后,会产生费用。'."\n" - .'> - 按量付费模式支持创建按使用量计费实例和按规格计费实例。'."\n" - ."\n" - .'</props>'."\n" - ."\n" - .'<props="intl">'."\n" - ."\n" - .'> - 实例创建前,请调用[DescribeAvailableResource](~~117645~~)查询可用区支持的资源售卖情况。'."\n" - .'> - 实例创建后,会产生费用。'."\n" - .'> - 按量付费模式只支持创建按使用量计费实例,按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" - ."\n" - .'</props>', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<AddListenerWhiteListItemResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</AddListenerWhiteListItemResponse>","errorExample":""}]', ], - 'DeleteLoadBalancer' => [ - 'summary' => '删除后付费的负载均衡实例。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AddTags' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1h66tp5uat8********', - ], + 'schema' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1kuzyb******'], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => '需要添加的Tag列表。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]'], ], ], 'responses' => [ @@ -1461,121 +466,140 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidChargeType', - 'errorMessage' => 'The prepay loadBalancer does not support this action.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Operation Denied. Unfinished order exists.', - ], - [ - 'errorCode' => 'OperationDenied.DeleteProtectionIsOn', - 'errorMessage' => 'The loadbalancer can not be deleted due to DeleteProtection is enabled.', - ], - [ - 'errorCode' => 'NoPermission.AliyunServiceRoleForSlbEipAccess', - 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbEipAccess. Service Name: eipaccess.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission ', - ], + ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified tag value is illegal.', 'description' => '指定的TagValue无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'QuotaExceeded.Tag', 'errorMessage' => 'The number of Tag exceeds the limit.', 'description' => 'Tag数量已达到配额上限。'], + ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified tag key is invalid.', 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParameter.Tags', 'errorMessage' => 'The parameter Tags should not be null.', 'description' => '参数Tags缺失。'], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contain duplicate key.', 'description' => '参数TagKey重复。'], + ['errorCode' => 'NoPermission.Operator', 'errorMessage' => 'The operator is not permission for this operate.', 'description' => '操作者无权进行此操作。'], + ['errorCode' => 'QuotaExceed.TagsPerResource', 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', 'description' => '单个资源的标签配额超限。'], + ['errorCode' => 'InvalidOperation.ConcurrentModification', 'errorMessage' => 'The resource %s is modified concurrently.', 'description' => '当前资源的tag正在添加中,请稍后重试。'], + ['errorCode' => 'InnerRateLimiting', 'errorMessage' => 'Internal service rate limiting, please try again later.', 'description' => ''], + ['errorCode' => 'SystemError', 'errorMessage' => 'The request processing has failed due to unknow error, exception or failure.', 'description' => '由于未知错误、异常或失败,请求处理失败。'], + ['errorCode' => 'InternalInvokeError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', 'description' => '由于未知错误、异常或失败,请求处理失败。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '删除后付费的负载均衡实例', - 'description' => '> 如果负载均衡实例上还有监听或者绑定了相应的标签,也会一并被删除。', + 'title' => '为指定的负载均衡实例添加标签', + 'summary' => '为指定的负载均衡实例添加标签。', + 'description' => '为指定的负载均衡实例添加标签。'."\n" + ."\n" + .'调用该接口时,请注意:'."\n" + ."\n" + .'* 每个负载均衡实例最多可绑定10个Tag。'."\n" + ."\n" + .'* 单次绑定的标签数最多为5对。'."\n" + ."\n" + .'* 一个负载均衡实例下的所有Tag和Key不能重复。'."\n" + ."\n" + .'* 当添加的标签与原有标签Key相同,但Value不同时,则覆盖原有的标签。', 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyLoadBalancerInstanceSpec' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-11-15T07:46:52.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2023-09-26T08:59:34.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddTags'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddTags', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34******\\"\\n}","type":"json"}]', + ], + 'AddVServerGroupBackendServers' => [ + 'summary' => '向指定的虚拟服务器组中添加后端服务器。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719df*********', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerSpec', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的规格。取值:'."\n" - ."\n" - .' - **slb.s1.small**'."\n" - .' - **slb.s2.small**'."\n" - .' - **slb.s2.medium**'."\n" - .' - **slb.s3.small**'."\n" - .' - **slb.s3.medium**'."\n" - .' - **slb.s3.large**'."\n" - ."\n" - .'每个地域支持的规格不同。关于每种规格的说明,参见[性能保障型实例](~~85931~~)。 '."\n" - ."\n" - .'> 将共享型实例变更为保障型实例,SLB将有小概率可能性出现短暂的业务中断(10~30秒),建议您在业务低谷期进行变配,或者通过DNS实现实例间的负载均衡后,再进行变配操作。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'slb.s2.small', - ], + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6******'], ], [ - 'name' => 'AutoPay', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => '是否自动付费。取值:'."\n" - ."\n" - .'- **true**:自动支付订单。'."\n" - .'- **false**(默认值):在订单中心中进行支付。'."\n" - ."\n" - .'> 该参数仅对预付费实例有效。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => '要添加的后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]'], ], ], 'responses' => [ @@ -1583,329 +607,270 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'OrderId' => [ - 'description' => '预付费实例的订单ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '201429619788910', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'VServerGroupId' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j******'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => '后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'eni'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '后端服务器组描述。', 'type' => 'string', 'example' => 'The description of the vServer group.'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '70'], + 'ServerId' => ['description' => 'ECS实例ID或者ENI的实例ID。', 'type' => 'string', 'example' => 'eni-hhshhs****'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ModifySpecNotAllowed', - 'errorMessage' => 'LoadBalancerSpec not allowed for this instance', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Operation Denied, Your account does not have enough balance.', - ], - [ - 'errorCode' => 'InvalidParameter.Bandwidth', - 'errorMessage' => 'The param Bandwidth is invalid.', - ], - [ - 'errorCode' => 'ChangeLbSpecNotAllowed', - 'errorMessage' => 'You cannot change the specification for the specified load balancer.', - ], - [ - 'errorCode' => 'OperationDenied.PayByCLCU', - 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', - ], + ['errorCode' => 'InvalidBackendServers.ServerIpConflict', 'errorMessage' => '%s.', 'description' => '存在相同TunnelId和RsIp配置的后端服务器。'], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ['errorCode' => 'OperationUnsupported.AddVServerGroupBackendServers', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => '该类型后端服务器不允许关联singleTunnel或anyTunnel的实例'], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => '指定后端服务器的BypassToa配置无效。'], + ['errorCode' => 'BackendServer.InvalidType', 'errorMessage' => 'The specified Type is invalid.', 'description' => '后端服务器类型非法。'], + ['errorCode' => 'BackendServer.ServerRegionIdNotEqual', 'errorMessage' => 'The specified ServerRegionId must be equal.', 'description' => '后端服务器必须属于同一个地域。'], + ['errorCode' => 'OperationFailed.InvalidCen', 'errorMessage' => 'The cen related with this loadbalancer is invalid.', 'description' => '操作失败,原因是指定负载均衡实例关联的Cen信息缺失。'], + ['errorCode' => 'IncorrectStatus.CenNotAssociated', 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', 'description' => '该操作无效,因为当前负载均衡实例未与cen关联。'], + ['errorCode' => 'InvalidBackendServers.MissingCenBandWidth', 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'description' => 'Cen中的负载均衡实例所在的地域和挂载的目标地域之间要有带宽包。'], + ['errorCode' => 'InvalidBackendServers.VpcNotInCen', 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'description' => '后端服务器不在与负载均衡关联的cen中。'], + ['errorCode' => 'InvalidServerId.NotExist', 'errorMessage' => 'The specified ServerId is not exist.', 'description' => '指定的后端服务器不存在。'], + ['errorCode' => 'MissingParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is required.', 'description' => '参数ServerRegionId缺失。'], + ['errorCode' => 'MissingParameter.VbrId', 'errorMessage' => 'The parameter VbrId is required.', 'description' => '参数VbrId缺失。'], + ['errorCode' => 'InvalidParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', 'description' => '指定的ServerRegionId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidVbrId.NotInCen', 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', 'description' => '指定的Vbr不在实例关联的Cen内。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => '主备服务器组的后端服务器冲突。'], + ['errorCode' => 'OperationFailed.ServiceGroupProcessing', 'errorMessage' => 'The specified service group is processing.', 'description' => '操作失败,原因是指定的服务器组正在变配中。'], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', 'description' => '虚拟服务器组和ECS配置信息不一致。'], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], + ['errorCode' => 'SignatureNonceUsed', 'errorMessage' => 'Specified signature nonce was used already.', 'description' => '指定的签名随机数已经被使用过了。'], + ['errorCode' => 'VpcSystemBusy', 'errorMessage' => 'Invoke vpc system busy, please retry later.', 'description' => ''], + ['errorCode' => 'OperationDeny.LbNotSupportIPv6Server', 'errorMessage' => 'The specified loadbalancer does not support ipv6 server.', 'description' => '指定负载均衡实例不支持IPV6后端。'], + ['errorCode' => 'OperationBusy', 'errorMessage' => 'The operation is busy.', 'description' => '操作繁忙,请稍后再试。'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.vServers', 'errorMessage' => 'The specified enis %s does not exist.', 'description' => '提供的instance有的已经不存在,请检查输入参数。'], + ['errorCode' => 'ResourceNotFound.Cen', 'errorMessage' => 'The specified resource Cen %s not Exists.', 'description' => 'cen接入点不存在。请根据错误信息进行检查。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": 201429619788910,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyLoadBalancerInstanceSpecResponse>\\n <OrderId>201429619788910</OrderId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n</ModifyLoadBalancerInstanceSpecResponse>","errorExample":""}]', - 'title' => '修改负载均衡的实例规格', - 'summary' => '修改负载均衡的实例规格。', - 'description' => '<props="china">仅按规格计费实例支持调用ModifyLoadBalancerInstanceSpec接口,按使用量计费实例不支持调用该接口。</props>'."\n" - ."\n" - .'<props="intl">CLB按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" - .'</props>', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j******\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"The description of the vServer group.\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<AddVServerGroupBackendServersResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <VServerGroupId>rsp-cige6*****</VServerGroupId>\\n <BackendServers>\\n <BackendServer>\\n <ServerId>vm-233</ServerId>\\n <Port>80</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n <BackendServer>\\n <ServerId>vm-232</ServerId>\\n <Port>90</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n <BackendServer>\\n <ServerId>vm-231</ServerId>\\n <Port>70</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n </BackendServers>\\n</AddVServerGroupBackendServersResponse>","errorExample":""}]', + 'title' => '向指定的虚拟服务器组中添加后端服务器', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyLoadBalancerInternetSpec' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-09-26T08:59:34.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-12-27T08:30:14.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddVServerGroupBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddVServerGroupBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], + ], ], + ], + 'CreateAccessControlList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', + 'description' => '访问控制策略组的地域ID。', 'type' => 'string', - 'required' => false, + 'required' => true, + 'docRequired' => true, + 'enumValueTitles' => [], 'example' => 'cn-hangzhou', ], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclName', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex******', - ], + 'schema' => ['description' => '访问控制策略组名称,长度限制为1~80个字符,只支持中文、字母、数字和半角句号(.)、短划线(-)、正斜线(/)和下划线(_)。访问控制策略组名称必须为地域内唯一。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rule1'], ], [ - 'name' => 'InternetChargeType', + 'name' => 'AddressIPVersion', 'in' => 'query', 'schema' => [ - 'description' => '公网类型实例的付费方式。取值:'."\n" - ."\n" - .'- **paybybandwidth**:按带宽计费。'."\n" - ."\n" - .'- **paybytraffic**:按流量计费 。'."\n", + 'description' => 'IP版本,可以设置为**ipv4**或者**ipv6**。', 'type' => 'string', 'required' => false, - 'example' => 'paybytraffic', + 'enumValueTitles' => [], + 'example' => 'ipv4', + 'default' => 'ipv4', ], ], [ - 'name' => 'Bandwidth', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '按固定带宽计费方式的公网类型实例的带宽峰值。单位:Mbps。'."\n" - ."\n" - .'取值范围:**1**~**5000**(各地域的带宽峰值会有不同)。'."\n" - ."\n" - .'>按流量计费(即**InternetChargeType**取值为**paybytraffic**)的实例不需要指定该参数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '10', - 'default' => '-1', - ], + 'schema' => ['description' => '访问控制策略组所在的资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rt******'], ], [ - 'name' => 'AutoPay', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否是自动支付预付费公网实例的账单。取值:'."\n" - ."\n" - .'- **true**(默认值):自动支付订单。'."\n" - .'- **false**:在订单中心进行支付。', - 'type' => 'boolean', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 20, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '修改公网负载均衡实例的计费方式。', 'type' => 'object', 'properties' => [ - 'OrderId' => [ - 'description' => '预付费实例的订单ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20142961978****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'example' => 'acl-rj9xpxzcwxrukois****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OperationFailed.UnpaidBillsExist', - 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Operation Denied. Unfinished order exists.', - ], - [ - 'errorCode' => 'Instance.ShareSlbNotSupportPay95', - 'errorMessage' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', - ], - [ - 'errorCode' => 'Instance.Pay95RateInvalid', - 'errorMessage' => 'Illegal parameter. The rate is illegal.', - ], - [ - 'errorCode' => 'Instance.Pay95BandwidthIllegal', - 'errorMessage' => 'Illegal parameter. The bandwidth is illegal.', - ], - [ - 'errorCode' => 'Instance.InternetChargeTypeNotAllowed', - 'errorMessage' => 'Illegal parameter. The specified InternetChargeType not allowed.', - ], - [ - 'errorCode' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', - 'errorMessage' => 'Your channel partner account does not have sufficient funds, please contact your channel partner to recharge the account.', - ], - [ - 'errorCode' => 'OperationDenied.PayByCLCU', - 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', - ], + ['errorCode' => 'InvalidAction.RegionNotSupport', 'errorMessage' => 'The region does not support this action.', 'description' => '当前地域不支持指定功能。'], + ['errorCode' => 'AclNumberOverLimit', 'errorMessage' => 'The Acl number has reached to the max quota limit.', 'description' => 'Acl数量已达到最大配额限制。'], + ['errorCode' => 'InvalidResourceGroupId.NotFound', 'errorMessage' => 'The specified ResourceGroupId is not found.', 'description' => '指定的资源组不存在。'], + ['errorCode' => 'ResourceInConfiguring.Acl', 'errorMessage' => 'The specified resource is configuring, please try again later.', 'description' => '指定的Acl正在配置中,请稍后重试。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": 0,\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '修改公网负载均衡实例的计费方式', - 'summary' => '修改公网负载均衡实例的计费方式。', - 'description' => '<props="china">- 仅按规格计费实例支持调用ModifyLoadBalancerInternetSpec接口,按使用量计费实例不支持调用该接口。</props>'."\n" + 'title' => '创建访问控制策略组', + 'summary' => '创建访问控制策略组。', + 'description' => '您可以创建多个访问控制策略组,每个策略组可包含多个IP地址条目或IP地址段条目。访问控制策略组的限制如下:'."\n" ."\n" - .'- 如果只调整按带宽计费实例的带宽峰值,修改完成后,立即生效。'."\n" + .'- 每个地域单账号最多可创建50个访问控制策略组。'."\n" ."\n" - .'- 如果涉及公网计费方式的变更(例如公网计费方式从按固定带宽变更为按流量),则所有变配会在次日00:00:00生效。', + .'- 单账号每次最多可添加50个IP地址或IP地址段条目。'."\n" + ."\n" + .'- 每个访问控制策略组最多可添加300个IP地址或IP地址段条目。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyLoadBalancerPayType' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessControlList'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateAccessControlList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AclId\\": \\"acl-rj9xpxzcwxrukois****\\",\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', + ], + 'CreateDomainExtension' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => true, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88634', - 'abilityTreeNodes' => [ - 'FEATUREslbMMPQ1U', - ], - 'autoTest' => false, - 'notSupportAutoTestReason' => '废弃', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex*****', - ], - ], - [ - 'name' => 'PayType', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例付费模式,取值:'."\n" - ."\n" - .'<props="china">- **PrePay**:包年包月。</props>'."\n" - ."\n" - .'- **PayOnDemand**(默认值):按量付费。'."\n" - ."\n" - .'按量计费转为包年包月计费,该参数取值只能为**PrePay**,且该实例之前的计费模式必须为**PayOnDemand**。', - 'type' => 'string', - 'required' => false, - 'example' => 'PrePay', - 'default' => 'PrePay', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6earrxxxxxx'], ], [ - 'name' => 'PricingCycle', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '计费周期。'."\n" - ."\n" - .'取值:**year**或**month** 。'."\n" - ."\n" - .'>只有当**PayType**的参数取值为**PrePay**时有效,即仅对按量计费实例有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'month', - ], + 'schema' => ['description' => '负载均衡实例HTTPS监听的前端端口。'."\n" + ."\n" + .'取值:**1-65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '443'], ], [ - 'name' => 'Duration', + 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'description' => '计费时长。'."\n" - ."\n" - .'* 如果**PricingCycle**为**month**,取值**1**~**9**。'."\n" - ."\n" - .'* 如果**PricingCycle**为**year**,取值**1**~**5**。'."\n" - ."\n" - .'>只有当**PayType**的参数取值为**PrePay**时有效,即仅对按量计费实例有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => '域名。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '*.example1.com'], ], [ - 'name' => 'AutoPay', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '是否自动付费。取值:'."\n" - ."\n" - .'- **true**:自动付费。'."\n" - ."\n" - .'- **false(默认值)**:不自动付费。'."\n" - ."\n" - .'>只有当**PayType**的参数取值为**PrePay**时有效,即仅对按量计费实例有效。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => '与域名对应的证书ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123157xxxxxxx_166f820xxxxxx_1714763408_709981xxxx'], ], ], 'responses' => [ @@ -1913,144 +878,72 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'OrderId' => [ - 'description' => '预付费实例的订单ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20212961978891', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], + 'ListenerPort' => ['description' => '负载均衡实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A6E7EFC9-0938-40CA-877D-9BE******'], + 'DomainExtensionId' => ['description' => '创建的扩展域名ID。', 'type' => 'string', 'example' => 'de-bp1rp7ta19******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Cannot change internet payByTraffic loadBalancer from PayOnDemand to PrePay.', - ], - [ - 'errorCode' => 'OperationDenied.PayByCLCU', - 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', - ], + ['errorCode' => 'InvalidAction.RegionNotSupport', 'errorMessage' => 'The region does not support this action.', 'description' => '当前地域不支持指定功能。'], + ['errorCode' => 'InvalidParameter.ServerCertificateId', 'errorMessage' => 'The specified ServerCertificateId does not exist.', 'description' => '指定的服务证书不存在。'], + ['errorCode' => 'InvalidParameter.Domain', 'errorMessage' => 'The specified Domain exists.', 'description' => '指定的Domain已存在。'], + ['errorCode' => 'DomainExtensionProcessing', 'errorMessage' => 'A previous configuration of the DomainExtension is pending, please try again later.', 'description' => '指定的扩展域名正在变配中, 请稍后重试。'], + ['errorCode' => 'DomainExtensionNumberOverLimit', 'errorMessage' => 'The number of domainExtension has reached to the quota limit of this listener.', 'description' => '监听可保有的扩展域名数量已达到配额上限。'], + ['errorCode' => 'DomainExtensionNotSupport', 'errorMessage' => 'The instance with shared loadBalancerSpec does not support domainExtension.', 'description' => '共享型负载均衡实例不支持创建扩展域名。'], + ['errorCode' => 'InvalidParameter.CertificateId', 'errorMessage' => 'The specified CertificateId contains duplicate certificate EncryptionAlgorithm.', 'description' => '指定的证书包含重复的证书加密算法。'], + ['errorCode' => 'InvalidParamSize.CertificateId', 'errorMessage' => 'The size of parameter CertificateId is invalid.', 'description' => '指定的CertificateId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParameter.CertificateId', 'errorMessage' => 'The parameter CertificateId is required.', 'description' => '参数CertificateId缺失。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'CertificateTypeMismatched', 'errorMessage' => 'The certificate type does not match.', 'description' => '指定证书的类型不匹配。'], + ['errorCode' => 'SPEC_NOT_SUPPORT_PARAMETER', 'errorMessage' => 'The loadbalancer with share spec does not support the parameter.', 'description' => ''], + ['errorCode' => 'CnCertificateNotSupport', 'errorMessage' => 'The cn certificate is not support.', 'description' => '不支持国密证书。'], + ['errorCode' => 'InvalidParam.CertificateBindingType', 'errorMessage' => 'The param is invalid.', 'description' => '指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'The param ServerCertificates is missing.', 'description' => '参数ServerCertificates缺失。'], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => '指定的ServerCertificates长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": 20212961978891,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","type":"json"}]', - 'title' => '将按量计费实例转换为包年包月实例(已废弃)', - 'summary' => '将按量计费实例转换为包年包月实例。', - 'description' => '<props="china">'."\n" - ."\n" - .'> CLB包年包月实例2024年12月01日00:00:00起停止新购。详细信息请参见[传统型负载均衡CLB包年包月停售公告](https://help.aliyun.com/zh/slb/product-overview/announcement-of-suspension-of-traditional-load-balancing-clb-package-year-and-month?spm=a2c4g.11186623.help-menu-27537.d_0_1_2.29f5f9f2WbxpDz)。'."\n" - ."\n" - .'</props>'."\n" - ."\n" - .'<props="china">仅按规格计费(公网为按固定带宽计费)的实例支持调用ModifyLoadBalancerPayType接口,按使用量计费实例不支持调用该接口。</props>', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ListenerPort\\": 80,\\n \\"RequestId\\": \\"A6E7EFC9-0938-40CA-877D-9BE******\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp7ta19******\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateDomainExtensionResponse>\\n\\t<RequestId>A6E7EFC9-0938-40CA-877D-9BEDBD21D357</RequestId>\\n\\t<DomainExtensionId>de-bp1rp7t******</DomainExtensionId>\\n\\t<ListenerPort>443</ListenerPort>\\n</CreateDomainExtensionResponse>\\n\\t","errorExample":""}]', + 'title' => '创建扩展域名', + 'summary' => '创建扩展域名。', + 'description' => '> 性能共享型实例的监听不支持扩展域名。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerDeleteProtection' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2021-09-23T04:15:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2021-09-23T04:15:14.000Z', 'description' => '错误码发生变更'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDomainExtension'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~2401682~~) 接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e*****', - ], - ], - [ - 'name' => 'DeleteProtection', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡删除保护状态。取值:'."\n" - ."\n" - .'- **on**:开启删除保护。'."\n" - .'- **off**:关闭删除保护。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'off', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '791D8B68-AE0F-4174-AF54-088C8B3C5D54', - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateDomainExtension', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OperationUnsupported.DeleteProtectionForPrePayInstance', - 'errorMessage' => 'The operation failed because prepay instance does not support delete protection.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"791D8B68-AE0F-4174-AF54-088C8B3C5D54\\"\\n}","type":"json"}]', - 'title' => '设置实例删除保护状态', - 'summary' => '设置实例删除保护状态。', ], - 'SetLoadBalancerModificationProtection' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateLoadBalancer' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2059,486 +952,244 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '88523', + 'abilityTreeNodes' => ['FEATUREslbOL61C3', 'FEATUREslbMJNWX5', 'FEATUREslbPXBZ65', 'FEATUREslbFSBXXR', 'FEATUREslb4A0V0T'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~2401682~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e*****', - ], + 'schema' => ['description' => '传统型负载均衡实例的网络类型。取值:'."\n" + ."\n" + .'- **internet**:创建公网负载均衡实例后,系统会分配一个公网IP地址,可以转发公网请求。'."\n" + .'- **intranet**:创建专有网络类型的负载均衡实例后,系统会分配一个内网IP地址,仅可转发内网请求。', 'type' => 'string', 'required' => false, 'example' => 'internet', 'default' => 'internet'], ], [ - 'name' => 'ModificationProtectionStatus', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡修改保护状态:'."\n" - ."\n" - .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的**ModificationProtectionReason**。'."\n" - ."\n" - .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" - ."\n" - .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ConsoleProtection', - ], + 'schema' => ['description' => '公网类型实例的付费方式。取值:'."\n" + ."\n" + .'- **paybytraffic**(默认值):按使用流量计费。'."\n" + .'- **paybybandwidth**:按固定带宽计费。'."\n" + ."\n\n" + .'>- 当**PayType**取值**PayOnDemand**且**InstanceChargeType**取值**PayByCLCU**时,该参数仅支持取值**paybytraffic**。'."\n" + .'>- 如果选择了**paybytraffic**,无需设置**Bandwidth**的值;如您设置了**Bandwidth**值,该值也不会生效。', 'type' => 'string', 'required' => false, 'example' => 'paybytraffic', 'default' => 'paybytraffic'], ], [ - 'name' => 'ModificationProtectionReason', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" - ."\n" - .'> 仅在**ModificationProtectionStatus**为**ConsoleProtection**时有效。', - 'type' => 'string', - 'required' => false, - 'example' => '配置变更', - ], + 'schema' => ['description' => '实例的带宽峰值,单位:Mbps。'."\n" + .' '."\n" + .'取值范围:**1**~**5000**。'."\n" + ."\n" + .'> 仅 **AddressType**取值为**internet**,且**InternetChargeType**取值为**paybybandwidth**时,该参数生效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'example' => '10', 'default' => '-1'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '791D8B68-AE0F-4174-AF54-088C8B3C5D54', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OperationUnsupported.SetLoadBalancerStatus', - 'errorMessage' => 'The zone of the loadBalancer does not support this operation.', - ], - [ - 'errorCode' => 'InvalidParam.ModificationProtectionStatus', - 'errorMessage' => 'The param ModificationProtectionStatus is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.ModificationProtectionReason', - 'errorMessage' => 'The param ModificationProtectionReason is invalid.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"791D8B68-AE0F-4174-AF54-088C8B3C5D54\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerModificationProtectionResponse>\\n <RequestId>791D8B68-AE0F-4174-AF54-088C8B3C5D54</RequestId>\\n</SetLoadBalancerModificationProtectionResponse>","errorExample":""}]', - 'title' => '设置实例修改保护状态', - 'summary' => '设置负载均衡实例修改保护状态。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetLoadBalancerName' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'由客户端生成该参数值,要保证在不同请求间唯一。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的名称。'."\n" + ."\n" + .'长度为1~80个英文或中文字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'不指定该参数时,默认由系统分配一个实例名称。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1o94dp5i6ea****'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e******', - ], + 'schema' => ['description' => '传统型负载均衡实例的所属的VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1aevy8sofi8mh1****'], ], [ - 'name' => 'LoadBalancerName', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的新名称。'."\n" - ."\n" - .'长度为1~80个英文、数字或中文字符,可包含半角句号(.)、下划线(_)和短划线(-)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], + 'schema' => ['description' => '专有网络实例的所属的交换机ID。'."\n" + ."\n" + .'创建专有网络类型的负载均衡实例,必须指定该参数。如果指定了该参数,**AddressType**参数的值会默认被设置为**intranet**。'."\n" + ."\n" + .'> 请确保该**VSwitchId**所在可用区与主可用区一致。', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3jgy****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - ], - ], - ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerNameResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerNameResponse>","errorExample":""}]', - 'title' => '修改负载均衡实例的名称', - 'summary' => '修改负载均衡实例的名称。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetLoadBalancerStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'MasterZoneId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的主可用区ID。'."\n" + ."\n" + .'您可以通过调用[DescribeZone](~~27585~~)接口可查到相应地域下的主备可用区信息。'."\n" + ."\n" + .'> 请确保该主可用区与**VSwitchId**所在可用区一致。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SlaveZoneId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的备可用区ID。'."\n" + ."\n" + .'您可以通过调用[DescribeZone](~~27585~~)接口查询相应地域下的主备可用区信息。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-d'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'LoadBalancerSpec', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e******', - ], + 'schema' => ['description' => '传统型负载均衡实例的规格。取值:'."\n" + ."\n" + .'- **slb.s1.small**'."\n" + .'- **slb.s2.small**'."\n" + .'- **slb.s2.medium**'."\n" + .'- **slb.s3.small**'."\n" + .'- **slb.s3.medium**'."\n" + .'- **slb.s3.large**'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'>- 当**InstanceChargeType**取值为**PayByCLCU**,该参数不生效,您无需配置该参数。'."\n" + .'>- 若不指定规格,则创建性能共享型实例。目前,共享型实例已停止售卖,请指定实例规格。'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'>- 当**InstanceChargeType**取值为**PayByCLCU**,该参数不生效,您无需配置该参数。'."\n" + .'>- CLB按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" + ."\n\n" + .'</props>', 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small'], ], [ - 'name' => 'LoadBalancerStatus', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例状态。取值:**active**或**inactive**。'."\n" - ."\n" - .'- **active**(默认值)'."\n" - ."\n" - .' '."\n" - .' 当负载均衡实例的状态为**active**时,实例中的监听可以根据规则转发接收的流量。'."\n" - ."\n" - .' 传统型实例创建后的状态默认为**active**。'."\n" - .' '."\n" - .'- **inactive**'."\n" - ."\n" - .' 当负载均衡实例的状态为**inactive**时,实例中的监听不会再转发接收的流量。'."\n" - ."\n\n" - .'> 当一个实例下的所有监听都被删除后,实例状态会自动变更为**inactive**。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'active', - ], + 'schema' => ['description' => '企业资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtopt****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OperationUnsupported.SetLoadBalancerStatus', - 'errorMessage' => 'The zone of the loadBalancer does not support this operation.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '设置负载均衡实例的状态', - 'summary' => '设置负载均衡实例的状态。', - ], - 'ModifyLoadBalancerInstanceChargeType' => [ - 'summary' => '变更按量付费CLB实例的实例计费方式。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PayType', + 'in' => 'query', + 'schema' => ['description' => '实例的计费类型,取值:'."\n" + ."\n" + .'- **PayOnDemand**:按量付费。', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'PayOnDemand', 'default' => 'PayOnDemand'], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'PricingCycle', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '预付费公网实例的计费周期,取值:'."\n" + .'- **month**:月。'."\n" + .'- **year**:年。'."\n" + ."\n" + .'>该参数仅适用于中国站且仅对包年包月实例有效。', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'month'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'Duration', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b3jus5hpenznuu****', - ], + 'schema' => ['description' => '预付费公网实例的购买时长,取值:'."\n" + .' '."\n" + .'* 如果**PricingCycle**为**month**,取值为**1~9**。'."\n" + .'* 如果**PricingCycle**为**year**,取值为**1~5**。'."\n" + ."\n" + .'> 该参数仅适用于中国站且仅对包年包月实例有效。', 'type' => 'integer', 'format' => 'int32', 'deprecated' => true, 'required' => false, 'minimum' => '1', 'example' => '1'], ], [ - 'name' => 'InternetChargeType', + 'name' => 'AutoPay', 'in' => 'query', - 'schema' => [ - 'description' => '变更后的公网计费方式。'."\n" - .'仅取值**paybytraffic**:按使用流量计费。'."\n" - ."\n" - .'> - 当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按使用流量计费。'."\n" - .'> - 如果公网计费方式从按固定带宽变更为按使用流量,则所有变配会在次日00:00:00生效。', - 'type' => 'string', - 'required' => false, - 'example' => 'paybytraffic', - ], + 'schema' => ['description' => '是否是自动支付预付费公网实例的账单。取值:'."\n" + ."\n" + .'- **true**:自动支付。调用API后,立即生成SLB实例。'."\n" + .'- **false**(默认值):调用API后SLB的订单创建成功,但是未支付。您可以在控制台看到未支付订单。由于订单未支付,SLB实例不会被创建出来。'."\n" + ."\n" + .'> 该参数仅适用于中国站且仅对包年包月实例有效。', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'example' => 'true', 'default' => 'false'], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'AddressIPVersion', 'in' => 'query', - 'schema' => [ - 'description' => '变更后的实例计费方式。'."\n" - .'仅取值**PayByCLCU**:按使用量计费。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PayByCLCU', - ], + 'schema' => ['description' => '传统型负载均衡实例的IP版本,取值:**ipv4**或**ipv6**。'."\n", 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'default' => 'ipv4'], ], [ - 'name' => 'LoadBalancerSpec', + 'name' => 'Address', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的规格。'."\n" - ."\n" - .'您无需设置该参数。目前仅支持按规格计费转按使用量计费,不支持按使用量计费转按规格计费。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], + 'schema' => ['description' => '指定实例的私网IP地址,该地址必须包含在交换机的目标网段下。', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX'], ], [ - 'name' => 'Bandwidth', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '按带宽计费的公网型实例的带宽峰值。'."\n" - ."\n" - .'您无需设置该参数,按使用量计费实例的公网计费方式仅支持按使用流量计费。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '5', - 'default' => '-1', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '实例的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'Value' => ['description' => '实例的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'value'], ], + 'required' => false, ], + 'required' => false, + 'maxItems' => 20, ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OperationFailed.UnpaidBillsExist', - 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Operation Denied. Unfinished order exists.', - ], - [ - 'errorCode' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', - 'errorMessage' => 'Your channel partner account does not have sufficient funds, please contact your channel partner to recharge the account.', - ], - [ - 'errorCode' => 'OperationDenied.PayByCLCU', - 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', - ], - [ - 'errorCode' => 'IllegalParam.InstanceChargeType', - 'errorMessage' => 'The parameter InstanceChargeType is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.InternetChargeType', - 'errorMessage' => 'The parameter InternetChargeType is illegal.', - ], - [ - 'errorCode' => 'InvalidAction.RegionNotSupport', - 'errorMessage' => 'The region does not support this action.', - ], - [ - 'errorCode' => 'MissingParam.LoadBalancerSpec', - 'errorMessage' => 'The param LoadBalancerSpec is required.', - ], - [ - 'errorCode' => 'OperationDenied.PayBySpec', - 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayBySpec.', - ], - [ - 'errorCode' => 'InvalidParameterBandwidth', - 'errorMessage' => 'The specified Bandwidth is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified LoadBalancerSpec is invalid.', - ], - [ - 'errorCode' => 'Forbidden.LcuToSpec', - 'errorMessage' => 'User does not have permission modify InstanceChargeType to spec.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyLoadBalancerInstanceChargeTypeResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n</ModifyLoadBalancerInstanceChargeTypeResponse>","errorExample":""}]', - 'title' => '变更按量付费CLB实例的实例计费方式', - 'description' => '> - 按量付费实例中,仅支持按规格计费转按使用量计费,不支持按使用量计费转按规格计费。'."\n" - .'> - 目前,该接口不支持批量变更实例计费方式。', - ], - 'DescribeLoadBalancerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DeleteProtection', + 'in' => 'query', + 'schema' => ['description' => '是否开启实例删除保护。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88574', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', + [ + 'name' => 'ModificationProtectionStatus', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡修改保护状态:'."\n" + ."\n" + .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的**ModificationProtectionReason**。'."\n" + .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', 'type' => 'string', 'required' => false, 'example' => 'ConsoleProtection'], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ModificationProtectionReason', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在**ModificationProtectionStatus**为**ConsoleProtection**时有效。', 'type' => 'string', 'required' => false, 'example' => 'Managed instance'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex****', - ], + 'schema' => ['description' => '<props="china">'."\n" + ."\n" + .'实例计费方式。取值:'."\n" + .'- **PayBySpec**(默认值):按规格计费。'."\n" + .'- **PayByCLCU**:按使用量计费。'."\n" + ."\n" + .'>仅当**PayType**(实例付费模式)取值为**PayOnDemand**(按量付费)时,该参数生效。'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'实例计费方式。'."\n" + ."\n" + .'取值:**PayByCLCU**:按使用量计费。'."\n" + ."\n" + .'> - 仅当**PayType**(实例付费模式)取值为**PayOnDemand**(按量付费)时,该参数生效。'."\n" + .'> - CLB按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" + ."\n\n" + .'</props>', 'type' => 'string', 'required' => false, 'example' => 'PayBySpec'], ], ], 'responses' => [ @@ -2546,1270 +1197,495 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => '传统型负载均衡私网实例的专有网络ID。', - 'type' => 'string', - 'example' => 'vpc-25dvzy9f8****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => '实例的标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'test', - ], - 'TagValue' => [ - 'description' => '实例的标签值。N的取值范围:**1**~**20**。一旦输入该值,可以为空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - ], - ], - 'CreateTimeStamp' => [ - 'description' => '传统型负载均衡实例创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'CreateTime' => [ - 'description' => '传统型负载均衡实例的创建时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2017-08-31T02:49:05Z', - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa08ex****', - ], - 'PayType' => [ - 'description' => '传统型负载均衡实例付费类型。取值:'."\n" - ."\n" - .'<props="china">- **PrePay**:包年包月。</props>'."\n" - ."\n" - .'<props="china">- **PayOnDemand**(默认值):按量付费。</props>'."\n" - ."\n" - .'<props="intl">- **PayOnDemand**(默认值):按量付费。</props>'."\n" - ."\n", - 'type' => 'string', - 'example' => 'PayOnDemand', - ], - 'AddressType' => [ - 'description' => '传统型负载均衡实例的地址类型。', - 'type' => 'string', - 'example' => 'internet', - ], - 'NetworkType' => [ - 'description' => '传统型负载均衡实例的网络类型。', - 'type' => 'string', - 'example' => 'vpc', - ], - 'AddressIPVersion' => [ - 'description' => 'IP版本。取值:**ipv4**或**ipv6**。', - 'type' => 'string', - 'example' => 'ipv4', - ], - 'RenewalCycUnit' => [ - 'description' => '自动续费周期,取值:**Year**或**Month**(默认值)。'."\n" - ."\n" - .'>该参数仅适用于中国站包年包月实例,即**PayType**的参数值为**PrePay**且**RenewalStatus**为**AutoRenewal**时有效。'."\n", - 'type' => 'string', - 'example' => 'Month', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'Bandwidth' => [ - 'description' => '按带宽计费的公网型实例的带宽峰值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'LoadBalancerName' => [ - 'description' => '传统型负载均衡实例的名称。', - 'type' => 'string', - 'example' => 'lb-instance-test', - ], - 'Address' => [ - 'description' => '传统型负载均衡实例的服务地址。 ', - 'type' => 'string', - 'example' => '42.XX.XX.6', - ], - 'SlaveZoneId' => [ - 'description' => '传统型负载均衡实例的备可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-d', - ], - 'EndTimeStamp' => [ - 'description' => '传统型负载均衡实例结束时间戳。 ', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3249380160000', - ], - 'MasterZoneId' => [ - 'description' => '传统型负载均衡实例的主可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'LoadBalancerSpec' => [ - 'description' => '传统型负载均衡实例的性能规格。'."\n" - .'> 按使用量计费的实例无性能规格属性,默认返回 **slb.lcu.elastic**。', - 'type' => 'string', - 'example' => 'slb.s1.small', - ], - 'AutoReleaseTime' => [ - 'description' => '释放时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1513947075000', - ], - 'ModificationProtectionReason' => [ - 'description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" - ."\n" - .'> 仅在**ModificationProtectionStatus**为**ConsoleProtection**时有效。', - 'type' => 'string', - 'example' => '实例业务保障期', - ], - 'RegionId' => [ - 'description' => '传统型负载均衡实例所在地域ID。 ', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ModificationProtectionStatus' => [ - 'description' => '传统型负载均衡修改保护状态:'."\n" - ."\n" - .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的**ModificationProtectionReason**。'."\n" - .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" - ."\n" - .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', - 'type' => 'string', - 'example' => 'ConsoleProtection', - ], - 'EndTime' => [ - 'description' => '传统型负载均衡实例结束时间。 ', - 'type' => 'string', - 'example' => '2022-09-08T16:00:00Z', - ], - 'VSwitchId' => [ - 'description' => '私网实例的交换机ID。', - 'type' => 'string', - 'example' => 'vsw-255ecrwq5****', - ], - 'LoadBalancerStatus' => [ - 'description' => '传统型负载均衡实例状态:'."\n" - ."\n" - .'- **inactive**:实例已停止,此状态的实例监听不会再转发流量。'."\n" - ."\n" - .'- **active**:实例运行中,实例创建后,默认状态为**active**。'."\n" - ."\n" - .'- **locked**:实例已锁定,实例已经欠费或被阿里云锁定。'."\n" - .' ', - 'type' => 'string', - 'example' => 'active', - ], - 'ResourceGroupId' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3rtop****', - ], - 'InternetChargeType' => [ - 'description' => '公网类型实例付费方式。取值:'."\n" - ."\n" - .'- **paybytraffic**:按使用流量计费。'."\n" - .'- **paybybandwidth**:按固定带宽计费。', - 'type' => 'string', - 'example' => 'paybytraffic', - ], - 'DeleteProtection' => [ - 'description' => '是否开启实例删除保护。'."\n" - ."\n" - .'取值:**on**或**off**。', - 'type' => 'string', - 'example' => 'off', - ], - 'RegionIdAlias' => [ - 'description' => '传统型负载均衡实例所属的地域别名。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RenewalStatus' => [ - 'description' => '续费状态,取值:'."\n" - ."\n" - .'- **AutoRenewal**:自动续费。'."\n" - .'- **Normal**:非自动续费,您需要自行续费负载均衡实例。'."\n" - .'- **NotRenewal**:不再续费。返回该值后,系统不再发送到期提醒,只在到期前第三天发送不续费提醒。'."\n" - ."\n" - .'> 该参数仅适用于中国站包年包月实例,即**PayType**的参数值为**PrePay**时有效。', - 'type' => 'string', - 'example' => 'AutoRenewal', - ], - 'RenewalDuration' => [ - 'description' => '自动续费时长,仅在**RenewalStatus**为**AutoRenewal**时有效。'."\n" - ."\n" - .'- **RenewalCycUnit**为**Year**时,取值:**1~5**。'."\n" - .'- **RenewalCycUnit**为**Month**时,取值:**1~9**。'."\n" - ."\n" - .'> 该参数仅适用于中国站包年包月实例,即**PayType**的参数值为**PrePay**时有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ListenerPorts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListenerPort' => [ - 'description' => '传统型负载均衡实例前端使用的端口。', - 'type' => 'array', - 'items' => [ - 'description' => '传统型负载均衡实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'ListenerPortsAndProtocal' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListenerPortAndProtocal' => [ - 'description' => '监听端口或协议。', - 'type' => 'array', - 'items' => [ - 'description' => '传统型负载均衡实例前端使用的协议。 ', - 'type' => 'object', - 'properties' => [ - 'ListenerProtocal' => [ - 'description' => '传统型负载均衡实例前端使用的协议。 ', - 'type' => 'string', - 'example' => 'http', - ], - 'ListenerPort' => [ - 'description' => '实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - ], - ], - ], - ], - ], - 'ListenerPortsAndProtocol' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListenerPortAndProtocol' => [ - 'description' => '实例前端使用的端口和协议。', - 'type' => 'array', - 'items' => [ - 'description' => '实例前端使用的端口和协议。', - 'type' => 'object', - 'properties' => [ - 'ListenerPort' => [ - 'description' => '实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ListenerProtocol' => [ - 'description' => '实例前端使用的协议。 ', - 'type' => 'string', - 'example' => 'https', - ], - 'ListenerForward' => [ - 'description' => '是否启用监听转发。', - 'type' => 'string', - 'example' => 'on', - ], - 'Description' => [ - 'description' => '监听端口和协议描述。', - 'type' => 'string', - 'example' => '监听描述', - ], - 'ForwardPort' => [ - 'description' => '转发到的目的监听端口,必须是已经存在的HTTPS监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - ], - ], - ], - ], - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => '实例的后端服务器列表。', - 'type' => 'array', - 'items' => [ - 'description' => '实例的后端服务器列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型。'."\n" - .'ecs:ECS实例(默认)。'."\n" - .'eni:弹性网卡实例。'."\n" - .'eci:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。 ', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'Description' => [ - 'description' => '后端服务器描述。'."\n" - ."\n" - .'> 若用户未设置**Description**,则该参数不返回。', - 'type' => 'string', - 'example' => '用来接收转发请求的后端服务器', - ], - 'ServerIp' => [ - 'description' => 'ENI或ECI的实例ID。', - 'type' => 'string', - 'example' => '192.XX.XX.11', - ], - 'ServerId' => [ - 'description' => '后端服务器实例ID。', - 'type' => 'string', - 'example' => 'i-2zej4lxhjoq1icu*****', - ], - ], - ], - ], - ], - ], + 'VpcId' => ['description' => '传统型负载均衡实例的所属专有网络的ID。', 'type' => 'string', 'example' => 'vpc-25dvzy9****'], + 'AddressIPVersion' => ['description' => '传统型负载均衡实例的IP地址类型。', 'type' => 'string', 'example' => 'ipv4'], + 'VSwitchId' => ['description' => '传统型负载均衡实例的所属交换机的ID。', 'type' => 'string', 'example' => 'vsw-255ecr****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'LoadBalancerName' => ['description' => '传统型负载均衡实例的名称。', 'type' => 'string', 'example' => 'lb-bp1o94dp5i6ea****'], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'example' => 'lb-hddhfjg****'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3rto****'], + 'Address' => ['description' => '分配的负载均衡实例的IP地址。', 'type' => 'string', 'example' => '42.XX.XX.6'], + 'NetworkType' => ['description' => '传统型负载均衡实例的网络类型,取值:'."\n" + ."\n" + .'* **vpc**:专有网络类型。'."\n" + .'* **classic**:经典网络类型。', 'type' => 'string', 'example' => 'classic'], + 'OrderId' => ['description' => '预付费实例的订单ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '20212961978****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['errorCode' => 'OperationFailed.ZoneResourceLimit', 'errorMessage' => 'The operation failed because of resource limit of the specified zone.', 'description' => '操作失败,原因是当前可用区资源不足。'], + ['errorCode' => 'CloudBoxNotSupportIpv6', 'errorMessage' => 'The cloudBox instance does not support ipv6.', 'description' => '云盒实例不支持ipv6'], + ['errorCode' => 'CloudBoxNotSupportInternet', 'errorMessage' => 'The cloudBox instance does not support internet.', 'description' => '云盒实例不支持internet'], + ['errorCode' => 'OperationFailed.RegionResourceLimit', 'errorMessage' => 'The operation failed because of resource limit of the specified region.', 'description' => '操作失败,原因是指定地域资源不足。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied. The charge type of internet prepay instance can only be paybybandwidth.', 'description' => '操作被拒绝,原因是公网预付费实例只支持按带宽计费。'], + ['errorCode' => 'OperationFailed.UnpaidBillsExist', 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', 'description' => '操作失败,原因是当前账户下存在未支付账单。请先支付您的逾期账单。'], + ['errorCode' => 'RegionOrZonesNotSupportIpv6', 'errorMessage' => 'The specified region or master/slave zones does not support ipv6.', 'description' => '指定地域或主备可用区不支持Ipv6。'], + ['errorCode' => 'InvalidParameter.Mismatch', 'errorMessage' => 'AddressType and IpVersion is conflict, IPv6 does not support intranet instance.', 'description' => '网络类型和IP版本冲突,私网实例不支持IPv6。'], + ['errorCode' => 'PAYFOR.CREDIT_PAY_INSUFFICIENT_BALANCE', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], + ['errorCode' => 'HighRiskOperationDenied', 'errorMessage' => 'The operation is denied because of high risk.', 'description' => '操作被拒绝,原因是当前操作为高危操作。'], + ['errorCode' => 'VSwitchAvailableIpNotExist', 'errorMessage' => 'The specified VSwitch has no availabe ip.', 'description' => '指定的交换机没有可用的Ip。'], + ['errorCode' => 'VSwitchNotExist', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => '指定的交换机不存在。'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Illegal parameter. The IP address is not in subnet.', 'description' => '参数非法,IP地址不在子网中。'], + ['errorCode' => 'Instance.ShareSlbNotSupportPay95', 'errorMessage' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', 'description' => '共享型实例不支持PayBy95或PayByOld95。'], + ['errorCode' => 'Instance.Pay95RateInvalid', 'errorMessage' => 'Illegal parameter. The rate is illegal.', 'description' => '指定的Rate无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Instance.Pay95BandwidthIllegal', 'errorMessage' => 'Illegal parameter. The bandwidth is illegal.', 'description' => '指定的Bandwidth无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Instance.InternetChargeTypeNotAllowed', 'errorMessage' => 'Illegal parameter. The specified InternetChargeType not allowed.', 'description' => '参数非法,指定的InternetChargeType不支持。'], + ['errorCode' => 'OperationFailed.TokenIsProcessing', 'errorMessage' => 'The operation is failed, because the Client Token is processing.', 'description' => '操作失败,原因是当前请求正在处理中。'], + ['errorCode' => 'InsufficientBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => '账户余额不足,请先充值再操作。'], + ['errorCode' => 'MissingParam.VSwitchId', 'errorMessage' => 'The parameter VSwitchId is required.', 'description' => '参数VSwitchId缺失。'], + ['errorCode' => 'InvalidVpcId.NotExist', 'errorMessage' => 'The specified VPC not exist.', 'description' => '指定的VPC不存在。'], + ['errorCode' => 'PAY.MAYI_WITHHOLDING_AGREEMENT_ILLEGAL', 'errorMessage' => 'Your account did not sign a withholding agreement or no coupons in Alipay.', 'description' => ''], + ['errorCode' => 'InvalidParameter.CloudType', 'errorMessage' => 'The specified CloudType is invalid.', 'description' => '指定的CloudType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'OperationFailed.InvalidAccount', 'errorMessage' => 'The account information is incomplete.', 'description' => '操作失败,原因是账户信息不完整。'], + ['errorCode' => 'RegionOrZonesNotSupportCEN', 'errorMessage' => 'The specified region or master/slave zones does not support cloudType of hybrid_cen.', 'description' => '指定的地域或主备可用区不支持CEN。'], + ['errorCode' => 'MissingParam.LoadBalancerSpec', 'errorMessage' => 'The param LoadBalancerSpec is required.', 'description' => '参数LoadBalancerSpec缺失。'], + ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The param Bandwidth is invalid.', 'description' => '指定的Bandwidth无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'OperationForbidden.AccountRiskReject', 'errorMessage' => 'The operation failed because of account risk reject.', 'description' => '操作失败,原因是当前账户已被风控。'], + ['errorCode' => 'OperationForbidden.QuotaLimit', 'errorMessage' => 'The operation failed because of quota limit of shared loadbalancers.', 'description' => '操作失败,原因是共享性实例数量已达配额上限。'], + ['errorCode' => 'InvalidParam.ModificationProtectionStatus', 'errorMessage' => 'The param ModificationProtectionStatus is invalid.', 'description' => '指定的ModificationProtectionStatus无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.ModificationProtectionReason', 'errorMessage' => 'The param ModificationProtectionReason is invalid.', 'description' => '指定的ModificationProtectionReason无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ShareSlbHaltSales', 'errorMessage' => 'The share instance has been discontinued.', 'description' => '共享型负载均衡实例已售罄。'], + ['errorCode' => 'OperationFailed.CashBookInsufficient', 'errorMessage' => 'No payment method is specified for your account, We recommend that you add a payment method or maintain a prepayment balance.', 'description' => '操作失败,原因是您的账户未指定付款方式,我们建议您添加付款方式或保持预付款余额。'], + ['errorCode' => 'OperationFailed.OnlyInnerCommoditySupportToPurchase', 'errorMessage' => 'AliCroup2Cloud user only can buy inner commodity.', 'description' => '操作失败,原因是集团上云用户只能购买内部商品。'], + ['errorCode' => 'OperationFailed.InvokeLingXiaoFailed', 'errorMessage' => 'Failed to invoke lingxiao service.', 'description' => '操作失败,原因是调用凌霄服务失败。'], + ['errorCode' => 'AllocateVpcInstanceFailed', 'errorMessage' => 'Failed to allocate vpc instance.', 'description' => '分配VPC实例失败。'], + ['errorCode' => 'QueryCreditCtrlInfoFailed', 'errorMessage' => 'Failed to query credit ctrl info.', 'description' => '查询用户信息失败。'], + ['errorCode' => 'QueryCommodityCenterFailed', 'errorMessage' => 'Failed to query commodity center.', 'description' => '商品中心查询失败。'], + ['errorCode' => 'RegionNotSupportParameter', 'errorMessage' => 'Current region does not support the param of %s.', 'description' => '当前地域不支持指定参数。'], + ['errorCode' => 'QueryAccountBookInfoFailed', 'errorMessage' => 'Failed to invoke account book info.', 'description' => '调用账本信息失败。'], + ['errorCode' => 'RateAccountFailed', 'errorMessage' => 'Failed to rate account for pricing.', 'description' => '调用定价服务失败。'], + ['errorCode' => 'TradeWaitDistributorAudit', 'errorMessage' => 'The trade needs distributor to audit.', 'description' => '此次交易待经销商审核。'], + ['errorCode' => 'OperationFailed.InvokeProxyFailed', 'errorMessage' => 'Failed to invoke proxy.', 'description' => '操作失败,原因是调用管控失败。'], + ['errorCode' => 'QueryAccountCompleteProgressFailed', 'errorMessage' => 'Failed to query account progress.', 'description' => '查询账户进度失败。'], + ['errorCode' => 'QueryVoucherInfoFailed', 'errorMessage' => 'Failed to query voucher info.', 'description' => '查询凭证信息失败。'], + ['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified vSwitch instance is invalid.', 'description' => '非法的vswitch实例。'], + ['errorCode' => 'IllegalParam.SpecType', 'errorMessage' => 'The param of SpecType is illegal.', 'description' => '指定的SpecType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.SpecType', 'errorMessage' => 'The param of SpecType is missing.', 'description' => '参数SpecType缺失。'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'The feature is not supported in current region.', 'description' => '当前地域不支持该功能。'], + ['errorCode' => 'PayInsufficientBalance', 'errorMessage' => 'Your account balance is insufficient.', 'description' => '您的账户余额不足'], + ['errorCode' => 'IllegalParam.InstanceChargeType', 'errorMessage' => 'The parameter InstanceChargeType is illegal.', 'description' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], + ['errorCode' => 'PRODUCT.NOT_AVAILABLE_IZ', 'errorMessage' => 'The Instance zone id doesn t support', 'description' => '实例可用区ID不支持。'], + ['errorCode' => 'PRICE.INQUIRY_FAILED', 'errorMessage' => 'The instance pricing inquiry is failed.', 'description' => '实例定价查询失败。'], + ['errorCode' => 'AssociateIpFail', 'errorMessage' => 'The instance associating ip is failed.', 'description' => ''], + ['errorCode' => 'SDK.ServerUnreachable', 'errorMessage' => 'Service is unreachable.', 'description' => '暂时无法访问服务,请稍后重试。'], + ['errorCode' => 'OverQuota', 'errorMessage' => 'The Total is over the quota', 'description' => '总数超过了限额,请您减少数量后再重试。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'SubnetIpExhaust', 'errorMessage' => 'No subnet IP addresses are available.', 'description' => '没有可用的子网ip'], + ['errorCode' => 'BeforePayRuleBatchValidateError', 'errorMessage' => 'The pre-payment rule center instance rule validation failed. Please check if the instance limit has been reached.', 'description' => '支付前规则中心实例规则校验不通过,请检查是否到达实例限制。'], + ['errorCode' => 'TradeSyncCreateSubError', 'errorMessage' => 'Subscription transfer failed.', 'description' => '转订购失败,请稍后重试。'], + ['errorCode' => 'QueryOrderError', 'errorMessage' => 'Failed to query the order. Please try again later.', 'description' => '查询订单失败,请稍后重试。'], + ['errorCode' => 'CreateOrderTimeout', 'errorMessage' => 'Order creation timed out. Please try again later.', 'description' => '创建订单超时,请稍后重试。'], + ['errorCode' => 'MultiGrayKeyResourceInconsist', 'errorMessage' => 'The identifier for the gray resource is set incorrectly.', 'description' => '灰度资源的标识设置错误。'], + ['errorCode' => 'InsufficientAvailableQuota', 'errorMessage' => 'Your account available balance is less than 0. Please recharge before attempting to make a purchase.', 'description' => '您的账户可用额度小于0,请先充值后再尝试购买。'], + ['errorCode' => 'Forbidden.AliGroupForbiddenRegion', 'errorMessage' => 'Thre region is forbidden for aligroup user.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', + ['errorCode' => 'SecurityRisk.AuthVerification', 'errorMessage' => 'We have detected a security risk with your payment method. Please proceed with verification via the link in your email or console message and re-submit your order after verification.', 'description' => '系统检测到您的支付方式存在风险,请通过邮件或站内信中的链接完成验证。验证完成后重新下单。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建传统型负载均衡实例', + 'summary' => '创建负载均衡实例。', + 'description' => '<props="china">'."\n" + ."\n" + .'> - CLB包年包月实例2024年12月01日00:00:00起停止新购。详细信息请参见[传统型负载均衡CLB包年包月停售公告](~~2839979~~)。'."\n" + .'> - 实例创建前,请调用[DescribeAvailableResource](~~117645~~)查询可用区支持的资源售卖情况。'."\n" + .'> - 实例创建后,会产生费用。'."\n" + .'> - 按量付费模式支持创建按使用量计费实例和按规格计费实例。'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'> - 实例创建前,请调用[DescribeAvailableResource](~~117645~~)查询可用区支持的资源售卖情况。'."\n" + .'> - 实例创建后,会产生费用。'."\n" + .'> - 按量付费模式只支持创建按使用量计费实例,按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" + ."\n" + .'</props>', + 'changeSet' => [ + ['createdAt' => '2024-12-19T06:34:28.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-12-16T06:03:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-01-26T09:46:02.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-26T08:59:34.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-06-06T09:06:04.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-06-06T06:27:11.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-15T08:18:11.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2021-12-15T08:18:11.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancer'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancer', + 'authLevel' => 'operate', + 'actionConditions' => [ + ['conditionKey' => 'slb:AddressType', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-25dvzy9f8****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"value\\"\\n }\\n ]\\n },\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"CreateTime\\": \\"2017-08-31T02:49:05Z\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa08ex****\\",\\n \\"PayType\\": \\"PayOnDemand\\",\\n \\"AddressType\\": \\"internet\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"RenewalCycUnit\\": \\"Month\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Bandwidth\\": 5,\\n \\"LoadBalancerName\\": \\"lb-instance-test\\",\\n \\"Address\\": \\"42.XX.XX.6\\",\\n \\"SlaveZoneId\\": \\"cn-hangzhou-d\\",\\n \\"EndTimeStamp\\": 3249380160000,\\n \\"MasterZoneId\\": \\"cn-hangzhou-b\\",\\n \\"LoadBalancerSpec\\": \\"slb.s1.small\\",\\n \\"AutoReleaseTime\\": 1513947075000,\\n \\"ModificationProtectionReason\\": \\"实例业务保障期\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ModificationProtectionStatus\\": \\"ConsoleProtection\\",\\n \\"EndTime\\": \\"2022-09-08T16:00:00Z\\",\\n \\"VSwitchId\\": \\"vsw-255ecrwq5****\\",\\n \\"LoadBalancerStatus\\": \\"active\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"InternetChargeType\\": \\"paybytraffic\\",\\n \\"DeleteProtection\\": \\"off\\",\\n \\"RegionIdAlias\\": \\"cn-hangzhou\\",\\n \\"RenewalStatus\\": \\"AutoRenewal\\",\\n \\"RenewalDuration\\": 1,\\n \\"ListenerPorts\\": {\\n \\"ListenerPort\\": [\\n 80\\n ]\\n },\\n \\"ListenerPortsAndProtocal\\": {\\n \\"ListenerPortAndProtocal\\": [\\n {\\n \\"ListenerProtocal\\": \\"http\\",\\n \\"ListenerPort\\": 443\\n }\\n ]\\n },\\n \\"ListenerPortsAndProtocol\\": {\\n \\"ListenerPortAndProtocol\\": [\\n {\\n \\"ListenerPort\\": 80,\\n \\"ListenerProtocol\\": \\"https\\",\\n \\"ListenerForward\\": \\"on\\",\\n \\"Description\\": \\"监听描述\\",\\n \\"ForwardPort\\": 443\\n }\\n ]\\n },\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 90,\\n \\"Description\\": \\"用来接收转发请求的后端服务器\\",\\n \\"ServerIp\\": \\"192.XX.XX.11\\",\\n \\"ServerId\\": \\"i-2zej4lxhjoq1icu*****\\"\\n }\\n ]\\n },\\n \\"InstanceChargeType\\": \\"PayBySpec\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerAttributeResponse>\\n <VpcId>vpc-25dvzy9f8****</VpcId>\\n <Tags>\\n <TagKey>test</TagKey>\\n <TagValue>value</TagValue>\\n </Tags>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <CreateTime>2017-08-31T02:49:05Z</CreateTime>\\n <LoadBalancerId>lb-bp1b6c719dfa08ex****</LoadBalancerId>\\n <PayType>PayOnDemand</PayType>\\n <AddressType>internet</AddressType>\\n <NetworkType>vpc</NetworkType>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <RenewalCycUnit>Month</RenewalCycUnit>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Bandwidth>5</Bandwidth>\\n <LoadBalancerName>lb-instance-test</LoadBalancerName>\\n <Address>42.XX.XX.6</Address>\\n <SlaveZoneId>cn-hangzhou-d</SlaveZoneId>\\n <EndTimeStamp>32493801600000</EndTimeStamp>\\n <MasterZoneId>cn-hangzhou-b</MasterZoneId>\\n <LoadBalancerSpec>slb.s1.small</LoadBalancerSpec>\\n <AutoReleaseTime>1513947075000</AutoReleaseTime>\\n <ModificationProtectionReason>实例业务保障期</ModificationProtectionReason>\\n <RegionId>cn-hangzhou</RegionId>\\n <ModificationProtectionStatus>ConsoleProtection</ModificationProtectionStatus>\\n <EndTime>2022-09-08T16:00:00Z</EndTime>\\n <VSwitchId>vsw-255ecrwq5****</VSwitchId>\\n <LoadBalancerStatus>active</LoadBalancerStatus>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <InternetChargeType>paybytraffic</InternetChargeType>\\n <DeleteProtection>off</DeleteProtection>\\n <RegionIdAlias>hangzhou</RegionIdAlias>\\n <RenewalStatus>AutoRenewal</RenewalStatus>\\n <RenewalDuration>1</RenewalDuration>\\n <ListenerPorts>80</ListenerPorts>\\n <ListenerPortsAndProtocal>\\n <ListenerProtocal>http</ListenerProtocal>\\n <ListenerPort>443</ListenerPort>\\n </ListenerPortsAndProtocal>\\n <ListenerPortsAndProtocol>\\n <ListenerPort>80</ListenerPort>\\n <ListenerProtocol>https</ListenerProtocol>\\n <ListenerForward>on</ListenerForward>\\n <Description>监听描述</Description>\\n <ForwardPort>443</ForwardPort>\\n </ListenerPortsAndProtocol>\\n <BackendServers>\\n <Type>ecs</Type>\\n <Weight>90</Weight>\\n <Description>用来接收转发请求的后端服务器</Description>\\n <ServerIp>192.XX.XX.11</ServerIp>\\n <ServerId>i-2zej4lxhjoq1icu*****</ServerId>\\n </BackendServers>\\n <InstanceChargeType>PayBySpec</InstanceChargeType>\\n</DescribeLoadBalancerAttributeResponse>","errorExample":""}]', - 'title' => '查询指定负载均衡实例的详细信息', - 'summary' => '查询指定负载均衡实例的详细信息。', - 'description' => '> 如果后端服务器设置在虚拟服务器组下面,请调用[DescribeVServerGroupAttribute](~~35224~~)查询。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-25dvzy9****\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"VSwitchId\\": \\"vsw-255ecr****\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"LoadBalancerName\\": \\"lb-bp1o94dp5i6ea****\\",\\n \\"LoadBalancerId\\": \\"lb-hddhfjg****\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rto****\\",\\n \\"Address\\": \\"42.XX.XX.6\\",\\n \\"NetworkType\\": \\"classic\\",\\n \\"OrderId\\": 0\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerResponse>\\n <VpcId>vpc-25dvzy9****</VpcId>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <VSwitchId>vsw-255ecr****</VSwitchId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <LoadBalancerName>lb-bp1o94dp5i6ea****</LoadBalancerName>\\n <LoadBalancerId>lb-hddhfjg****</LoadBalancerId>\\n <ResourceGroupId>rg-atstuj3rto****</ResourceGroupId>\\n <Address>42.XX.XX.6</Address>\\n <NetworkType>classic</NetworkType>\\n</CreateLoadBalancerResponse>","errorExample":""}]', ], - 'DescribeLoadBalancers' => [ - 'summary' => '查询已创建的负载均衡实例。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateLoadBalancerHTTPListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '88581', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '88525', + 'abilityTreeNodes' => ['FEATUREslbPXBZ65'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~2401682~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~27584~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ServerId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '添加的后端服务器ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-2zebcbq******', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1c9vixxjh92q83tw*****'], ], [ - 'name' => 'AddressIPVersion', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'IP版本,可以设置为**ipv4**或者**ipv6**。', - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - ], + 'schema' => ['description' => '监听的带宽峰值,单位:Mbps。取值:'."\n" + ."\n" + .'<props="intl">**-1**:不限制带宽峰值。</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **-1**:不限制带宽峰值。'."\n" + ."\n" + .'- **1**~**5120**:监听的带宽峰值,所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n" + ."\n" + .'</props>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'default' => '-1'], ], [ - 'name' => 'LoadBalancerStatus', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '实例状态。取值:'."\n" - ."\n" - .'- **inactive**: 实例已停止,此状态的实例监听不会再转发流量。'."\n" - ."\n" - .'- **active**: 实例运行中,实例创建后,默认状态为**active**。'."\n" - ."\n" - .'- **locked**: 实例已锁定。当负载均衡实例到期后,但到期时间未超过7天时,负载均衡实例进入锁定状态。此种状态下,您不能对负载均衡实例进行任何操作,并且实例不再会进行流量转发,但会保留实例的IP和其它配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'active', - ], + 'schema' => ['description' => '实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。'."\n" - ."\n" - .'支持多值查询,最多可输入10个ID,以半角逗号(,)分隔。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1b6c719dfa****', - ], + 'schema' => ['description' => '实例后端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。'."\n" + ."\n" + .'> 如果不使用虚拟服务器组(不指定VServerGroupId参数),则该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'LoadBalancerName', + 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例名称。'."\n" - ."\n" - .'长度为1~80个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" - ."\n" - .'支持多值查询,最多可输入10个名称,以半角逗号(,)分隔。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '是否开启通过`X-Forwarded-For`头字段获取来访客户端IP。取值:'."\n" + .'- **on**(默认值):是。'."\n" + .'- **off**:否。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'on'], ], [ - 'name' => 'ServerIntranetAddress', + 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => '添加的后端服务器的内网地址。'."\n" - ."\n" - .'支持多值查询,以半角逗号(,)分隔。', - 'type' => 'string', - 'required' => false, - 'example' => '10.XX.XX.102', - ], + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**(默认值):权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'default' => 'wrr'], ], [ - 'name' => 'AddressType', + 'name' => 'StickySession', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的网络类型。取值:'."\n" - ."\n" - .'* **internet**:创建公网负载均衡实例后,系统会分配一个公网IP地址,可以转发公网请求。'."\n" - ."\n" - .'* **intranet**:创建内网负载均衡实例后,系统会分配一个内网IP地址,仅可转发内网请求。', - 'type' => 'string', - 'required' => false, - 'example' => 'intranet', - ], + 'schema' => ['description' => '是否开启会话保持。取值:'."\n" + ."\n" + .'- **on**:是。'."\n" + ."\n" + .'- **off**(默认值):否。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'off', 'default' => 'off'], ], [ - 'name' => 'InternetChargeType', + 'name' => 'StickySessionType', 'in' => 'query', - 'schema' => [ - 'description' => '公网计费方式。取值:'."\n" - .'- **paybybandwidth**:按带宽计费。'."\n" - ."\n" - .'- **paybytraffic**:按流量计费。'."\n" - ."\n" - .'<props="china">当**PayType**参数的值为**PrePay**时,只支持按带宽计费。当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按流量计费。</props>'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'paybytraffic', - ], + 'schema' => ['description' => 'Cookie处理方式。取值:'."\n" + ."\n" + .'- **insert**:植入Cookie。'."\n" + ."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie,下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'- **server**:重写Cookie。'."\n" + ."\n" + .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'> 当**StickySession**值为**on**时,必须指定该参数。', 'type' => 'string', 'required' => false, 'example' => 'insert'], ], [ - 'name' => 'VpcId', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '传统型负载均衡实例所属的VPC ID。', - 'type' => 'string', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'vpc-bp1aevy8sof****', + 'maxItems' => 20, ], ], [ - 'name' => 'VSwitchId', + 'name' => 'CookieTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所属的交换机ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3****', - ], + 'schema' => ['description' => 'Cookie超时时间。单位:秒。'."\n" + ."\n" + .'取值:**1**~**86400**。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500'], ], [ - 'name' => 'NetworkType', + 'name' => 'Cookie', 'in' => 'query', - 'schema' => [ - 'description' => '私网实例的网络类型。取值:'."\n" - ."\n" - .'- **vpc**:专有网络类型。 '."\n" - ."\n" - .'- **classic**:经典网络类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc', - ], + 'schema' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" + ."\n" + .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'testCookie'], ], [ - 'name' => 'Address', + 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的服务地址。', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**:开启健康检查。'."\n" + ."\n" + .'- **off**:不开启健康检查。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'on'], ], [ - 'name' => 'MasterZoneId', + 'name' => 'HealthCheckMethod', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的主可用区ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" + ."\n" + .'> **HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => 'get'], ], [ - 'name' => 'SlaveZoneId', + 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的备可用区ID。'."\n" - ."\n" - .'目前对金融云用户暂时不支持多可用区功能。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-d', - ], + 'schema' => ['description' => '用于健康检查的域名,取值:'."\n" + ."\n" + .'- **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'- **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => '172.16.*.*/12'], ], [ - 'name' => 'Tags', + 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。'."\n" - ."\n" - .'一次请求中,绑定的标签列表中最多支持10个标签。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', - ], + 'schema' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'长度限制为1~80个字符,只能使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)这些字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => '/test/index.html'], ], [ - 'name' => 'PayType', + 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例付费模式。取值:'."\n" - ."\n" - .'* **PayOnDemand**:按量付费。'."\n" - ."\n" - .'<props="china">- **PrePay**:包年包月。</props>', - 'type' => 'string', - 'required' => false, - 'example' => 'PayOnDemand', - ], + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4p****', - ], + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], ], [ - 'name' => 'PageNumber', + 'name' => 'HealthCheckTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时的页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" + ."\n" + .'取值:**1**~**300**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3'], ], [ - 'name' => 'PageSize', + 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时设置的每页行数。'."\n" - ."\n" - .'取值范围:**1**~**100**。'."\n" - ."\n" - .'> 如果设置了**PageSize**,则需要同时设置**PageNumber**。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => '健康检查的后端服务器的端口。'."\n" + ."\n" + .'取值: **1**~**65535**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '80'], ], [ - 'name' => 'Tag', + 'name' => 'HealthCheckInterval', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', - ], - 'PageNumber' => [ - 'description' => '实例列表页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '当前分页的行数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => '根据过滤条件得到的实例总个数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LoadBalancers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancer' => [ - 'description' => '数组格式,返回负载均衡实例列表。', - 'type' => 'array', - 'items' => [ - 'description' => '数组格式,返回负载均衡实例列表。'."\n" - ."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => '私网负载均衡实例的专有网络ID。', - 'type' => 'string', - 'example' => 'vpc-25dvzy9f8****', - ], - 'CreateTimeStamp' => [ - 'description' => '实例创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'LoadBalancerId' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa****', - ], - 'CreateTime' => [ - 'description' => '实例创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2021-12-02T02:49:05Z', - ], - 'PayType' => [ - 'description' => '负载均衡实例付费模式,取值:'."\n" - ."\n" - .'* **PayOnDemand**:按量付费。'."\n" - ."\n" - .'<props="china">- **PrePay**:包年包月。</props>', - 'type' => 'string', - 'example' => 'PayOnDemand', - ], - 'AddressType' => [ - 'description' => '实例的网络类型。取值:'."\n" - ."\n" - .'* **internet**:创建公网负载均衡实例后,系统会分配一个公网IP地址,可以转发公网请求。'."\n" - ."\n" - .'* **intranet**:创建内网负载均衡实例后,系统会分配一个内网IP地址,仅可转发内网请求。', - 'type' => 'string', - 'example' => 'intranet', - ], - 'NetworkType' => [ - 'description' => '私网负载均衡实例的网络类型,取值:'."\n" - ."\n" - .'* **vpc**:专有网络类型。'."\n" - ."\n" - .'* **classic**:经典网络类型。', - 'type' => 'string', - 'example' => 'vpc', - ], - 'AddressIPVersion' => [ - 'description' => 'IP版本,可以设置为**ipv4**或者**ipv6**。', - 'type' => 'string', - 'example' => 'ipv4', - ], - 'LoadBalancerName' => [ - 'description' => '负载均衡实例的名称。', - 'type' => 'string', - 'example' => 'lb-bp1o94dp5i6ea****', - ], - 'Bandwidth' => [ - 'description' => '监听的带宽峰值,单位:Mbps。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'Address' => [ - 'description' => '负载均衡实例服务地址。 ', - 'type' => 'string', - 'example' => '100.XX.XX.28', - ], - 'SlaveZoneId' => [ - 'description' => '实例的备可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-d', - ], - 'MasterZoneId' => [ - 'description' => '实例的主可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'InternetChargeTypeAlias' => [ - 'description' => '公网计费方式。取值:'."\n" - ."\n" - .'- **paybybandwidth**:按带宽计费。'."\n" - ."\n" - .'- **paybytraffic**:按流量计费'."\n" - ."\n" - .'<props="china">当**PayType**参数的值为**PrePay**时,只支持按带宽计费。当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按流量计费。</props>', - 'type' => 'string', - 'example' => 'paybybandwidth', - ], - 'LoadBalancerSpec' => [ - 'description' => '负载均衡实例的性能规格。'."\n" - .'> 按流量计费的实例无性能规格属性,默认返回 **slb.lcu.elastic**。', - 'type' => 'string', - 'example' => 'slb.s1.small', - ], - 'RegionId' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ModificationProtectionReason' => [ - 'description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" - ."\n" - .'> 仅在`ModificationProtectionStatus`为**ConsoleProtection**时有效。', - 'type' => 'string', - 'example' => 'ManagedInstance', - ], - 'ModificationProtectionStatus' => [ - 'description' => '负载均衡修改保护状态:'."\n" - ."\n" - .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的`ModificationProtectionReason`。'."\n" - ."\n" - .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" - ."\n" - .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。'."\n", - 'type' => 'string', - 'example' => 'ConsoleProtection', - ], - 'VSwitchId' => [ - 'description' => '私网负载均衡实例的交换机ID。', - 'type' => 'string', - 'example' => 'vsw-255ecr****', - ], - 'LoadBalancerStatus' => [ - 'description' => '负载均衡实例状态。取值:'."\n" - ."\n" - .'* **inactive**:实例已停止,此状态的实例监听不会再转发流量。'."\n" - ."\n" - .'* **active**:实例运行中,实例创建后,默认状态为**active**。'."\n" - ."\n" - .'* **locked**:实例已锁定,实例已经被锁定。', - 'type' => 'string', - 'example' => 'active', - ], - 'ResourceGroupId' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3r****', - ], - 'InternetChargeType' => [ - 'description' => '公网类型实例付费方式。取值:'."\n" - .'- **3**:按带宽计费(**paybybandwidth**)。'."\n" - ."\n" - .'- **4**:按流量计费(**paybytraffic**)。'."\n" - ."\n" - .'<props="china">当**PayType**参数的值为**PrePay**时,只支持按带宽计费。当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按流量计费。</props>'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'DeleteProtection' => [ - 'description' => '负载均衡删除保护状态。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:关闭。', - 'type' => 'string', - 'example' => 'off', - ], - 'RegionIdAlias' => [ - 'description' => '传统型负载均衡实例的地域名称。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签列表', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'testvalue', - ], - 'TagKey' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'testkey', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值: **1**~**50**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidTag', - 'errorMessage' => 'The specified tags is invalid.', - ], - [ - 'errorCode' => 'TooManyResult', - 'errorMessage' => 'fuzzy query retrieve too many instances.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LoadBalancers\\": {\\n \\"LoadBalancer\\": [\\n {\\n \\"VpcId\\": \\"vpc-25dvzy9f8****\\",\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa****\\",\\n \\"CreateTime\\": \\"2021-12-02T02:49:05Z\\",\\n \\"PayType\\": \\"PayOnDemand\\",\\n \\"AddressType\\": \\"intranet\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"LoadBalancerName\\": \\"lb-bp1o94dp5i6ea****\\",\\n \\"Bandwidth\\": -1,\\n \\"Address\\": \\"100.XX.XX.28\\",\\n \\"SlaveZoneId\\": \\"cn-hangzhou-d\\",\\n \\"MasterZoneId\\": \\"cn-hangzhou-b\\",\\n \\"InternetChargeTypeAlias\\": \\"paybybandwidth\\",\\n \\"LoadBalancerSpec\\": \\"slb.s1.small\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ModificationProtectionReason\\": \\"ManagedInstance\\",\\n \\"ModificationProtectionStatus\\": \\"ConsoleProtection\\",\\n \\"VSwitchId\\": \\"vsw-255ecr****\\",\\n \\"LoadBalancerStatus\\": \\"active\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3r****\\",\\n \\"InternetChargeType\\": \\"3\\",\\n \\"DeleteProtection\\": \\"off\\",\\n \\"RegionIdAlias\\": \\"cn-hangzhou\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ]\\n },\\n \\"InstanceChargeType\\": \\"PayBySpec\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancersResponse>\\n <RequestId>8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <TotalCount>1</TotalCount>\\n <LoadBalancers>\\n <VpcId>vpc-25dvzy9f8****</VpcId>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <LoadBalancerId>lb-bp1b6c719dfa****</LoadBalancerId>\\n <CreateTime>2021-12-02T02:49:05Z</CreateTime>\\n <PayType>PayOnDemand</PayType>\\n <AddressType>intranet</AddressType>\\n <NetworkType>vpc</NetworkType>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <LoadBalancerName>lb-bp1o94dp5i6ea****</LoadBalancerName>\\n <Bandwidth>-1</Bandwidth>\\n <Address>100.XX.XX.28</Address>\\n <SlaveZoneId>cn-hangzhou-d</SlaveZoneId>\\n <MasterZoneId>cn-hangzhou-b</MasterZoneId>\\n <InternetChargeTypeAlias>paybybandwidth</InternetChargeTypeAlias>\\n <LoadBalancerSpec>slb.s1.small</LoadBalancerSpec>\\n <RegionId>cn-hangzhou</RegionId>\\n <ModificationProtectionReason>托管实例</ModificationProtectionReason>\\n <ModificationProtectionStatus>ConsoleProtection</ModificationProtectionStatus>\\n <VSwitchId>vsw-255ecr****</VSwitchId>\\n <LoadBalancerStatus>active</LoadBalancerStatus>\\n <ResourceGroupId>rg-atstuj3r****</ResourceGroupId>\\n <InternetChargeType>3</InternetChargeType>\\n <DeleteProtection>off</DeleteProtection>\\n <RegionIdAlias>hangzhou</RegionIdAlias>\\n <Tags>\\n <TagValue>FinanceJoshua</TagValue>\\n <TagKey>FinanceDept</TagKey>\\n </Tags>\\n <InstanceChargeType>PayBySpec</InstanceChargeType>\\n </LoadBalancers>\\n</DescribeLoadBalancersResponse>","errorExample":""}]', - 'title' => '查询已创建的负载均衡实例', - ], - 'DeleteLoadBalancerListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。'."\n" + ."\n" + .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**或**http\\_5xx**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => 'http_2xx'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n" - ."\n\n" - .'> 当您所选地域的Endpoint(服务地址)为slb.aliyuncs.com时,**RegionId**必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j*****'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'XForwardedFor_SLBIP', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp13jaf5qli5xmgl1miup', - ], + 'schema' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**(默认值):否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], [ - 'name' => 'ListenerPort', + 'name' => 'XForwardedFor_SLBID', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1~65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**(默认值):否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'XForwardedFor_proto', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的协议。'."\n" - ."\n" - .'> 相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**(默认值):否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ListenerForwardExist', - 'errorMessage' => 'The specified listener is forwarded by the other listener, the ListenerForward relationship should be deleted firstly.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The specified listener is not allowed to operate.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.Listener', - 'errorMessage' => 'The specified listener is not found.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteLoadBalancerListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</DeleteLoadBalancerListenerResponse>","errorExample":""}]', - 'title' => '删除监听', - 'summary' => '删除监听。', - 'description' => '> 只有当监听的状态为**stopped**或者**running**时,才可以删除。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StartLoadBalancerListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => ['description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" + .'- **on**(默认值):是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'on'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jw******'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp13jaf5qli5*********', - ], + 'schema' => ['description' => '访问控制类型。取值:'."\n" + ."\n" + .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + .' '."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'>当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ - 'name' => 'ListenerPort', + 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1-65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**(默认值):否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - ."\n" - .'> 相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'HTTP_443'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Operation.Deny', - 'errorMessage' => 'The specified listener is configuring, please try again later.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The specified listener is not allowed to operate.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], + [ + 'name' => 'ListenerForward', + 'in' => 'query', + 'schema' => ['description' => '是否开启HTTP至HTTPS的转发。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**(默认值):否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '启动监听', - 'summary' => '启动监听。', - 'description' => '在调用该接口时,注意:'."\n" - ."\n" - .'* 监听状态必须为stopped时,才可以调用该接口。'."\n" - ."\n" - .'* 接口调用成功后,监听进入starting状态。'."\n" - ."\n" - .'* 当监听所属负载均衡实例的状态为locked时,调用此接口会失败。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StopLoadBalancerListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ForwardPort', + 'in' => 'query', + 'schema' => ['description' => 'HTTP至HTTPS的监听转发端口。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '443'], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'IdleTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '指定连接空闲超时时间。单位:秒。'."\n" + ."\n" + .'默认值为**15**,取值范围:**1**~**60**。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '3'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'RequestTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp13jaf5qli5xmgl1miup', - ], + 'schema' => ['description' => '指定请求超时时间。单位:秒。'."\n" + ."\n" + .'默认值为**60**,取值范围为**1**~**180**。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回` HTTP 504 `错误码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '6'], ], [ - 'name' => 'ListenerPort', + 'name' => 'XForwardedFor_SLBPORT', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1-65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'XForwardedFor_ClientSrcPort', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - ."\n" - .'> 相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], ], 'responses' => [ @@ -3817,140 +1693,145 @@ 'schema' => [ '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'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The specified listener is not allowed to operate.', - ], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified ListenerPort or ForwardPort is invalid.', 'description' => '指定的ListenerPort or ForwardPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => 'Ipv6负载均衡实例不支持X-Forward-For。'], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => '指定的IdleTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => '指定的RequestTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ListenerProcessing', 'errorMessage' => 'A previous configuration of the listener is pending,please try again later.', 'description' => '当前监听正在配置中,请稍后重试。'], + ['errorCode' => 'InvalidParameter.ListenerPortConflict', 'errorMessage' => 'There is conflict listener port exists.', 'description' => '指定的监听端口已存在。'], + ['errorCode' => 'ResourceNotAvailible.HttpListener', 'errorMessage' => 'The specified Zone did not have enough resource.', 'description' => '指定可用区资源不足。'], + ['errorCode' => 'AclNotExist', 'errorMessage' => 'Acl does not exist.', 'description' => '指定的Acl不存在。'], + ['errorCode' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', 'errorMessage' => 'The slb instance does not support create HTTP or HTTPS listener.', 'description' => '当前负载均衡实例不支持创建HTTP或者HTTPS类型的监听。'], + ['errorCode' => 'InvalidParameter.VServerGroupId', 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'description' => 'HTTP或HTTPS监听不支持挂载主备服务器组。'], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => '参数HealthCheckDomain缺失。'], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => '指定的HealthCheckHttpVersion无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'OperationFailed.InsufficientResources', 'errorMessage' => 'The loadbalancer does not support this operation because of insufficient resources.', 'description' => '操作失败,原因是由于资源不足,负载均衡器不支持此操作。'], + ['errorCode' => 'InvalidParameter.ForwardCode', 'errorMessage' => 'The specified ForwardCode is invalid.', 'description' => '指定的ForwardCode无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'LbNotSupportTcpssl', 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'description' => '指定的实例不支持创建tcpssl类型的监听。'], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => '指定的实例只支持创建tcpssl类型的监听。'], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => '指定的监听不支持创建转发规则。'], + ['errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'description' => '实例规格类型和监听类型不匹配。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '停止监听', - 'summary' => '停止监听。', - 'description' => '在调用该接口时,注意:'."\n" + 'title' => '创建HTTP监听', + 'summary' => '创建HTTP监听。', + 'description' => '### 注意事项'."\n" ."\n" - .'- 接口调用成功后,监听进入stopped状态。'."\n" + .' 新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~27597~~)接口启动监听来转发流量。'."\n" ."\n" - .'- 当监听所属负载均衡实例的状态为locked时,调用此接口会失败。'."\n" + .'### 前提条件'."\n" ."\n" - .'> 停止监听会使访问中断,请谨慎操作。', + .'您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerListeners' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-12-25T07:27:31.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerHTTPListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerHTTPListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</CreateLoadBalancerHTTPListenerResponse>","errorExample":""}]', + ], + 'CreateLoadBalancerHTTPSListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88579', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '88526', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" - ."\n" - .'> 当您所选地域的Endpoint(服务地址)为slb.aliyuncs.com时,`RegionId`必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'NextToken', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', - 'type' => 'string', - 'required' => false, - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6earr****'], ], [ - 'name' => 'MaxResults', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => '分批次查询时每次显示的条目数。'."\n" - ."\n" - .'取值范围:**1**~**100**,入参为空时,默认值:**20**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '101', - 'minimum' => '0', - 'example' => '50', - 'default' => '20', - ], + 'schema' => ['description' => '监听的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'取值范围:'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **1**~**5120**: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n" + .'</props>', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡监听协议。取值:'."\n" - .'- **tcp**'."\n" - .'- **udp**'."\n" - .'- **http**'."\n" - .'- **https**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http', - ], + 'schema' => ['description' => '实例前端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'BackendServerPort', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID列表,最多支持10个实例ID。'."\n" - ."\n\n" - .'> 非SDK调用,请使用LoadBalancerId.N形式添加参数。', - 'type' => 'array', - 'items' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-uf6so8u4g35prnvsw****', - ], - 'required' => false, - 'example' => 'lb-123wrwer', - 'maxItems' => 11, - ], + 'schema' => ['description' => '实例后端使用的端口,取值范围:**1**~**65535**。'."\n" + ."\n" + .'如果不使用服务器组(不指定VServerGroupId),则该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ 'name' => 'Tag', @@ -3964,21 +1845,8 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, ], @@ -3987,1328 +1855,303 @@ ], ], [ - 'name' => 'ListenerPort', + 'name' => 'XForwardedFor', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'CLB实例使用的监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '443', - ], + 'schema' => ['description' => '是否通过`X-Forwarded-For`获取来访者客户端IP。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'on'], ], [ - 'name' => 'Description', + 'name' => 'Scheduler', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '自定义监听名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS_443', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'TotalCount' => [ - 'description' => '本次请求条件下的数据总量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxResults' => [ - 'description' => '分批次查询时每次显示的条目数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'Listeners' => [ - 'description' => '返回传统型负载均衡的监听列表。'."\n" - ."\n" - .'> 实例未配置监听时,不会返回该参数。', - 'type' => 'array', - 'items' => [ - 'description' => '返回传统型负载均衡的监听列表。'."\n" - ."\n" - .'> 实例未配置监听时,不会返回该参数。', - 'type' => 'object', - 'properties' => [ - 'AclType' => [ - 'description' => '访问控制类型。取值:'."\n" - ."\n" - .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - ."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。', - 'type' => 'string', - 'example' => 'white', - ], - 'Status' => [ - 'description' => '监听的状态。取值:'."\n" - ."\n" - .'- **running**:表示监听正常运行。'."\n" - ."\n" - .'- **stopped**:表示监听运行停止。', - 'type' => 'string', - 'example' => 'running', - ], - 'VServerGroupId' => [ - 'description' => '监听绑定的虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'ListenerProtocol' => [ - 'description' => '传统型负载均衡监听协议。', - 'type' => 'string', - 'example' => 'http', - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa****', - ], - 'ListenerPort' => [ - 'description' => '监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'AclId' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'example' => 'acl-a2do9e413e0spzasx****', - ], - 'Scheduler' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'- **sch**:基于源 IP 地址的一致性 hash,相同的源地址会调度到相同的后端服务器。'."\n" - .'- **tch**:基于四元组的一致性 hash(源 IP+目的 IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" - .'- **qch**:基于 QUIC Connection ID 一致性 hash,相同的 QUIC Connection ID 会调度到相同的后端服务器。'."\n" - ."\n" - .'> 仅性能保障型实例支持 **sch**、**tch** 和 **qch** 一致性 hash 算法。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'Bandwidth' => [ - 'description' => '监听的带宽峰值。单位:Mbps。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'Description' => [ - 'description' => '监听描述。', - 'type' => 'string', - 'example' => 'test', - ], - 'AclStatus' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'BackendServerPort' => [ - 'description' => '后端服务器的端口。'."\n" - ."\n" - .'> `VServerGroupId`和`MasterSlaveServerGroupId`均为空时,此参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'AclIds' => [ - 'description' => '访问控制策略组ID列表。', - 'type' => 'array', - ], - 'HTTPListenerConfig' => [ - 'description' => 'HTTP监听配置。', - 'type' => 'object', - 'properties' => [ - 'HealthCheckHttpVersion' => [ - 'description' => '健康检查HTTP协议版本。', - 'type' => 'string', - 'example' => 'HTTP 1.0', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - ."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'Cookie' => [ - 'description' => '服务器上配置的Cookie。', - 'type' => 'string', - 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', - ], - 'Gzip' => [ - 'description' => '是否开启Gzip压缩。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的端口。'."\n" - ."\n" - .'> 当**HealthCheck**值为**on**时该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckTimeout' => [ - 'description' => '每次健康检查响应的最大超时间,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckType' => [ - 'description' => '健康检查协议。', - 'type' => 'string', - 'example' => 'tcp', - ], - 'CookieTimeout' => [ - 'description' => 'Cookie超时时间。单位:秒。'."\n" - ."\n" - .'取值:**1**~**86400**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => '健康检查的域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBID' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'ForwardPort' => [ - 'description' => 'HTTP转发至HTTPS的监听端口。'."\n" - ."\n" - .'> 如果**ListenerForward**的值为**off**,该参数不显示。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码。', - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'ListenerForward' => [ - 'description' => '是否开启HTTP至HTTPS监听转发。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor' => [ - 'description' => '是否通过`XForwardedFor`的方式获取来访者真实IP。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'IdleTimeout' => [ - 'description' => '指定连接空闲超时时间。单位:秒。取值范围:**1**~**60**。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立连接。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'RequestTimeout' => [ - 'description' => '指定请求超时时间。单位:秒。取值范围:**1**~**180**。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回`HTTP 504`错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔,单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckURI' => [ - 'description' => '健康检查的URI。', - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'StickySessionType' => [ - 'description' => 'Cookie的处理方式。取值:'."\n" - ."\n" - .'- **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP和HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'- **server**:重写Cookie。负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n", - 'type' => 'string', - 'example' => 'insert', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_proto' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => '是否开启会话保持。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => '健康检查方式。取值:**head**或**get**。', - 'type' => 'string', - 'example' => 'get', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - ], - ], - 'HTTPSListenerConfig' => [ - 'description' => 'HTTPS监听配置。', - 'type' => 'object', - 'properties' => [ - 'XForwardedFor_ClientCertClientVerify' => [ - 'description' => '是否通过`XForwardedFor_ClientCertClientVerify`头字段获取对访问负载均衡实例客户端证书的校验结果。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckHttpVersion' => [ - 'description' => '健康检查HTTP协议版本。', - 'type' => 'string', - 'example' => 'HTTP 1.0', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'Cookie' => [ - 'description' => '服务器上配置的Cookie。', - 'type' => 'string', - 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', - ], - 'Gzip' => [ - 'description' => '是否开启Gzip压缩。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'EnableHttp2' => [ - 'description' => '是否开启`HTTP 2.0`特性。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'CACertificateId' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'example' => 'idkp-234-cn-test-0****', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckTimeout' => [ - 'description' => '每次健康检查响应的最大超时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckType' => [ - 'description' => '健康检查协议。', - 'type' => 'string', - 'example' => 'tcp', - ], - 'CookieTimeout' => [ - 'description' => 'Cookie超时时间。单位:秒。'."\n" - ."\n" - .'取值:**1**~**86400**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => '健康检查的域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBID' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_ClientCertSubjectDN' => [ - 'description' => '是否通过`XForwardedFor_ClientCertSubjectDN`头字段获取访问负载均衡实例客户端证书的所有者信息。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码。', - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'XForwardedFor_ClientCertFingerprint' => [ - 'description' => '是否通过`XForwardedFor_ClientCertFingerprint`头字段获取访问负载均衡实例客户端证书的指纹。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'XForwardedFor' => [ - 'description' => '是否开启通过`XForwardedFor`的方式获取来访者真实IP。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'RequestTimeout' => [ - 'description' => '指定请求超时时间,单位:秒。取值范围:**1**~**180**。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回`HTTP 504`错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeout' => [ - 'description' => '指定连接空闲超时时间。单位:秒。取值范围:**1**~**60**。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立连接。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'ServerCertificateId' => [ - 'description' => '服务器证书的ID。', - 'type' => 'string', - 'example' => 'idkp-123-cn-test-0****', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckURI' => [ - 'description' => '健康检查的URI。', - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'StickySessionType' => [ - 'description' => 'Cookie的处理方式。'."\n" - ."\n" - .'- **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP和HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'- **server**:重写Cookie。负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。', - 'type' => 'string', - 'example' => 'insert', - ], - 'XForwardedFor_ClientCertIssuerDN' => [ - 'description' => '是否通过`XForwardedFor_ClientCertIssuerDN`头字段获取访问负载均衡实例客户端证书的发行者信息。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_proto' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => '是否开启会话保持。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => '健康检查方式。', - 'type' => 'string', - 'example' => 'get', - ], - 'TLSCipherPolicy' => [ - 'description' => '安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_0**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_1**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_2**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict\\_with\\_1\\_3**'."\n" - .' '."\n" - .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" - .' '."\n" - .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', - 'type' => 'string', - 'example' => 'tls_cipher_policy_1_0', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - ], - ], - 'TCPListenerConfig' => [ - 'description' => 'TCP监听配置。', - 'type' => 'object', - 'properties' => [ - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码。', - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'ConnectionDrainTimeout' => [ - 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**10~900**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'PersistenceTimeout' => [ - 'description' => '是否开启了会话保持。单位:秒。'."\n" - ."\n" - .'取值范围:**0**~**3600**。'."\n" - ."\n" - .'取值为**0**时,表示未开启。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckURI' => [ - 'description' => '健康检查的URI。', - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'EstablishedTimeout' => [ - 'description' => '连接超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckType' => [ - 'description' => '健康检查协议。', - 'type' => 'string', - 'example' => 'tcp', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => '健康检查超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**300**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => '监听绑定的主备服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-0bfucw*****', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckDomain' => [ - 'description' => '健康检查的域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ConnectionDrain' => [ - 'description' => '是否开启连接优雅中断。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckMethod' => [ - 'description' => '健康检查方式。', - 'type' => 'string', - 'example' => 'get', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'string', - 'example' => 'false', - ], - ], - ], - 'UDPListenerConfig' => [ - 'description' => 'UDP监听配置。', - 'type' => 'object', - 'properties' => [ - 'ConnectionDrainTimeout' => [ - 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**10~900**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔,单位为秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckExp' => [ - 'description' => 'UDP监听健康检查的响应串。', - 'type' => 'string', - 'example' => 'ok', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => '健康检查响应超时时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => '绑定的主备服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-0bfucw****', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'UnhealthyThreshold' => [ - 'description' => '不健康检查阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ConnectionDrain' => [ - 'description' => '是否开启连接优雅中断。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckReq' => [ - 'description' => 'UDP监听健康检查的请求串。', - 'type' => 'string', - 'example' => 'hello', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是'."\n" - .'- **off**:否', - 'type' => 'string', - 'example' => 'on', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'string', - 'example' => 'false', - ], - ], - ], - 'Tags' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '资源的标签值。', - 'type' => 'string', - 'example' => 'TestValue', - ], - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'TestKey', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'default' => 'wrr'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IllegalParam.ListenerProtocol', - 'errorMessage' => 'The param of ListenerProtocol is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.MaxResults', - 'errorMessage' => 'The param of MaxResults is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.NextToken', - 'errorMessage' => 'The param of NextToken is illegal.', - ], - [ - 'errorCode' => 'IllegalParamSize.LoadBalancerId', - 'errorMessage' => 'The param size of LoadBalancerId is illegal.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param of TagKey is missing.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 50,\\n \\"Listeners\\": [\\n {\\n \\"AclType\\": \\"white\\",\\n \\"Status\\": \\"running\\",\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"ListenerProtocol\\": \\"http\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa****\\",\\n \\"ListenerPort\\": 80,\\n \\"AclId\\": \\"acl-a2do9e413e0spzasx****\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"Bandwidth\\": -1,\\n \\"Description\\": \\"test\\",\\n \\"AclStatus\\": \\"off\\",\\n \\"BackendServerPort\\": 80,\\n \\"AclIds\\": [\\n \\"\\"\\n ],\\n \\"HTTPListenerConfig\\": {\\n \\"HealthCheckHttpVersion\\": \\"HTTP 1.0\\",\\n \\"XForwardedFor_ClientSrcPort\\": \\"on\\",\\n \\"Cookie\\": \\"B490B5EBF6F3CD402E515D22BCDA****\\",\\n \\"Gzip\\": \\"on\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"HealthCheckTimeout\\": 3,\\n \\"HealthCheckType\\": \\"tcp\\",\\n \\"CookieTimeout\\": 500,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"XForwardedFor_SLBID\\": \\"on\\",\\n \\"ForwardPort\\": 80,\\n \\"HealthCheckHttpCode\\": \\"http_2xx,http_3xx\\",\\n \\"ListenerForward\\": \\"on\\",\\n \\"XForwardedFor\\": \\"on\\",\\n \\"IdleTimeout\\": 15,\\n \\"RequestTimeout\\": 60,\\n \\"HealthCheckInterval\\": 5,\\n \\"XForwardedFor_SLBPORT\\": \\"on\\",\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"HealthyThreshold\\": 4,\\n \\"XForwardedFor_proto\\": \\"on\\",\\n \\"XForwardedFor_SLBIP\\": \\"on\\",\\n \\"StickySession\\": \\"on\\",\\n \\"HealthCheckMethod\\": \\"get\\",\\n \\"HealthCheck\\": \\"on\\"\\n },\\n \\"HTTPSListenerConfig\\": {\\n \\"XForwardedFor_ClientCertClientVerify\\": \\"off\\",\\n \\"HealthCheckHttpVersion\\": \\"HTTP 1.0\\",\\n \\"XForwardedFor_ClientSrcPort\\": \\"off\\",\\n \\"Cookie\\": \\"B490B5EBF6F3CD402E515D22BCDA****\\",\\n \\"Gzip\\": \\"on\\",\\n \\"EnableHttp2\\": \\"off\\",\\n \\"CACertificateId\\": \\"idkp-234-cn-test-0****\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"HealthCheckTimeout\\": 3,\\n \\"HealthCheckType\\": \\"tcp\\",\\n \\"CookieTimeout\\": 500,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"XForwardedFor_SLBID\\": \\"on\\",\\n \\"XForwardedFor_ClientCertSubjectDN\\": \\"off\\",\\n \\"HealthCheckHttpCode\\": \\"http_2xx,http_3xx\\",\\n \\"XForwardedFor_ClientCertFingerprint\\": \\"off\\",\\n \\"XForwardedFor\\": \\"on\\",\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 15,\\n \\"ServerCertificateId\\": \\"idkp-123-cn-test-0****\\",\\n \\"HealthCheckInterval\\": 5,\\n \\"XForwardedFor_SLBPORT\\": \\"off\\",\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"XForwardedFor_ClientCertIssuerDN\\": \\"off\\",\\n \\"HealthyThreshold\\": 4,\\n \\"XForwardedFor_proto\\": \\"on\\",\\n \\"XForwardedFor_SLBIP\\": \\"on\\",\\n \\"StickySession\\": \\"on\\",\\n \\"HealthCheckMethod\\": \\"get\\",\\n \\"TLSCipherPolicy\\": \\"tls_cipher_policy_1_0\\",\\n \\"HealthCheck\\": \\"on\\"\\n },\\n \\"TCPListenerConfig\\": {\\n \\"HealthCheckHttpCode\\": \\"http_2xx,http_3xx\\",\\n \\"ConnectionDrainTimeout\\": 300,\\n \\"PersistenceTimeout\\": 0,\\n \\"HealthCheckInterval\\": 5,\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"EstablishedTimeout\\": 500,\\n \\"HealthCheckType\\": \\"tcp\\",\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"MasterSlaveServerGroupId\\": \\"rsp-0bfucw*****\\",\\n \\"HealthyThreshold\\": 4,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"ConnectionDrain\\": \\"off\\",\\n \\"HealthCheckMethod\\": \\"get\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"ProxyProtocolV2Enabled\\": \\"false\\"\\n },\\n \\"UDPListenerConfig\\": {\\n \\"ConnectionDrainTimeout\\": 300,\\n \\"HealthCheckInterval\\": 5,\\n \\"HealthCheckExp\\": \\"ok\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"MasterSlaveServerGroupId\\": \\"rsp-0bfucw****\\",\\n \\"HealthyThreshold\\": 4,\\n \\"UnhealthyThreshold\\": 4,\\n \\"ConnectionDrain\\": \\"off\\",\\n \\"HealthCheckReq\\": \\"hello\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"ProxyProtocolV2Enabled\\": \\"false\\"\\n },\\n \\"Tags\\": [\\n {\\n \\"TagValue\\": \\"TestValue\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerListenersResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <TotalCount>10</TotalCount>\\n <MaxResults>50</MaxResults>\\n <Listeners>\\n <AclType>white</AclType>\\n <Status>running</Status>\\n <VServerGroupId>rsp-cige6j****</VServerGroupId>\\n <ListenerProtocol>http</ListenerProtocol>\\n <LoadBalancerId>lb-bp1b6c719dfa****</LoadBalancerId>\\n <ListenerPort>80</ListenerPort>\\n <AclId>nacl-a2do9e413e0spzasx****</AclId>\\n <Scheduler>wrr</Scheduler>\\n <Bandwidth>-1</Bandwidth>\\n <Description>test</Description>\\n <AclStatus>off</AclStatus>\\n <BackendServerPort>80</BackendServerPort>\\n <HTTPListenerConfig>\\n <HealthCheckHttpVersion>HTTP 1.0</HealthCheckHttpVersion>\\n <XForwardedFor_ClientSrcPort>on</XForwardedFor_ClientSrcPort>\\n <Cookie>B490B5EBF6F3CD402E515D22BCDA****</Cookie>\\n <Gzip>on</Gzip>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <HealthCheckTimeout>3</HealthCheckTimeout>\\n <HealthCheckType>tcp</HealthCheckType>\\n <CookieTimeout>500</CookieTimeout>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <XForwardedFor_SLBID>on</XForwardedFor_SLBID>\\n <ForwardPort>80</ForwardPort>\\n <HealthCheckHttpCode>http_2xx,http_3xx</HealthCheckHttpCode>\\n <ListenerForward>on</ListenerForward>\\n <XForwardedFor>on</XForwardedFor>\\n <IdleTimeout>15</IdleTimeout>\\n <RequestTimeout>60</RequestTimeout>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <XForwardedFor_SLBPORT>on</XForwardedFor_SLBPORT>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <StickySessionType>insert</StickySessionType>\\n <HealthyThreshold>4</HealthyThreshold>\\n <XForwardedFor_proto>on</XForwardedFor_proto>\\n <XForwardedFor_SLBIP>on</XForwardedFor_SLBIP>\\n <StickySession>on</StickySession>\\n <HealthCheckMethod>get</HealthCheckMethod>\\n <HealthCheck>on</HealthCheck>\\n </HTTPListenerConfig>\\n <HTTPSListenerConfig>\\n <XForwardedFor_ClientCertClientVerify>off</XForwardedFor_ClientCertClientVerify>\\n <HealthCheckHttpVersion>HTTP 1.0</HealthCheckHttpVersion>\\n <XForwardedFor_ClientSrcPort>off</XForwardedFor_ClientSrcPort>\\n <Cookie>B490B5EBF6F3CD402E515D22BCDA****</Cookie>\\n <Gzip>on</Gzip>\\n <EnableHttp2>off</EnableHttp2>\\n <CACertificateId>idkp-234-cn-test-0****</CACertificateId>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <HealthCheckTimeout>3</HealthCheckTimeout>\\n <HealthCheckType>tcp</HealthCheckType>\\n <CookieTimeout>500</CookieTimeout>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <XForwardedFor_SLBID>on</XForwardedFor_SLBID>\\n <XForwardedFor_ClientCertSubjectDN>off</XForwardedFor_ClientCertSubjectDN>\\n <HealthCheckHttpCode>http_2xx,http_3xx</HealthCheckHttpCode>\\n <XForwardedFor_ClientCertFingerprint>off</XForwardedFor_ClientCertFingerprint>\\n <XForwardedFor>on</XForwardedFor>\\n <RequestTimeout>60</RequestTimeout>\\n <IdleTimeout>15</IdleTimeout>\\n <ServerCertificateId>idkp-123-cn-test-0****</ServerCertificateId>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <XForwardedFor_SLBPORT>off</XForwardedFor_SLBPORT>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <StickySessionType>insert</StickySessionType>\\n <XForwardedFor_ClientCertIssuerDN>off</XForwardedFor_ClientCertIssuerDN>\\n <HealthyThreshold>4</HealthyThreshold>\\n <XForwardedFor_proto>on</XForwardedFor_proto>\\n <XForwardedFor_SLBIP>on</XForwardedFor_SLBIP>\\n <StickySession>on</StickySession>\\n <HealthCheckMethod>get</HealthCheckMethod>\\n <TLSCipherPolicy>tls_cipher_policy_1_0</TLSCipherPolicy>\\n <HealthCheck>on</HealthCheck>\\n </HTTPSListenerConfig>\\n <TCPListenerConfig>\\n <HealthCheckHttpCode>http_2xx,http_3xx</HealthCheckHttpCode>\\n <ConnectionDrainTimeout>300</ConnectionDrainTimeout>\\n <PersistenceTimeout>0</PersistenceTimeout>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <EstablishedTimeout>500</EstablishedTimeout>\\n <HealthCheckType>tcp</HealthCheckType>\\n <HealthCheckConnectTimeout>100</HealthCheckConnectTimeout>\\n <MasterSlaveServerGroupId>rsp-0bfucw*****</MasterSlaveServerGroupId>\\n <HealthyThreshold>4</HealthyThreshold>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <ConnectionDrain>off</ConnectionDrain>\\n <HealthCheckMethod>get</HealthCheckMethod>\\n <HealthCheck>on</HealthCheck>\\n <ProxyProtocolV2Enabled>false</ProxyProtocolV2Enabled>\\n </TCPListenerConfig>\\n <UDPListenerConfig>\\n <ConnectionDrainTimeout>300</ConnectionDrainTimeout>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <HealthCheckExp>ok</HealthCheckExp>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <HealthCheckConnectTimeout>100</HealthCheckConnectTimeout>\\n <MasterSlaveServerGroupId>rsp-0bfucw****</MasterSlaveServerGroupId>\\n <HealthyThreshold>4</HealthyThreshold>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <ConnectionDrain>off</ConnectionDrain>\\n <HealthCheckReq>hello</HealthCheckReq>\\n <HealthCheck>on</HealthCheck>\\n <ProxyProtocolV2Enabled>false</ProxyProtocolV2Enabled>\\n </UDPListenerConfig>\\n <Tags>\\n <TagValue>TestValue</TagValue>\\n <TagKey>TestKey</TagKey>\\n </Tags>\\n </Listeners>\\n</DescribeLoadBalancerListenersResponse>","errorExample":""}]', - 'title' => '查询负载均衡监听列表', - 'summary' => '查询负载均衡监听列表详情。', - 'description' => '- 您已经创建了传统型负载均衡实例。具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - .'- 您已经为创建的传统型负载均衡实例配置了监听。具体操作,请参见:'."\n" - ."\n" - .' - [CreateLoadBalancerUDPListener](~~27595~~)'."\n" - .' - [CreateLoadBalancerTCPListener](~~27594~~)'."\n" - .' - [CreateLoadBalancerHTTPListener](~~27592~~) '."\n" - .' - [CreateLoadBalancerHTTPSListener](~~27593~~)', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'CreateLoadBalancerTCPListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88528', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', + 'name' => 'StickySession', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['description' => '是否开启会话保持。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'on', 'default' => 'off'], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StickySessionType', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~2401682~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Cookie的处理方式。取值:**insert**或**server**。'."\n" + ."\n" + .'- **insert**:植入Cookie。'."\n" + ."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。 '."\n" + ."\n" + .'- **server**:重写Cookie。'."\n" + ."\n" + .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'> 当**StickySession**的值为**on**时,必须指定该参数。', 'type' => 'string', 'required' => false, 'example' => 'insert '], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'CookieTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex****', - ], + 'schema' => ['description' => 'Cookie超时时间。单位:秒。'."\n" + ."\n" + .'取值:**1**~**86400**。'."\n" + ."\n" + .'>当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500'], ], [ - 'name' => 'ListenerPort', + 'name' => 'Cookie', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" + ."\n" + .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'testCookie'], ], [ - 'name' => 'BackendServerPort', + 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例后端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。'."\n" - ."\n" - .'如果不使用服务器组(不指定**vServerGroupId**),则该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'on'], ], [ - 'name' => 'Tag', + 'name' => 'HealthCheckMethod', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" + ."\n" + .'> **HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => 'get'], ], [ - 'name' => 'Bandwidth', + 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'description' => '监听的带宽峰值,单位:Mbps。取值:'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。'."\n" - ."\n" - .'- **1**~**5120**: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => '用于健康检查的域名。取值:'."\n" + ."\n" + .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + .' '."\n" + .' '."\n" + .'* **domain**:域名长度为1~80个字符,只能包含英文字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.16'], ], [ - 'name' => 'Scheduler', + 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'- **sch**:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。'."\n" - ."\n" - .'- **tch**:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" - ."\n" - .'> 仅性能保障型实例支持**sch**和**tch**一致性hash算法。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], + 'schema' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'URI长度为1~80个字符,可包含英文字母、数字和`-/.%?#&`这些特殊字符。URI不能只为`/`,但必须以`/`开头。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'string', 'required' => false, 'example' => '/test/index.html'], ], [ - 'name' => 'PersistenceTimeout', + 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '会话保持的超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**0~3600**。'."\n" - ."\n" - .'默认值:**0**,表示关闭会话保持。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'example' => '0', - 'default' => '0', - ], + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], ], [ - 'name' => 'EstablishedTimeout', + 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '连接超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**10**~**900**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - 'default' => '900', - ], + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'HealthCheckTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值范围: **2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值:**1**~**300**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3'], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => '健康检查使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。'."\n" + ."\n" + .'> 当**HealthCheck**值为**on**时才会有效。'."\n" + ."\n" + .' ', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '8080'], ], [ - 'name' => 'HealthCheckConnectTimeout', + 'name' => 'HealthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => '每次健康检查响应的最大超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**300**。'."\n" - ."\n" - .'默认值:**5**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - 'default' => '5', - ], + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值:**1**~**50**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。'."\n" - ."\n" - .'不设置此参数时,表示使用后端服务端口(**BackendServerPort**)。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" + ."\n" + .'取值:**http\\_2xx**、**http\\_3xx**、**http\\_4xx**或**http\\_5xx**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx'], ], [ - 'name' => 'healthCheckInterval', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**50**。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => '服务器证书的ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'idkp-123-cn-test-****'], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的域名。取值:'."\n" - ."\n" - .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'* **domain**:域名长度为1~80,只能包含字母、数字、半角句号(.)和短划线(-)。', - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.6', - ], + 'schema' => ['description' => '服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j5e7p****'], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。长度限制为1~80,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、井号(#)和and(&)这些字符。 URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" - ."\n" - .'当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。', - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + 'schema' => ['description' => 'CA证书ID。'."\n" + ."\n" + .'若既上传CA证书又上传服务器证书,即采用双向认证。'."\n" + ."\n" + .'若用户只上传服务器证书,即为单向认证。', 'type' => 'string', 'required' => false, 'example' => '139a00604ad-cn-east-hangzh****'], ], [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'XForwardedFor_SLBIP', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。取值:'."\n" - ."\n" - .'- **http_2xx**(默认值)'."\n" - .'- **http_3xx**'."\n" - .'- **http_4xx**'."\n" - .'- **http_5xx**', - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', - ], + 'schema' => ['description' => '是否通过`SLB-IP`头字段获取来访者的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], [ - 'name' => 'HealthCheckType', + 'name' => 'XForwardedFor_SLBID', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查类型。取值:'."\n" - ."\n" - .'- **tcp**(默认值)'."\n" - .'- **http**', - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], + 'schema' => ['description' => '是否通过`SLB-ID`头字段获取SLB实例ID。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'XForwardedFor_proto', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j****', - ], + 'schema' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取SLB的监听协议。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'off'], ], [ - 'name' => 'MasterSlaveServerGroupId', + 'name' => 'Gzip', 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组ID。'."\n" - ."\n" - .'> 虚拟服务器组ID和主备服务器组ID只能选择一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-0bfucw****', - ], + 'schema' => ['description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => false, 'example' => 'on', 'default' => 'on'], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jwfiv6******', - ], + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'>当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'acl-a2do9e413e0spzasx****'], ], [ 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'* **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。'."\n" - .'设置白名单存在一定业务风险。'."\n" - .' '."\n" - .' 一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'* **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'black', - ], + 'schema' => ['description' => '访问控制类型。取值:'."\n" + ."\n" + .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + .' '."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'>当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**(默认值):不开启。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'tcp_80', - ], + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'HTTPS_443'], ], [ - 'name' => 'ConnectionDrain', + 'name' => 'IdleTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启连接优雅中断。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - ."\n" - .'- **off**:不开启。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '指定连接空闲超时时间,取值范围为**1~60**,默认值为**15**。单位:秒。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '12'], ], [ - 'name' => 'ConnectionDrainTimeout', + 'name' => 'RequestTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:**10**~**900**。'."\n" - ."\n" - .'> 当**ConnectionDrain**取值为**on**时,该选项必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => '指定请求超时时间,取值范围为**1~180**,默认值为**60**。单位:秒。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '23'], ], [ - 'name' => 'ProxyProtocolV2Enabled', + 'name' => 'EnableHttp2', 'in' => 'query', - 'schema' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**(默认值):否。'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否开启HTTP2特性。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off** :否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ - 'name' => 'HealthCheckSwitch', + 'name' => 'TLSCipherPolicy', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**(默认值):开启。'."\n" - .'- **off**:不开启。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1_0**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_1**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1_2**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2_strict**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict_with_1_3**'."\n" + .' '."\n" + .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" + .' '."\n" + .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', 'type' => 'string', 'required' => false, 'example' => 'tls_cipher_policy_1_1'], + ], + [ + 'name' => 'XForwardedFor_SLBPORT', + 'in' => 'query', + 'schema' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'XForwardedFor_ClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], ], 'responses' => [ @@ -5316,625 +2159,369 @@ 'schema' => [ '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'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterValue.SpecNotSupport', - 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'OperationNotSupport.Acl', - 'errorMessage' => 'The cloud box instance does not support acl.', - ], - [ - 'errorCode' => 'InvalidParameterValue.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', - 'errorMessage' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameterValue.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'ListenerProcessing', - 'errorMessage' => 'A previous configuration of the listener is pending, please try again later.', - ], - [ - 'errorCode' => 'AclNotExist', - 'errorMessage' => 'Acl does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.ListenerPortConflict', - 'errorMessage' => 'There is conflict listener port exists.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParam.VServerGroupId', - 'errorMessage' => 'The specified VServerGroupId is invalid.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckConnectPort', - 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', - ], - [ - 'errorCode' => 'InvalidParam.ListenerPort', - 'errorMessage' => 'The specified ListenerPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.StartPort', - 'errorMessage' => 'The specified StartPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParamSize.PortRange', - 'errorMessage' => 'The size of param PortRange is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.EndPort', - 'errorMessage' => 'The specified EndPort is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationUnsupported.SetAccessControl', - 'errorMessage' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', - ], - [ - 'errorCode' => 'InvalidParam.PortRange', - 'errorMessage' => 'The specified PortRange is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'LbNotSupportTcpssl', - 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', - ], - [ - 'errorCode' => 'LbSupportTcpsslOnly', - 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', - ], - [ - 'errorCode' => 'ListenerNotSupportRule', - 'errorMessage' => 'You cannot create a rule for the specified listener.', - ], - [ - 'errorCode' => 'ListenerPortConflict', - 'errorMessage' => 'The specified ListenerPort is conflict with other listener.', - ], - [ - 'errorCode' => 'ResourceNotFound.VServerGroup', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverThreshold', - 'errorMessage' => 'The parameter FailoverThreshold is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverStrategy', - 'errorMessage' => 'The parameter FailoverStrategy is illegal.', - ], - [ - 'errorCode' => 'MasterSlaveServerConflict', - 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', - ], - [ - 'errorCode' => 'OperationDenied.HealthCheckClosedForMasterSlaveMode', - 'errorMessage' => 'The operation is denied because of HealthCheckClosedForMasterSlaveMode.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheck', - 'errorMessage' => 'The param of HelathCheck is illegal.', - ], - [ - 'errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', - 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', - ], - [ - 'errorCode' => 'OperationDenied.FullNatModeNotAllowed', - 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', - ], - [ - 'errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', - 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', - ], - [ - 'errorCode' => 'SpecNotSupportParameter', - 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The BackendServerPort or VServerGroupId is required at lease one.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], + ['errorCode' => 'ParamDuplicateError', 'errorMessage' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', 'description' => '参数XForwardedFor_ClientCertSubjectDNAlias重复。'], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => '指定的IdleTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => '指定的RequestTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => 'Ipv6负载均衡实例不支持X-Forward-For。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'InvalidParameter.SpecNotSupport', 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter: %s.', 'description' => '共享型负载均衡实例不支持当前参数。'], + ['errorCode' => 'ListenerProcessing', 'errorMessage' => 'A previous configuration of the listener is pending,please try again later.', 'description' => '当前监听正在配置中,请稍后重试。'], + ['errorCode' => 'Certkey.Forbidden', 'errorMessage' => 'The specified certkey is not owned by the current user.', 'description' => '指定的certkey不属于当前用户。'], + ['errorCode' => 'InvalidParameter.ListenerPortConflict', 'errorMessage' => 'There is conflict listener port exists.', 'description' => '指定的监听端口已存在。'], + ['errorCode' => 'ResourceNotAvailible.HttpsListener', 'errorMessage' => 'The specified Zone did not have enough resource.', 'description' => '指定可用区资源不足。'], + ['errorCode' => 'AclNotExist', 'errorMessage' => 'Acl does not exist.', 'description' => '指定的Acl不存在。'], + ['errorCode' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', 'errorMessage' => 'The slb instance does not support create HTTP or HTTPS listener.', 'description' => '当前负载均衡实例不支持创建HTTP或者HTTPS类型的监听。'], + ['errorCode' => 'InvalidParameter.VServerGroupId', 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'description' => 'HTTP或HTTPS监听不支持挂载主备服务器组。'], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => '参数HealthCheckDomain缺失。'], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => '指定的HealthCheckHttpVersion无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'CertificateNotExist', 'errorMessage' => 'The specified CertificateId does not exist.', 'description' => '指定的证书不存在。'], + ['errorCode' => 'OperationFailed.InsufficientResources', 'errorMessage' => 'The loadbalancer does not support this operation because of insufficient resources.', 'description' => '操作失败,原因是由于资源不足,负载均衡器不支持此操作。'], + ['errorCode' => 'InvalidTLSPolicyId.NotExist', 'errorMessage' => 'The specified TLS cipher policy does not exist.', 'description' => '指定的TLS策略不存在。'], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => '指定的TLSCipherPolicy正在变配中。'], + ['errorCode' => 'TLSCipherPolicyVipRelationOverLimit', 'errorMessage' => 'The number of listeners associated with a policy has exceeded.', 'description' => '监听关联TLSCipherPolicy的数量已达到配额上限。'], + ['errorCode' => 'CertificateTypeMismatched', 'errorMessage' => 'The certificate type does not match.', 'description' => '指定证书的类型不匹配。'], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'Server certificates are required.', 'description' => '参数ServerCertificates缺失。'], + ['errorCode' => 'TooManyCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => '证书的数量不得大于1个。'], + ['errorCode' => 'CnCertificateNotSupport', 'errorMessage' => 'The cn certificate is not support.', 'description' => '不支持国密证书。'], + ['errorCode' => 'InvalidParam.CertificateBindingType', 'errorMessage' => 'The param CertificateBindingType is invalid.', 'description' => '指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => '指定的ServerCertificates长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'TooManyCertificates.ServerCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => '证书的数量不得大于1个。'], + ['errorCode' => 'SPEC_NOT_SUPPORT_PARAMETER', 'errorMessage' => 'Share spec does not support the feature.', 'description' => ''], + ['errorCode' => 'LbNotSupportTcpssl', 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'description' => '指定的实例不支持创建tcpssl类型的监听。'], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => '指定的实例只支持创建tcpssl类型的监听。'], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => '指定的监听不支持创建转发规则。'], + ['errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'description' => '实例规格类型和监听类型不匹配。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.Certificate', 'errorMessage' => 'The specified resource is not found.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '创建TCP监听', - 'summary' => '创建TCP监听。', - 'description' => '> 新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~2401757~~)接口启动监听来转发流量。', + 'title' => '创建HTTPS监听', + 'summary' => '创建HTTPS监听。', + 'description' => '### 注意事项'."\n" + ."\n" + .'新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~27597~~)接口启动监听来转发流量。'."\n" + ."\n" + .'### 前提条件'."\n" + ."\n" + .'您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerTCPListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-12-25T07:27:31.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-09-24T02:58:01.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPSListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerHTTPSListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerHTTPSListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</CreateLoadBalancerHTTPSListenerResponse>","errorExample":""}]', + ], + 'CreateLoadBalancerTCPListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88674', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '88528', + 'abilityTreeNodes' => ['FEATUREslbOL61C3'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~2401682~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ygod3yctvg1y****', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex****'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ - 'name' => 'Bandwidth', + 'name' => 'BackendServerPort', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例后端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。'."\n" + ."\n" + .'如果不使用服务器组(不指定**vServerGroupId**),则该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], + ], + [ + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '监听的带宽峰值。单位:Mbps。取值:**-1**或**1**~**5120**。'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" - .'- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '43', + 'maxItems' => 20, ], ], [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => '监听的带宽峰值,单位:Mbps。取值:'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。'."\n" + ."\n" + .'- **1**~**5120**: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1'], + ], + [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - .'- **sch**:基于源IP地址的一致性哈希,相同的源地址会调度到相同的后端服务器。'."\n" - .'- **tch**:基于四元组的一致性哈希(源IP、目的IP、源端口和目的端口),相同的流会调度到相同的后端服务器。'."\n" - ."\n" - .'> - 仅性能保障型实例支持**sch**和**tch**一致性哈希算法。'."\n" - .'> - CLB不支持**wrr**和**rr**算法变更为一致性哈希算法,也不支持一致性哈希算法互转。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'- **sch**:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。'."\n" + ."\n" + .'- **tch**:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'> 仅性能保障型实例支持**sch**和**tch**一致性hash算法。', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'default' => 'wrr'], ], [ 'name' => 'PersistenceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '会话保持的超时时间。单位:秒,取值范围:**0**~**3600**。'."\n" - ."\n" - .'默认值:**0**,表示关闭会话保持。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'example' => '0', - ], + 'schema' => ['description' => '会话保持的超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**0~3600**。'."\n" + ."\n" + .'默认值:**0**,表示关闭会话保持。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '0', 'example' => '0', 'default' => '0'], ], [ 'name' => 'EstablishedTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '连接超时时间。单位:秒。取值范围:**10**~**900**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - ], + 'schema' => ['description' => '连接超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**10**~**900**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '900', 'minimum' => '10', 'example' => '500', 'default' => '900'], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值范围: **2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'default' => '3'], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'default' => '3'], ], [ 'name' => 'HealthCheckConnectTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。单位:秒,取值范围:**1**~**300**。'."\n" - ."\n" - .'如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。'."\n" - ."\n" - .'> 如果该值小于**HealthCheckInterval**的值,则该值无效,超时时间为**HealthCheckInterval**的值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - ], + 'schema' => ['description' => '每次健康检查响应的最大超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**300**。'."\n" + ."\n" + .'默认值:**5**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '100', 'default' => '5'], ], [ 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。取值范围:**1**~**65535**。'."\n" - ."\n" - .'不设置此参数时,表示使用**BackendServerPort**(后端服务端口)。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['description' => '健康检查使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。'."\n" + ."\n" + .'不设置此参数时,表示使用后端服务端口(**BackendServerPort**)。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'healthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**50**。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**50**。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '3'], ], [ 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的域名。当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。'."\n" - ."\n" - .'* **$_ip**:后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用后端服务器的私网IP当做健康检查使用的域名。'."\n" - .'* **domain**:域名,长度为1~80个字符,支持字母、数字、半角句号(.)和短划线(-)。', - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => '用于健康检查的域名。取值:'."\n" + ."\n" + .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'* **domain**:域名长度为1~80,只能包含字母、数字、半角句号(.)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.6'], ], [ 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。长度为1~80个字符,支持字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)这些字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" - ."\n" - .'当TCP监听需要使用HTTP健康检查时,可配置此参数。'."\n" - ."\n" - .'如不配置,则使用TCP健康检查。', - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + 'schema' => ['description' => '用于健康检查的URI。长度限制为1~80,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、井号(#)和and(&)这些字符。 URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" + ."\n" + .'当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。', 'type' => 'string', 'required' => false, 'example' => '/test/index.html'], ], [ 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" - ."\n" - .'取值:**http_2xx**、**http_3xx**、**http_4xx**或**http_5xx**。', - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。取值:'."\n" + ."\n" + .'- **http_2xx**(默认值)'."\n" + .'- **http_3xx**'."\n" + .'- **http_4xx**'."\n" + .'- **http_5xx**', 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx'], ], [ 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查类型。取值:**tcp**或**http**。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], - ], - [ - 'name' => 'SynProxy', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启负载均衡的攻击防护功能SynProxy。取值:'."\n" - ."\n" - .'- **enable**:开启。'."\n" - .'- **disable**:不开启。'."\n" - ."\n" - .'建议一般情况下不要调整这个参数,由负载均衡控制。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], - ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => '是否使用虚拟服务器组。取值:'."\n" - ."\n" - .'- **on**:使用。'."\n" - .'- **off**:不使用。'."\n" - ."\n" - .'> **VserverGroup**和**MasterSlaveServerGroup**只允许一个值为**on**。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '健康检查类型。取值:'."\n" + ."\n" + .'- **tcp**(默认值)'."\n" + .'- **http**', 'type' => 'string', 'required' => false, 'example' => 'tcp'], ], [ 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j5****', - ], + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j****'], ], [ 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组ID。'."\n" - ."\n" - .'>虚拟服务器组ID和主备服务器组ID只能选择一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige****', - ], - ], - [ - 'name' => 'MasterSlaveServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => '是否使用主备服务器组。取值:'."\n" - ."\n" - .'- **on**:使用。'."\n" - .'- **off**:不使用。'."\n" - ."\n" - .'**VserverGroup**和**MasterSlaveServerGroup**只允许一个值为**on**。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '主备服务器组ID。'."\n" + ."\n" + .'> 虚拟服务器组ID和主备服务器组ID只能选择一个。', 'type' => 'string', 'required' => false, 'example' => 'rsp-0bfucw****'], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'当**AclStatus**参数值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => '12333', - ], + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jwfiv6******'], ], [ 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型。取值:'."\n" - ."\n" - .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - .' '."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**:不会转发来自所选访问控制策略组中设置的IP地址或地址段,黑名单适用于只限制某些特定IP访问的场景。 '."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => '访问控制类型:'."\n" + ."\n" + .'* **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。'."\n" + .'设置白名单存在一定业务风险。'."\n" + .' '."\n" + .' 一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'* **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'black'], ], [ 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - ."\n" - .'- **on**:开启访问控制。'."\n" - .'- **off**:关闭访问控制。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**(默认值):不开启。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'tcp_80', - ], + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'tcp_80'], ], [ 'name' => 'ConnectionDrain', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启连接优雅中断。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:不开启。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '是否开启连接优雅中断。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + ."\n" + .'- **off**:不开启。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ 'name' => 'ConnectionDrainTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '设置连接优雅中断超时时间。当**ConnectionDrain**取值为**on**时,该选项必选。单位:秒。'."\n" - ."\n" - .'取值范围:**10**~**900**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => '设置连接优雅中断超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**10**~**900**。'."\n" + ."\n" + .'> 当**ConnectionDrain**取值为**on**时,该选项必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300'], ], [ 'name' => 'ProxyProtocolV2Enabled', 'in' => 'query', - 'schema' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'HealthCheckSwitch', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:不开启。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**(默认值):开启。'."\n" + .'- **off**:不开启。', 'type' => 'string', 'required' => false, 'example' => 'on'], ], ], 'responses' => [ @@ -5942,520 +2529,103 @@ 'schema' => [ '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'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterValue.SpecNotSupport', - 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'OperationNotSupport.Acl', - 'errorMessage' => 'The cloud box instance does not support acl.', - ], - [ - 'errorCode' => 'InvalidParameterValue.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameterValue.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'OperationFailed.ServerGroupInUse', - 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', - ], - [ - 'errorCode' => 'InvalidParam.VServerGroupId', - 'errorMessage' => 'The specified VServerGroupId is invalid.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckConnectPort', - 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', - ], - [ - 'errorCode' => 'InvalidParam.ListenerPort', - 'errorMessage' => 'The specified ListenerPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.StartPort', - 'errorMessage' => 'The specified StartPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParamSize.PortRange', - 'errorMessage' => 'The size of param PortRange is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.EndPort', - 'errorMessage' => 'The specified EndPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.PortRange', - 'errorMessage' => 'The specified PortRange is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'ResourceNotFound.VServerGroup', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverStrategy', - 'errorMessage' => 'The parameter FailoverStrategy is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverThreshold', - 'errorMessage' => 'The parameter FailoverThreshold is illegal.', - ], - [ - 'errorCode' => 'MasterSlaveServerConflict', - 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', - ], - [ - 'errorCode' => 'MissingParam.VServerGroupId', - 'errorMessage' => 'The parameter VServerGroupId is missing.', - ], - [ - 'errorCode' => 'OperationDenied.HealthCheckClosedForMasterSlaveMode', - 'errorMessage' => 'The operation is denied because of HealthCheckClosedForMasterSlaveMode.', - ], - [ - 'errorCode' => 'InvalidParam.HealthCheck', - 'errorMessage' => 'The param of HealthCheck is illegal.', - ], - [ - 'errorCode' => 'OperationDenied.MasterSlaveGroupLogEnabled', - 'errorMessage' => 'The operation is denied because of MasterSlaveGroupLogEnabled.', - ], - [ - 'errorCode' => 'OperationDenied.NotSupportAcl', - 'errorMessage' => 'The operation is denied because The single Tunnel or any Tunnel loadbalancer does not support config AccessControlList.', - ], - [ - 'errorCode' => 'OperationDenied.FullNatModeNotAllowed', - 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', - ], - [ - 'errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', - 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', - ], - [ - 'errorCode' => 'SpecNotSupportParameter', - 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', - ], - [ - 'errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', - 'errorMessage' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], + ['errorCode' => 'InvalidParameterValue.SpecNotSupport', 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', 'description' => '共享型负载均衡实例不支持指定的参数取值。'], + ['errorCode' => 'OperationNotSupport.Acl', 'errorMessage' => 'The cloud box instance does not support acl.', 'description' => '云盒实例不支持配置访问控制。'], + ['errorCode' => 'InvalidParameterValue.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter value, %s.', 'description' => '当前地域不支持指定的参数取值。'], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', 'description' => ''], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameterValue.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter value, %s.', 'description' => '当前可用区不支持指定参数取值。'], + ['errorCode' => 'ListenerProcessing', 'errorMessage' => 'A previous configuration of the listener is pending, please try again later.', 'description' => '当前监听正在配置中,请稍后重试。'], + ['errorCode' => 'AclNotExist', 'errorMessage' => 'Acl does not exist.', 'description' => '指定的Acl不存在。'], + ['errorCode' => 'InvalidParameter.ListenerPortConflict', 'errorMessage' => 'There is conflict listener port exists.', 'description' => '指定的监听端口已存在。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'InvalidParam.VServerGroupId', 'errorMessage' => 'The specified VServerGroupId is invalid.', 'description' => '指定的VServerGroupId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => '参数HealthCheckConnectPort缺失。'], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => '指定的ListenerPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => '指定的StartPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => '指定的EndPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'OperationUnsupported.SetAccessControl', 'errorMessage' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', 'description' => '操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。'], + ['errorCode' => 'InvalidParam.PortRange', 'errorMessage' => 'The specified PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'LbNotSupportTcpssl', 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'description' => '指定的实例不支持创建tcpssl类型的监听。'], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => '指定的实例只支持创建tcpssl类型的监听。'], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => '指定的监听不支持创建转发规则。'], + ['errorCode' => 'ListenerPortConflict', 'errorMessage' => 'The specified ListenerPort is conflict with other listener.', 'description' => '指定的监听端口号已被占用。'], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => '指定的服务器组不存在。'], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => '指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => '指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => '主备服务器组的后端服务器冲突。'], + ['errorCode' => 'OperationDenied.HealthCheckClosedForMasterSlaveMode', 'errorMessage' => 'The operation is denied because of HealthCheckClosedForMasterSlaveMode.', 'description' => '操作被拒绝,原因是主备模式下要求必须开启健康检查。'], + ['errorCode' => 'IllegalParam.HealthCheck', 'errorMessage' => 'The param of HelathCheck is illegal.', 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'description' => '实例规格类型和监听类型不匹配。'], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => '操作被拒绝,原因是不支持FullNat模式。'], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => '操作被拒绝,原因是只有IPV4实例支持开启FULL NAT模式。'], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', 'description' => '共享型实例不支持FullNatEnabled参数。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The BackendServerPort or VServerGroupId is required at lease one.', 'description' => '参数BackendServerPort和VServerGroupId至少需要配置一个。'], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerTCPListenerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerTCPListenerAttributeResponse>","errorExample":""}]', - 'title' => '修改TCP监听的配置', - 'summary' => '修改TCP监听的配置。', - 'description' => '- 您已经创建传统型负载均衡。具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - ."\n" - .'- 您已经创建TCP监听。具体操作,请参见[CreateLoadBalancerTCPListener](~~27594~~)。', + 'title' => '创建TCP监听', + 'summary' => '创建TCP监听。', + 'description' => '> 新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~2401757~~)接口启动监听来转发流量。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerTCPListenerAttribute' => [ - 'summary' => '查询TCP监听配置。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88587', - 'abilityTreeNodes' => [ - 'FEATUREslbZQW9H1', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ygod3yctvg1y****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => '绑定的服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6******8', - ], - 'Status' => [ - 'description' => '当前监听的状态。取值:'."\n" - ."\n" - .'* **running**:监听正常运行中。'."\n" - ."\n" - .'* **stopped**:监听停止。', - 'type' => 'string', - 'example' => 'stopped', - ], - 'AclType' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'* **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。'."\n" - .'设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - ."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'* **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'example' => 'white', - ], - 'ConnectionDrainTimeout' => [ - 'description' => '设置连接优雅中断超时时间。当**ConnectionDrain**取值为**on**时,返回该值。'."\n" - ."\n" - .'取值范围:10~900秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查使用的端口。取值:**1**~**65535**。不设置此参数时,表示使用后端服务端口(BackendServerPort)。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Description' => [ - 'description' => '自定义监听名称。', - 'type' => 'string', - 'example' => 'TCP_80', - ], - 'Bandwidth' => [ - 'description' => '监听的带宽峰值,单位Mbps。取值:'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。'."\n" - ."\n" - .'- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'HealthCheckType' => [ - 'description' => 'TCP协议监听的健康检查方式。'."\n" - ."\n" - .'取值:**tcp**或**http**。', - 'type' => 'string', - 'example' => 'tcp', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => '绑定的主备服务器组ID。'."\n" - .' ', - 'type' => 'string', - 'example' => 'rsp-0bfucw****', - ], - 'BackendServerPort' => [ - 'description' => '传统型负载均衡实例后端使用的端口。'."\n" - ."\n" - .'> 当后端服务器组为虚拟服务器组时,该参数不显示。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'AclStatus' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:不开启。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckDomain' => [ - 'description' => '用于健康检查的域名。取值:'."\n" - ."\n" - .'- **$_ip**:后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'- **domain**:域名长度为1~80个字符,只能包含字母、数字、半角句号(.)和短划线(-)。', - 'type' => 'string', - 'example' => 'www.domain.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '不健康检查阈值。健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。取值:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码。', - 'type' => 'string', - 'example' => 'http_2xx', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'PersistenceTimeout' => [ - 'description' => '会话保持的超时时间。'."\n" - ."\n" - .'取值:**0**~**3600**秒。默认值:**0**,表示关闭会话保持。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ListenerPort' => [ - 'description' => '传统型负载均衡实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '110', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔,取值:**1**~**50**秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckURI' => [ - 'description' => '用于健康检查的URL。长度限制为1~80个字符,只能使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)这些字符。 URL不能只为正斜线(/),但必须以正斜线(/)开头。', - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'AclId' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'example' => 'acl-uf60jwfi******', - ], - 'SynProxy' => [ - 'description' => '是否开启负载均衡的攻击防护功能SynProxy。'."\n" - ."\n" - .'建议用户一般情况下不要调整这个参数,由负载均衡控制。'."\n" - ."\n" - .'* **enable**:开启。'."\n" - ."\n" - .'* **disable**:关闭。', - 'type' => 'string', - 'example' => 'disable', - ], - 'Scheduler' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n\n" - .'- **sch**:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。'."\n" - ."\n" - .'- **tch**:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" - ."\n" - .'> 仅性能保障型实例支持**sch**和**tch**一致性hash算法。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'EstablishedTimeout' => [ - 'description' => '连接超时时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => '超时时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查阈值。健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。取值:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ConnectionDrain' => [ - 'description' => '是否开启连接优雅中断。当**ConnectionDrain**取值为**on**时,返回该值。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - ."\n" - .'- **off**:未开启。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckMethod' => [ - 'description' => '健康检查方式。', - 'type' => 'string', - 'example' => 'tcp', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:关闭。', - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclId' => [ - 'description' => '访问控制策略组ID列表。', - 'type' => 'array', - ], - ], - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1ygod3yctvg1y****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-12-27T10:24:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-15T07:46:52.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-10-11T15:07:09.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerTCPListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerTCPListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#AclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6******8\\",\\n \\"Status\\": \\"stopped\\",\\n \\"AclType\\": \\"white\\",\\n \\"ConnectionDrainTimeout\\": 300,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"Description\\": \\"TCP_80\\",\\n \\"Bandwidth\\": -1,\\n \\"HealthCheckType\\": \\"tcp\\",\\n \\"MasterSlaveServerGroupId\\": \\"rsp-0bfucw****\\",\\n \\"BackendServerPort\\": 443,\\n \\"AclStatus\\": \\"off\\",\\n \\"HealthCheckDomain\\": \\"www.domain.com\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"HealthCheckHttpCode\\": \\"http_2xx\\",\\n \\"ProxyProtocolV2Enabled\\": false,\\n \\"PersistenceTimeout\\": 0,\\n \\"ListenerPort\\": 110,\\n \\"HealthCheckInterval\\": 5,\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"AclId\\": \\"acl-uf60jwfi******\\",\\n \\"SynProxy\\": \\"disable\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"EstablishedTimeout\\": 500,\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"HealthyThreshold\\": 4,\\n \\"ConnectionDrain\\": \\"off\\",\\n \\"HealthCheckMethod\\": \\"tcp\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"AclIds\\": {\\n \\"AclId\\": [\\n \\"\\"\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-bp1ygod3yctvg1y****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerTCPListenerAttributeResponse>\\n <VServerGroupId>rsp-cige6******8</VServerGroupId>\\n <Status>stopped</Status>\\n <AclType>white</AclType>\\n <ConnectionDrainTimeout>300</ConnectionDrainTimeout>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <Description>TCP_80</Description>\\n <Bandwidth>-1</Bandwidth>\\n <HealthCheckType>tcp</HealthCheckType>\\n <MasterSlaveServerGroupId>rsp-0bfucw****</MasterSlaveServerGroupId>\\n <BackendServerPort>443</BackendServerPort>\\n <AclStatus>off</AclStatus>\\n <HealthCheckDomain>www.domain.com</HealthCheckDomain>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <HealthCheckHttpCode>http_2xx</HealthCheckHttpCode>\\n <ProxyProtocolV2Enabled>false</ProxyProtocolV2Enabled>\\n <PersistenceTimeout>0</PersistenceTimeout>\\n <ListenerPort>110</ListenerPort>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <AclId>12</AclId>\\n <SynProxy>enable</SynProxy>\\n <Scheduler>wrr</Scheduler>\\n <EstablishedTimeout>500</EstablishedTimeout>\\n <HealthCheckConnectTimeout>100</HealthCheckConnectTimeout>\\n <HealthyThreshold>4</HealthyThreshold>\\n <ConnectionDrain>off</ConnectionDrain>\\n <HealthCheckMethod>tcp</HealthCheckMethod>\\n <HealthCheck>on</HealthCheck>\\n <LoadBalancerId>lb-bp1ygod3yctvg1y****</LoadBalancerId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n</DescribeLoadBalancerTCPListenerAttributeResponse>","errorExample":""}]', - 'title' => '查询TCP监听配置', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', ], 'CreateLoadBalancerUDPListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6466,20 +2636,13 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '88530', - 'abilityTreeNodes' => [ - 'FEATUREslbMJNWX5', - ], + 'abilityTreeNodes' => ['FEATUREslbMJNWX5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'Tag', @@ -6493,18 +2656,8 @@ 'description' => '监听的标签集合。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, ], @@ -6515,296 +2668,165 @@ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ygod3yctvg1y7****', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ygod3yctvg1y7****'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例后端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。'."\n" - ."\n" - .'如果不使用虚拟服务器组(不指定**VServerGroupId**),则该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '传统型负载均衡实例后端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。'."\n" + ."\n" + .'如果不使用虚拟服务器组(不指定**VServerGroupId**),则该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => '监听的带宽峰值。单位:Mbps。取值:'."\n" - ."\n\n" - .'<props="china">- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。</props>'."\n" - .'<props="china">- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。</props>'."\n" - ."\n" - .'<props="intl">**-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。</props>'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => '监听的带宽峰值。单位:Mbps。取值:'."\n" + ."\n\n" + .'<props="china">- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。</props>'."\n" + .'<props="china">- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。</props>'."\n" + ."\n" + .'<props="intl">**-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。</props>'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1'], ], [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'* **sch**:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。'."\n" - ."\n" - .'* **tch**:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" - ."\n" - .'* **qch**:基于QUIC Connection ID一致性hash,相同的QUIC Connection ID会调度到相同的后端服务器。'."\n" - ."\n\n" - .'仅性能保障型实例支持sch、 tch和qch一致性hash算法。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'* **sch**:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。'."\n" + ."\n" + .'* **tch**:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'* **qch**:基于QUIC Connection ID一致性hash,相同的QUIC Connection ID会调度到相同的后端服务器。'."\n" + ."\n\n" + .'仅性能保障型实例支持sch、 tch和qch一致性hash算法。'."\n", 'type' => 'string', 'required' => false, 'example' => 'wrr', 'default' => 'wrr'], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'default' => '3'], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值范围:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'default' => '3'], ], [ 'name' => 'HealthCheckConnectTimeout', 'in' => 'query', - 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。'."\n" - ."\n" - .'如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**300**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - 'default' => '5', - ], + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。'."\n" + ."\n" + .'如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**300**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '100', 'default' => '5'], ], [ 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。'."\n" - ."\n" - .'不设置此参数时,表示使用后端服务端口(**BackendServerPort**)。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '健康检查使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。'."\n" + ."\n" + .'不设置此参数时,表示使用后端服务端口(**BackendServerPort**)。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ 'name' => 'healthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**50**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**50**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '3'], ], [ 'name' => 'healthCheckReq', 'in' => 'query', - 'schema' => [ - 'description' => 'UDP监听健康检查的请求字符串,只允许包含字母、数字,最大长度限制为64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - ], + 'schema' => ['description' => 'UDP监听健康检查的请求字符串,只允许包含字母、数字,最大长度限制为64个字符。', 'type' => 'string', 'required' => false, 'example' => 'hello'], ], [ 'name' => 'healthCheckExp', 'in' => 'query', - 'schema' => [ - 'description' => 'UDP监听健康检查的响应字符串,只允许包含字母、数字,最大长度限制为64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ok', - ], + 'schema' => ['description' => 'UDP监听健康检查的响应字符串,只允许包含字母、数字,最大长度限制为64个字符。', 'type' => 'string', 'required' => false, 'example' => 'ok'], ], [ 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j8****', - ], + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j8****'], ], [ 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组ID。'."\n" - ."\n" - .'> 虚拟服务器组ID和主备服务器组ID只能选择一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-0bfucwu****', - ], + 'schema' => ['description' => '主备服务器组ID。'."\n" + ."\n" + .'> 虚拟服务器组ID和主备服务器组ID只能选择一个。', 'type' => 'string', 'required' => false, 'example' => 'rsp-0bfucwu****'], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jw***', - ], + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jw***'], ], [ 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型,取值:'."\n" - ."\n" - .'* **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。设置白名单存在一定业务风险,一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - .' '."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'* **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => '访问控制类型,取值:'."\n" + ."\n" + .'* **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。设置白名单存在一定业务风险,一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + .' '."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'* **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**(默认值):关闭。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**(默认值):关闭。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'udp_80', - ], + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'udp_80'], ], [ 'name' => 'ProxyProtocolV2Enabled', 'in' => 'query', - 'schema' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**(默认值):否。'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'HealthCheckSwitch', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**(默认值):开启。'."\n" - .'- **off**:关闭。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**(默认值):开启。'."\n" + .'- **off**:关闭。', 'type' => 'string', 'required' => false, 'example' => 'on'], ], ], 'responses' => [ @@ -6812,224 +2834,104 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75556', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75556'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterValue.SpecNotSupport', - 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'OperationNotSupport.Acl', - 'errorMessage' => 'The cloud box instance does not support acl.', - ], - [ - 'errorCode' => 'InvalidParameterValue.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', - 'errorMessage' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameterValue.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'ListenerProcessing', - 'errorMessage' => 'A previous configuration of the listener is pending,please try again later.', - ], - [ - 'errorCode' => 'AclNotExist', - 'errorMessage' => 'Acl does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.ListenerPortConflict', - 'errorMessage' => 'There is conflict listener port exists.', - ], - [ - 'errorCode' => 'InvalidParam.VServerGroupId', - 'errorMessage' => 'The specified VServerGroupId is invalid.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckConnectPort', - 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', - ], - [ - 'errorCode' => 'InvalidParam.ListenerPort', - 'errorMessage' => 'The specified ListenerPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.StartPort', - 'errorMessage' => 'The specified StartPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParamSize.PortRange', - 'errorMessage' => 'The size of param PortRange is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.EndPort', - 'errorMessage' => 'The specified EndPort is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'LbNotSupportTcpssl', - 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', - ], - [ - 'errorCode' => 'LbSupportTcpsslOnly', - 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', - ], - [ - 'errorCode' => 'ListenerNotSupportRule', - 'errorMessage' => 'You cannot create a rule for the specified listener.', - ], - [ - 'errorCode' => 'InvalidParamLength.HealthCheckExp', - 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', - ], - [ - 'errorCode' => 'InvalidParamLength.HealthCheckReq', - 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.HealthCheckReq', - 'errorMessage' => 'The param HealthCheckReq is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.HealthCheckExp', - 'errorMessage' => 'The param HealthCheckExp is invalid.', - ], - [ - 'errorCode' => 'ResourceNotFound.VServerGroup', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverThreshold', - 'errorMessage' => 'The parameter FailoverThreshold is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverStrategy', - 'errorMessage' => 'The parameter FailoverStrategy is illegal.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'MasterSlaveServerConflict', - 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', - ], - [ - 'errorCode' => 'VipNotSupportQuicVersion', - 'errorMessage' => 'The listener does not support the parameter of QuicVersion.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheckType', - 'errorMessage' => 'The param of HealthCheckType is illegal.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckMethod', - 'errorMessage' => 'The param of HealthCheckMethod is missing.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheckMethod', - 'errorMessage' => 'The param of HealthCheckMethod is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheck', - 'errorMessage' => 'The param of HealthCheck is illegal.', - ], - [ - 'errorCode' => 'OperationDenied.SpecialListenerPortNotAllowed', - 'errorMessage' => 'The operation is not allowed because port 4789 is reserved by the system.', - ], - [ - 'errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', - 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', - ], - [ - 'errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', - 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', - ], - [ - 'errorCode' => 'OperationDenied.FullNatModeNotAllowed', - 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', - ], - [ - 'errorCode' => 'SpecNotSupportParameter', - 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], + ['errorCode' => 'InvalidParameterValue.SpecNotSupport', 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', 'description' => '共享型负载均衡实例不支持指定的参数取值。'], + ['errorCode' => 'OperationNotSupport.Acl', 'errorMessage' => 'The cloud box instance does not support acl.', 'description' => '云盒实例不支持配置访问控制。'], + ['errorCode' => 'InvalidParameterValue.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter value, %s.', 'description' => '当前地域不支持指定的参数取值。'], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', 'description' => ''], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameterValue.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter value, %s.', 'description' => '当前可用区不支持指定参数取值。'], + ['errorCode' => 'ListenerProcessing', 'errorMessage' => 'A previous configuration of the listener is pending,please try again later.', 'description' => '当前监听正在配置中,请稍后重试。'], + ['errorCode' => 'AclNotExist', 'errorMessage' => 'Acl does not exist.', 'description' => '指定的Acl不存在。'], + ['errorCode' => 'InvalidParameter.ListenerPortConflict', 'errorMessage' => 'There is conflict listener port exists.', 'description' => '指定的监听端口已存在。'], + ['errorCode' => 'InvalidParam.VServerGroupId', 'errorMessage' => 'The specified VServerGroupId is invalid.', 'description' => '指定的VServerGroupId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => '参数HealthCheckConnectPort缺失。'], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => '指定的ListenerPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => '指定的StartPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => '指定的EndPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'LbNotSupportTcpssl', 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'description' => '指定的实例不支持创建tcpssl类型的监听。'], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => '指定的实例只支持创建tcpssl类型的监听。'], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => '指定的监听不支持创建转发规则。'], + ['errorCode' => 'InvalidParamLength.HealthCheckExp', 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamLength.HealthCheckReq', 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', 'description' => '指定的HealthCheckReq无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.HealthCheckReq', 'errorMessage' => 'The param HealthCheckReq is invalid.', 'description' => '指定的HealthCheckReq无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.HealthCheckExp', 'errorMessage' => 'The param HealthCheckExp is invalid.', 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => '指定的服务器组不存在。'], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => '指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => '指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => '主备服务器组的后端服务器冲突。'], + ['errorCode' => 'VipNotSupportQuicVersion', 'errorMessage' => 'The listener does not support the parameter of QuicVersion.', 'description' => '当前监听不支持QuicVersion参数。'], + ['errorCode' => 'IllegalParam.HealthCheckType', 'errorMessage' => 'The param of HealthCheckType is illegal.', 'description' => '指定的HealthCheckType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.HealthCheckMethod', 'errorMessage' => 'The param of HealthCheckMethod is missing.', 'description' => '参数HealthCheckMethod缺失。'], + ['errorCode' => 'IllegalParam.HealthCheckMethod', 'errorMessage' => 'The param of HealthCheckMethod is illegal.', 'description' => '指定的HealthCheckMethod无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.HealthCheck', 'errorMessage' => 'The param of HealthCheck is illegal.', 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'OperationDenied.SpecialListenerPortNotAllowed', 'errorMessage' => 'The operation is not allowed because port 4789 is reserved by the system.', 'description' => '操作被拒绝,原因是4789是系统保留端口。'], + ['errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'description' => '实例规格类型和监听类型不匹配。'], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => '操作被拒绝,原因是只有IPV4实例支持开启FULL NAT模式。'], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => '操作被拒绝,原因是不支持FullNat模式。'], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', 'description' => '共享型实例不支持FullNatEnabled参数。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75556\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerUDPListenerResponse>\\n <RequestId>06F00FBB-3D9E-4CCE-9D43-1A6946A75556</RequestId>\\n</CreateLoadBalancerUDPListenerResponse>","errorExample":""}]', 'title' => '创建UDP监听', 'summary' => '创建UDP监听。', 'description' => '> 新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~27597~~)接口启动监听来转发流量。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerUDPListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-12-27T10:24:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-10-11T15:07:09.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerUDPListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerUDPListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75556\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerUDPListenerResponse>\\n <RequestId>06F00FBB-3D9E-4CCE-9D43-1A6946A75556</RequestId>\\n</CreateLoadBalancerUDPListenerResponse>","errorExample":""}]', + ], + 'CreateMasterSlaveServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7037,321 +2939,77 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88677', - 'abilityTreeNodes' => [ - 'FEATUREslbMJNWX5', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1rtfnodmywb43ecu4sf-c****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1hv944r69al4j******'], ], [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => '监听的带宽峰值,单位:Mbps。取值:'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" - .' '."\n" - .'- **1**~**5120**: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'- **sch**:基于源IP地址的一致性哈希算法,相同的源地址会调度到相同的后端服务器。'."\n" - ."\n" - .'- **tch**:基于四元组的一致性哈希算法(源IP、目的IP、源端口和目的端口),相同的流会调度到相同的后端服务器。'."\n" - ."\n" - .'- **qch**:基于QUIC Connection ID一致性哈希算法,相同的QUIC Connection ID会调度到相同的后端服务器。'."\n" - ."\n" - .'> - 仅有性能保障型实例支持**sch**、**tch**和**qch**的调度算法。'."\n" - .'> - CLB不支持**wrr**和**rr**算法变更为一致性哈希算法,也不支持一致性哈希算法互转。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值范围:**1**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值范围:**1**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'HealthCheckConnectTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**300**。'."\n" - ."\n" - .'> 如果**HealthCheckConnectTimeout**的值小于**HealthCheckInterval**的值,则**HealthCheckConnectTimeout**无效,超时时间为**HealthCheckInterval**的值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - ], - ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔,单位:秒。'."\n" - ."\n" - .'取值范围:**1**~**50**。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], - ], - [ - 'name' => 'healthCheckReq', - 'in' => 'query', - 'schema' => [ - 'description' => 'UDP监听健康检查的请求串,只允许包含字母、数字,最大长度限制为64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - ], - ], - [ - 'name' => 'healthCheckExp', - 'in' => 'query', - 'schema' => [ - 'description' => 'UDP监听健康检查的响应串,只允许包含字母、数字,最大长度限制为64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'ok', - ], - ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => '是否使用虚拟服务器组。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n" - ."\n" - .'> **VserverGroup**和**MasterSlaveServerGroup**只允许一个值为**on**。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6****', - ], - ], - [ - 'name' => 'MasterSlaveServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组ID。'."\n" - ."\n" - .'> 虚拟服务器组ID和主备服务器组ID只能选择一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-0bfuc****', - ], - ], - [ - 'name' => 'MasterSlaveServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => '是否使用主备服务器组。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n" - ."\n" - .'> **VserverGroup**和**MasterSlaveServerGroup**只允许取值为**on**。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'AclType', - 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型。取值:'."\n" - ."\n" - .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。 '."\n" - ."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**: 不会转发来自所选访问控制策略组中设置的IP地址或地址段,黑名单适用于只限制某些特定IP访问的场景。 '."\n" - .' '."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'>当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], - ], - [ - 'name' => 'AclStatus', + 'name' => 'MasterSlaveServerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '主备服务器组名称。', 'type' => 'string', 'required' => false, 'example' => 'Group1'], ], [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'udp_80', - ], - ], - [ - 'name' => 'ProxyProtocolV2Enabled', + 'name' => 'MasterSlaveBackendServers', 'in' => 'query', - 'schema' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**(默认值):否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '主备服务器组列表。一个主备服务器组只能包含2个后端服务器。'."\n" + ."\n" + .'包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'* **ServerType**:String类型,表示后端服务器的主备类型,取值:'."\n" + .' * **Master**:主服务器。'."\n" + .' * **Slave**:备服务器。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"82","ServerType":"Master","Description":"test-112" }, { "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"84","ServerType":"Slave","Description":"test-112" }]'], ], [ - 'name' => 'HealthCheckSwitch', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**(默认值):开启。'."\n" - ."\n" - .'- **off**:不开启。', - 'type' => 'string', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'on', + 'maxItems' => 20, ], ], ], @@ -7360,243 +3018,158 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'MasterSlaveServerGroupId' => ['description' => '主备服务器组ID。', 'type' => 'string', 'example' => 'rsp-bp19au4******'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '7CA4DB76-4D32-523B-822E-5C9******'], + 'MasterSlaveBackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MasterSlaveBackendServer' => [ + 'description' => '主备服务器组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '主备服务器组列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**:ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '主备服务器组描述。', 'type' => 'string', 'example' => 'test-112'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '82'], + 'ServerId' => ['description' => '要添加的后端服务器实例ID。', 'type' => 'string', 'example' => 'i-bp1fq61enf4loa5i****'], + 'ServerType' => ['description' => '服务器类型。'."\n" + ."\n" + .'取值:**Master**或**Slave**。', 'type' => 'string', 'example' => 'Master'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterValue.SpecNotSupport', - 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'OperationNotSupport.Acl', - 'errorMessage' => 'The cloud box instance does not support acl.', - ], - [ - 'errorCode' => 'InvalidParameterValue.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameterValue.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'OperationFailed.ServerGroupInUse', - 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', - ], - [ - 'errorCode' => 'InvalidParam.VServerGroupId', - 'errorMessage' => 'The specified VServerGroupId is invalid.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckConnectPort', - 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', - ], - [ - 'errorCode' => 'InvalidParam.ListenerPort', - 'errorMessage' => 'The specified ListenerPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.StartPort', - 'errorMessage' => 'The specified StartPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParamSize.PortRange', - 'errorMessage' => 'The size of param PortRange is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.EndPort', - 'errorMessage' => 'The specified EndPort is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.PortRange', - 'errorMessage' => 'The specified PortRange is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParamLength.HealthCheckReq', - 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', - ], - [ - 'errorCode' => 'InvalidParamLength.HealthCheckExp', - 'errorMessage' => 'The length of the parameter HealthCheckExp is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.HealthCheckReq', - 'errorMessage' => 'The param HealthCheckReq is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.HealthCheckExp', - 'errorMessage' => 'The param HealthCheckExp is invalid.', - ], - [ - 'errorCode' => 'ResourceNotFound.VServerGroup', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverThreshold', - 'errorMessage' => 'The parameter FailoverThreshold is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.FailoverStrategy', - 'errorMessage' => 'The parameter FailoverStrategy is illegal.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'MasterSlaveServerConflict', - 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', - ], - [ - 'errorCode' => 'MissingParam.VServerGroupId', - 'errorMessage' => 'The parameter VServerGroupId is missing.', - ], - [ - 'errorCode' => 'VipNotSupportQuicVersion', - 'errorMessage' => 'The listener does not support the parameter of QuicVersion.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheckType', - 'errorMessage' => 'The param of HealthCheckType is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheckMethod', - 'errorMessage' => 'The param of HealthCheckMethod is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.HealthCheck', - 'errorMessage' => 'The param of HealthCheck is illegal.', - ], - [ - 'errorCode' => 'OperationDenied.MasterSlaveGroupLogEnabled', - 'errorMessage' => 'The operation is denied because of MasterSlaveGroupLogEnabled.', - ], - [ - 'errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', - 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', - ], - [ - 'errorCode' => 'OperationDenied.FullNatModeNotAllowed', - 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', - ], - [ - 'errorCode' => 'SpecNotSupportParameter', - 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', - ], - [ - 'errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', - 'errorMessage' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], + ['errorCode' => 'BACKEND_SERVERS_NUM_MUST_BE_TWO', 'errorMessage' => 'Backend servers num must be 2.', 'description' => '后端服务器数量必须是2。'], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ['errorCode' => 'BACKEND_SERVERS_HAVE_SAME_PORT_AND_SERVERID', 'errorMessage' => 'Backend servers have same port and serverId.', 'description' => '后端服务器组中已存在具有相同的端口和服务器ID的虚拟服务器。'], + ['errorCode' => 'BACKEND_SERVERS_CAN_ONLY_CONTAIN_ONE_MASTER_AND_ONE_SLAVE', 'errorMessage' => 'Backend servers can only contain one master and one slave.', 'description' => '主备虚拟服务器组只能包含一个主服务器和一个备服务器。'], + ['errorCode' => 'BACKEND_SERVER_ID_CAN_NOT_EMPTY', 'errorMessage' => 'Backend server id can not empty.', 'description' => '后端服务器ID不能为空。'], + ['errorCode' => 'INVALID_SERVER_TYPE', 'errorMessage' => 'Invalid server type.', 'description' => ''], + ['errorCode' => 'BACKEND_SERVER_PORT_CAN_NOT_EMPTY', 'errorMessage' => 'Backend server port can not empty.', 'description' => '后端服务器端口不允许为空。'], + ['errorCode' => 'RealServerPortNotSupport', 'errorMessage' => 'Real server port not support.', 'description' => '后端服务器端口不支持。'], + ['errorCode' => 'OperationUnsupported.CreateMasterSlaveServerGroup', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => '这种类型的后端服务器不允许附加到 singleTunnel 或 anyTunnel lb。'], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => '指定后端服务器的BypassToa配置无效。'], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer does not support such action.', 'description' => '当前实例不支持该操作。'], + ['errorCode' => 'RsTunnelIp2VmNameConflict', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', 'description' => '虚拟服务器组和ECS配置信息不一致。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerUDPListenerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerUDPListenerAttributeResponse>","errorExample":""}]', - 'title' => '修改UDP协议监听的配置', - 'summary' => '修改UDP协议监听的配置。', - 'description' => '- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - .'- 您已经创建UDP监听,具体操作,请参见[CreateLoadBalancerUDPListener](~~27595~~)。', + 'title' => '创建主备服务器组', + 'summary' => '创建主备服务器组。一个主备服务器组只能包含两个后端服务器,一个为主服务器,另一个为备服务器。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerUDPListenerAttribute' => [ - 'summary' => '查询UDP监听的配置。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateMasterSlaveServerGroup'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateMasterSlaveServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"MasterSlaveServerGroupId\\": \\"rsp-bp19au4******\\",\\n \\"RequestId\\": \\"7CA4DB76-4D32-523B-822E-5C9******\\",\\n \\"MasterSlaveBackendServers\\": {\\n \\"MasterSlaveBackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"test-112\\",\\n \\"Port\\": 82,\\n \\"ServerId\\": \\"i-bp1fq61enf4loa5i****\\",\\n \\"ServerType\\": \\"Master\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateMasterSlaveServerGroupResponse>\\n <MasterSlaveServerGroupId>rsp-bp19au4******</MasterSlaveServerGroupId>\\n <RequestId>7CA4DB76-4D32-523B-822E-5C9494613D46</RequestId>\\n <MasterSlaveBackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>test-112</Description>\\n <Port>82</Port>\\n <ServerId>i-bp1fq61enf4loa5i****</ServerId>\\n <ServerType>Master</ServerType>\\n </MasterSlaveBackendServers>\\n</CreateMasterSlaveServerGroupResponse>","errorExample":""}]', + ], + 'CreateRules' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88590', - 'abilityTreeNodes' => [ - 'FEATUREslbYU0ILA', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbPXBZ65', 'FEATUREslbFSBXXR'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1rtfnodmywb43e*****', - ], + 'schema' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ca0zt07t934w******'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '负载均衡实例前端使用的监听端口。'."\n" + ."\n" + .'取值范围:**1~65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '443'], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + ."\n" + .'> 相同端口存在不同协议监听时,此字段必选。', 'type' => 'string', 'required' => false, 'example' => 'https'], + ], + [ + 'name' => 'RuleList', + 'in' => 'query', + 'schema' => ['description' => '要添加的转发规则。一次请求中,最多可添加10条转发规则。每条转发规则包含以下参数:'."\n" + ."\n" + .'- **RuleName**(必选):String类型。转发规则名称,长度为1~40个字符,支持字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。同一个监听内不同规则的名称必须唯一。'."\n" + ."\n" + .'- **Domain**(可选): String类型。转发规则关联的请求域名,与**Url**参数至少选择一个。'."\n" + ."\n" + .'- **Url**(可选):String类型,可选,访问路径,长度限制为1~80个字符,只能使用中文、字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、问号(?)、井号(#)和and(&)这些字符。 URL不能只为正斜线(/),但必须以正斜线(/)开头,与**Domain**参数至少选择一个。'."\n" + ."\n" + .'- **VServerGroupId**(必选):String类型。该转发规则的目标虚拟服务器组ID。'."\n" + ."\n" + .'> `Domain`和`Url`两者必须指定一个,也可以同时指定。`Domain`和`Url`的组合在同一个监听内必须唯一。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"RuleName":"Rule2","Domain":"test.com","VServerGroupId":"rsp-bp114ni******"}]'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false'], ], ], 'responses' => [ @@ -7604,372 +3177,269 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '绑定的虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'Status' => [ - 'description' => '当前监听的状态。取值:'."\n" - ."\n" - .'* **running**:监听正常运行。'."\n" - ."\n" - .'* **stopped**:监听停止运行。', - 'type' => 'string', - 'example' => 'stopped', - ], - 'AclType' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。'."\n" - ."\n" - .' 设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。'."\n" - .' '."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。', - 'type' => 'string', - 'example' => 'white', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的端口。取值:**1**~**65535**。不设置此参数时,表示使用后端服务端口(BackendServerPort)。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Description' => [ - 'description' => '自定义监听名称。', - 'type' => 'string', - 'example' => 'UDP_80', - ], - 'Bandwidth' => [ - 'description' => '监听的带宽峰值,单位Mbps。取值:'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。'."\n" - ."\n" - .'- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => '绑定的主备服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-0bfucw****', - ], - 'BackendServerPort' => [ - 'description' => '传统型负载均衡实例后端使用的端口。'."\n" - ."\n" - .'> 如果后端服务器组为虚拟服务器组,则不返回该参数。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'AclStatus' => [ - 'description' => '是否开启访问控制功能。取值:**on**或**off**(默认值)。', - 'type' => 'string', - 'example' => 'off', - ], - 'UnhealthyThreshold' => [ - 'description' => '不健康检查阈值。健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。取值:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'ListenerPort' => [ - 'description' => '传统型负载均衡实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '53', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔,取值:**1**~**50**秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckExp' => [ - 'description' => 'UDP监听健康检查的响应串。只允许包含字母、数字,最大长度限制为64个字符。', - 'type' => 'string', - 'example' => 'ok', - ], - 'AclId' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'example' => 'acl-uf60jwfiv6******', - ], - 'Scheduler' => [ - 'description' => '调度算法,取值:'."\n" - .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。取值:**1**~**300**秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查阈值。健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。取值:**2**~**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckReq' => [ - 'description' => 'UDP监听健康检查的请求串。只允许包含字母、数字,最大长度限制为64个字符。', - 'type' => 'string', - 'example' => 'hello', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:关闭。', - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclId' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'array', - ], - ], - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1rtfnodmywb43e*****', - ], - 'Tags' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + 'Rules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => '标签列表。', + 'Rule' => [ + 'description' => '转发规则列表。', 'type' => 'array', 'items' => [ - 'description' => '标签列表。', + 'description' => '转发规则列表。', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestValue', - ], + 'RuleName' => ['description' => '转发规则名称。', 'type' => 'string', 'example' => 'Rule2'], + 'RuleId' => ['description' => '转发规则ID。', 'type' => 'string', 'example' => 'rule-bp12jzy0*****'], ], + 'enumValueTitles' => [], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified VServerGroupId does not belong to the LoadBalancerId of the rule.', 'description' => '指定的服务器组和当前转发规则不属于同一个负载均衡实例。'], + ['errorCode' => 'InvalidParameterValue.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter value, %s.', 'description' => '当前地域不支持指定的参数取值。'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'DomainExist', 'errorMessage' => 'rule with same domain and url already exists in specified vip', 'description' => '监听中已经存在了相同的域名和URL的规则。'], + ['errorCode' => 'OperationFailed.ListenerStatusNotSupport', 'errorMessage' => 'The status of the listener does not support this operation. Please try again later.', 'description' => '操作失败,原因是当前监听正在变配中,请稍后重试。'], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer does not support such action.', 'description' => '当前实例不支持该操作。'], + ['errorCode' => 'MissingParameter.RuleName', 'errorMessage' => 'The parameter RuleName is required.', 'description' => '参数RuleName缺失。'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"Status\\": \\"stopped\\",\\n \\"AclType\\": \\"white\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"Description\\": \\"UDP_80\\",\\n \\"Bandwidth\\": -1,\\n \\"MasterSlaveServerGroupId\\": \\"rsp-0bfucw****\\",\\n \\"BackendServerPort\\": 90,\\n \\"AclStatus\\": \\"off\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"ProxyProtocolV2Enabled\\": false,\\n \\"ListenerPort\\": 53,\\n \\"HealthCheckInterval\\": 5,\\n \\"HealthCheckExp\\": \\"ok\\",\\n \\"AclId\\": \\"acl-uf60jwfiv6******\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheckConnectTimeout\\": 100,\\n \\"HealthyThreshold\\": 4,\\n \\"HealthCheckReq\\": \\"hello\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"AclIds\\": {\\n \\"AclId\\": [\\n \\"\\"\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-bp1rtfnodmywb43e*****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerUDPListenerAttributeResponse>\\n <VServerGroupId>rsp-cige6j****</VServerGroupId>\\n <Status>stopped</Status>\\n <AclType>white</AclType>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <Description>UDP_80</Description>\\n <Bandwidth>-1</Bandwidth>\\n <MasterSlaveServerGroupId>rsp-0bfucw****</MasterSlaveServerGroupId>\\n <BackendServerPort>90</BackendServerPort>\\n <AclStatus>off</AclStatus>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <ProxyProtocolV2Enabled>false</ProxyProtocolV2Enabled>\\n <ListenerPort>53</ListenerPort>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <HealthCheckExp>ok</HealthCheckExp>\\n <AclId>123943****</AclId>\\n <Scheduler>wrr</Scheduler>\\n <HealthCheckConnectTimeout>100</HealthCheckConnectTimeout>\\n <HealthyThreshold>4</HealthyThreshold>\\n <HealthCheckReq>hello</HealthCheckReq>\\n <HealthCheck>on</HealthCheck>\\n <LoadBalancerId>lb-bp1rtfnodmywb43e*****</LoadBalancerId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n</DescribeLoadBalancerUDPListenerAttributeResponse>","errorExample":""}]', - 'title' => '查询UDP监听的配置', + 'title' => '为HTTP或HTTPS监听添加转发规则', + 'summary' => '为指定的HTTP或HTTPS监听添加转发规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateLoadBalancerHTTPListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRules'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateRules', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"RuleName\\": \\"Rule2\\",\\n \\"RuleId\\": \\"rule-bp12jzy0*****\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateRulesResponse>\\n\\t<RequestId>D63E42FB-F963-4EE5-9B32-05602BF351F3</RequestId>\\n\\t<Rules>\\n\\t\\t<Rule>\\n\\t\\t\\t<RuleId>rule-bp12jzy******</RuleId>\\n\\t\\t\\t<RuleName>Rule3</RuleName>\\n\\t\\t</Rule>\\n\\t</Rules>\\n</CreateRulesResponse>","errorExample":""}]', + ], + 'CreateTLSCipherPolicy' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88525', - 'abilityTreeNodes' => [ - 'FEATUREslbPXBZ65', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~27584~~)接口获取地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1c9vixxjh92q83tw*****', - ], + 'schema' => ['description' => 'TLS 策略名称。长度为 2~200 个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TLSPolicy-test'], ], [ - 'name' => 'Bandwidth', + 'name' => 'Ciphers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '监听的带宽峰值,单位:Mbps。取值:'."\n" + 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" ."\n" - .'<props="intl">**-1**:不限制带宽峰值。</props>'."\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" - .'<props="china">'."\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" ."\n" - .'- **-1**:不限制带宽峰值。'."\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**'."\n", + 'type' => 'array', + 'items' => ['description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" ."\n" - .'- **1**~**5120**:监听的带宽峰值,所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\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" - .'</props>', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - 'default' => '-1', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => '实例前端使用的端口。'."\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" ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', + .'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**'."\n", 'type' => 'string', 'required' => false, 'example' => 'ECDHE-ECDSA-AES128-SHA'], 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', + 'example' => 'AES256-SHA256', + 'maxItems' => 30, ], ], [ - 'name' => 'BackendServerPort', + 'name' => 'TLSVersions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '实例后端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。'."\n" - ."\n" - .'> 如果不使用虚拟服务器组(不指定VServerGroupId参数),则该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', + 'description' => '支持的TLS协议版本。取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', + 'type' => 'array', + 'items' => ['description' => '支持的TLS协议版本。取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', 'type' => 'string', 'required' => false, 'example' => 'TLSv1.0'], + 'required' => true, + 'example' => 'TLSv1.0', + 'maxItems' => 5, ], ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否开启通过`X-Forwarded-For`头字段获取来访客户端IP。取值:'."\n" - .'- **on**(默认值):是。'."\n" - .'- **off**:否。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', + 'type' => 'object', + 'properties' => [ + 'TLSCipherPolicyId' => ['description' => '策略ID。', 'type' => 'string', 'example' => 'tls-bp14bb1e7dll4f****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF'], + ], + 'description' => '', ], ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**(默认值):权重值越高的后端服务器,被轮询到的概率也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParam.Name', 'errorMessage' => 'The param Name is missing.', 'description' => '参数Name缺失。'], + ['errorCode' => 'MissingParam.TlsVersions', 'errorMessage' => 'The param TlsVersions is missing.', 'description' => '参数TlsVersions缺失。'], + ['errorCode' => 'MissingParam.Ciphers', 'errorMessage' => 'The param Ciphers is missing.', 'description' => '参数Ciphers缺失。'], + ['errorCode' => 'ParamDuplicateError.TlsVersions', 'errorMessage' => 'The param TlsVersions is duplicate in request.', 'description' => '参数TlsVersions重复。'], + ['errorCode' => 'ParamDuplicateError.Ciphers', 'errorMessage' => 'The param Ciphers is duplicate in request.', 'description' => '参数Ciphers重复。'], + ['errorCode' => 'TLSPolicyNoSupportVersion', 'errorMessage' => 'The specified TLS version is not supported.', 'description' => '当前TLSCipherPolicy不支持指定的Version。'], + ['errorCode' => 'TLSPolicyNoSupportCipher', 'errorMessage' => 'The specified TLS cipher is not supported.', 'description' => '当前TLSCipherPolicy不支持指定的Cipher。'], + ['errorCode' => 'TLSCipherPolicyOverLimit', 'errorMessage' => 'The TLSCipherPolicy is over the limit.', 'description' => 'TLSCipherPolicy数量已达到配额上限。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TLSCipherPolicyId\\": \\"tls-bp14bb1e7dll4f****\\",\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTLSCipherPolicyResponse>\\n <TLSCipherPolicyId>tls-bp14bb1e7dll4f****</TLSCipherPolicyId>\\n <RequestId>D7A8875F-373A-5F48-8484-25B07A61F2AF</RequestId>\\n</CreateTLSCipherPolicyResponse>","errorExample":""}]', + 'title' => '创建TLS策略', + 'summary' => '创建TLS策略。', + 'description' => '该功能默认不开放,建议您使用 ALB 或 NLB。特殊情况请联系销售或提交工单。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTLSCipherPolicy'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'StickySession', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启会话保持。取值:'."\n" - ."\n" - .'- **on**:是。'."\n" - ."\n" - .'- **off**(默认值):否。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'off', - 'default' => 'off', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/*'], + ], ], ], + ], + ], + 'CreateVServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie处理方式。取值:'."\n" - ."\n" - .'- **insert**:植入Cookie。'."\n" - ."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie,下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'- **server**:重写Cookie。'."\n" - ."\n" - .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'> 当**StickySession**值为**on**时,必须指定该参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '88537', + 'abilityTreeNodes' => ['FEATUREslb1HTJST'], + ], + 'parameters' => [ [ 'name' => 'Tag', 'in' => 'query', @@ -7982,18 +3452,11 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, ], @@ -8002,392 +3465,489 @@ ], ], [ - 'name' => 'CookieTimeout', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie超时时间。单位:秒。'."\n" - ."\n" - .'取值:**1**~**86400**。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', - ], + 'schema' => ['description' => '传统型负载均衡地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Cookie', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" - ."\n" - .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3ahl******'], ], [ - 'name' => 'HealthCheck', + 'name' => 'VServerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**:开启健康检查。'."\n" - ."\n" - .'- **off**:不开启健康检查。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'on', - ], + 'schema' => ['description' => '虚拟服务器组名称。'."\n" + ."\n" + .'长度限制为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、英文句点(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'Group1'], ], [ - 'name' => 'HealthCheckMethod', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" - ."\n" - .'> **HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], + 'schema' => ['description' => '要添加的后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]'], ], - [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '用于健康检查的域名,取值:'."\n" - ."\n" - .'- **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'- **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.*.*/12', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => '后端服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6******'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => ' 后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'eni'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '后端服务器组描述。', 'type' => 'string', 'example' => 'vServer group'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '70'], + 'ServerId' => ['description' => 'ECS实例ID或ENI实例ID。', 'type' => 'string', 'example' => 'eni-hhshhs****'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'长度限制为1~80个字符,只能使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)这些字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'LBNotSupportIpv6Backend', 'errorMessage' => 'The specified loadbalancer does not support ipv6 backend.', 'description' => ''], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ['errorCode' => 'InvalidBackendServers.ServerIpConflict', 'errorMessage' => '%s.', 'description' => '存在相同TunnelId和RsIp配置的后端服务器。'], + ['errorCode' => 'OperationUnsupported.CreateVServerGroup', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => 'SingleTunnel和AnyTunnel类型负载均衡实例不支持指定类型的后端服务器。'], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => '指定后端服务器的BypassToa配置无效。'], + ['errorCode' => 'BackendServer.InvalidType', 'errorMessage' => 'The specified Type is invalid.', 'description' => '后端服务器类型非法。'], + ['errorCode' => 'BackendServer.ServerRegionIdNotEqual', 'errorMessage' => 'The specified ServerRegionId must be equal.', 'description' => '后端服务器必须属于同一个地域。'], + ['errorCode' => 'OperationFailed.InvalidCen', 'errorMessage' => 'The cen related with this loadbalancer is invalid.', 'description' => '操作失败,原因是指定负载均衡实例关联的Cen信息缺失。'], + ['errorCode' => 'IncorrectStatus.CenNotAssociated', 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', 'description' => '该操作无效,因为当前负载均衡实例未与cen关联。'], + ['errorCode' => 'InvalidBackendServers.MissingCenBandWidth', 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'description' => 'Cen中的负载均衡实例所在的地域和挂载的目标地域之间要有带宽包。'], + ['errorCode' => 'InvalidBackendServers.VpcNotInCen', 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'description' => '后端服务器不在与负载均衡关联的cen中。'], + ['errorCode' => 'InvalidServerId.NotExist', 'errorMessage' => 'The specified ServerId is not exist.', 'description' => '指定的后端服务器不存在。'], + ['errorCode' => 'MissingParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is required.', 'description' => '参数ServerRegionId缺失。'], + ['errorCode' => 'MissingParameter.VbrId', 'errorMessage' => 'The parameter VbrId is required.', 'description' => '参数VbrId缺失。'], + ['errorCode' => 'InvalidParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', 'description' => '指定的ServerRegionId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidVbrId.NotInCen', 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', 'description' => '指定的Vbr不在实例关联的Cen内。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', 'description' => '虚拟服务器组和ECS配置信息不一致。'], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'VpcSystemBusy', 'errorMessage' => 'Invoke vpc system busy, please retry later.', 'description' => ''], + ['errorCode' => 'OperationFailed.Endpoint', 'errorMessage' => 'The operation failed because of the RegionId is unavailable in this endpoint.', 'description' => 'endpoint 错误'], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6******\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"vServer group\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateVServerGroupResponse>\\n <VServerGroupId>rsp-cige6******</VServerGroupId>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <BackendServers>\\n <Type>Type</Type>\\n <Weight>100</Weight>\\n <Description>后端服务器组</Description>\\n <Port>70</Port>\\n <ServerId>vm-2****</ServerId>\\n </BackendServers>\\n</CreateVServerGroupResponse>","errorExample":""}]', + 'title' => '创建虚拟服务器组并添加后端服务器', + 'summary' => '创建虚拟服务器组并向指定的服务器组中添加后端服务器。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-08-26T06:38:01.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-10-13T07:59:49.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVServerGroup'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateVServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], + ], + ], + 'DeleteAccessControlList' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'UnhealthyThreshold', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '访问控制策略组的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'HealthCheckTimeout', + 'name' => 'AclId', 'in' => 'query', + 'schema' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43kz******'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" - ."\n" - .'取值:**1**~**300**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49'], + ], + 'description' => '', ], ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的后端服务器的端口。'."\n" - ."\n" - .'取值: **1**~**65535**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '80', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'OperationFailed.AclBindedWithVip', 'errorMessage' => 'The ACL has binded with vip.', 'description' => '操作失败,原因是Acl已与监听绑定。'], + ], + ], + 'title' => '删除访问控制策略组', + 'summary' => '删除访问控制策略组。', + 'description' => '<note>只有当要删除的访问控制策略组没有绑定任何监听时,才可以删除。</note>', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessControlList'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteAccessControlList', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', + ], + 'DeleteAccessLogsDownloadAttribute' => [ + 'summary' => '删除指定传统型负载均衡实例的访问日志。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值: **1**~**50**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。'."\n" - ."\n" - .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**或**http\\_5xx**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j*****', - ], + 'schema' => ['description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]'], ], [ - 'name' => 'XForwardedFor_SLBIP', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**(默认值):否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'lb-uf68ps3rekbljmdb0****'], ], [ - 'name' => 'XForwardedFor_SLBID', + 'name' => 'LogsDownloadAttributes', 'in' => 'query', + 'schema' => ['description' => '访问日志转发规则。组成参数:'."\n" + ."\n" + .'- **LogProject**:日志服务LogProject的名称。'."\n" + .'- **LogStore**:日志服务LogStore的名称。'."\n" + .'- **LoadBalancerId**:传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**(默认值):否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****'], + ], + 'description' => '', ], ], - [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**(默认值):否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The AccessLogDownloadAttribute not exists.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除访问日志下载任务', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessLogsDownloadAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9C****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccessLogsDownloadAttributeResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9C****</RequestId>\\n</DeleteAccessLogsDownloadAttributeResponse>","errorExample":""}]', + ], + 'DeleteCACertificate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Gzip', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" - .'- **on**(默认值):是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'AclId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jw******', - ], + 'schema' => ['description' => 'CA证书的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclType', + 'name' => 'CACertificateId', 'in' => 'query', + 'schema' => ['description' => 'CA证书ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '123157908xxxxxxx_15c73d77203_-986300114_-2110544xxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '访问控制类型。取值:'."\n" - ."\n" - .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - .' '."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'>当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'CertificateAndPrivateKeyIsRefered', 'errorMessage' => 'The specified certificate is bound to listeners. You cannot delete it.', 'description' => '当前证书已经关联监听,无法删除。'], + ], + ], + 'title' => '删除CA证书', + 'summary' => '删除CA证书。', + 'description' => '<note>无法删除正在使用的CA证书。</note>', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCACertificate'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'AclStatus', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**(默认值):否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteCACertificate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteDomainExtension' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP_443', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'ListenerForward', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启HTTP至HTTPS的转发。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**(默认值):否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例的所属地域。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ForwardPort', + 'name' => 'DomainExtensionId', 'in' => 'query', + 'schema' => ['description' => '要删除的扩展域名ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'de-bp1rp7ta1****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'HTTP至HTTPS的监听转发端口。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '443', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '149A2470-F010-4437-BF68-343******'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.DomainExtensionId', 'errorMessage' => 'The specified DomainExtensionId does not exist.', 'description' => '指定的扩展域名不存在。'], + ['errorCode' => 'DomainExtensionProcessing', 'errorMessage' => 'A previous configuration of the DomainExtension is pending, please try again later.', 'description' => '指定的扩展域名正在变配中, 请稍后重试。'], + ['errorCode' => 'DomainExtensionRelatedRuleExist', 'errorMessage' => 'The DomainExtension is related with rules.', 'description' => '扩展域名和转发规则已关联。'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ], + ], + 'title' => '删除扩展域名', + 'summary' => '删除扩展域名。', + 'changeSet' => [ + ['createdAt' => '2024-01-16T06:27:43.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDomainExtension'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '指定连接空闲超时时间。单位:秒。'."\n" - ."\n" - .'默认值为**15**,取值范围:**1**~**60**。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '3', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteDomainExtension', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"149A2470-F010-4437-BF68-343******\\"\\n}","type":"json"}]', + ], + 'DeleteLoadBalancer' => [ + 'summary' => '删除后付费的负载均衡实例。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '指定请求超时时间。单位:秒。'."\n" - ."\n" - .'默认值为**60**,取值范围为**1**~**180**。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回` HTTP 504 `错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '6', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'XForwardedFor_SLBPORT', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例的ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1h66tp5uat8********'], ], ], 'responses' => [ @@ -8395,647 +3955,460 @@ 'schema' => [ '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'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified ListenerPort or ForwardPort is invalid.', - ], - [ - 'errorCode' => 'ListenerForwardNotSupport', - 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', - ], - [ - 'errorCode' => 'InvalidParameter.IdleTimeout', - 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidParameter.RequestTimeout', - 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'ListenerProcessing', - 'errorMessage' => 'A previous configuration of the listener is pending,please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.ListenerPortConflict', - 'errorMessage' => 'There is conflict listener port exists.', - ], - [ - 'errorCode' => 'ResourceNotAvailible.HttpListener', - 'errorMessage' => 'The specified Zone did not have enough resource.', - ], - [ - 'errorCode' => 'AclNotExist', - 'errorMessage' => 'Acl does not exist.', - ], - [ - 'errorCode' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', - 'errorMessage' => 'The slb instance does not support create HTTP or HTTPS listener.', - ], - [ - 'errorCode' => 'InvalidParameter.VServerGroupId', - 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckDomain', - 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', - ], - [ - 'errorCode' => 'InvalidParameter.HealthCheckHttpVersion', - 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationFailed.InsufficientResources', - 'errorMessage' => 'The loadbalancer does not support this operation because of insufficient resources.', - ], - [ - 'errorCode' => 'InvalidParameter.ForwardCode', - 'errorMessage' => 'The specified ForwardCode is invalid.', - ], - [ - 'errorCode' => 'LbNotSupportTcpssl', - 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', - ], - [ - 'errorCode' => 'LbSupportTcpsslOnly', - 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', - ], - [ - 'errorCode' => 'ListenerNotSupportRule', - 'errorMessage' => 'You cannot create a rule for the specified listener.', - ], - [ - 'errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', - 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], + ['errorCode' => 'InvalidChargeType', 'errorMessage' => 'The prepay loadBalancer does not support this action.', 'description' => '预付费负载均衡实例不支持变配计费类型。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied. Unfinished order exists.', 'description' => '操作被拒绝,原因是存在未完成的订单。'], + ['errorCode' => 'OperationDenied.DeleteProtectionIsOn', 'errorMessage' => 'The loadbalancer can not be deleted due to DeleteProtection is enabled.', 'description' => '操作被拒绝,原因是负载均衡实例开启了删除保护。'], + ['errorCode' => 'NoPermission.AliyunServiceRoleForSlbEipAccess', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbEipAccess. Service Name: eipaccess.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission ', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerHTTPListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</CreateLoadBalancerHTTPListenerResponse>","errorExample":""}]', - 'title' => '创建HTTP监听', - 'summary' => '创建HTTP监听。', - 'description' => '### 注意事项'."\n" - ."\n" - .' 新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~27597~~)接口启动监听来转发流量。'."\n" - ."\n" - .'### 前提条件'."\n" - ."\n" - .'您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。', + 'title' => '删除后付费的负载均衡实例', + 'description' => '> 如果负载均衡实例上还有监听或者绑定了相应的标签,也会一并被删除。', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerHTTPListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-10-18T15:20:38.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancer'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteLoadBalancerListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88668', - 'abilityTreeNodes' => [ - 'FEATUREslbPXBZ65', - ], - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~27585~~)列表或通过调用[DescribeRegions](~~27584~~)接口获取地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n" + ."\n\n" + .'> 当您所选地域的Endpoint(服务地址)为slb.aliyuncs.com时,**RegionId**必填。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3ah*****', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp13jaf5qli5xmgl1miup'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1~65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ - 'name' => 'Bandwidth', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '监听的带宽峰值。单位:Mbps。取值:'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" - ."\n" - .'<props="china">- **1**~**5120**(Mbps):对于按带宽计费的公网负载均衡实例,可以为每个监听设置带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。详情参见[共享实例带宽](~~85930~~)。</props>', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => '传统型负载均衡实例前端使用的协议。'."\n" + ."\n" + .'> 相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否通过`X-Forwarded-For`头字段获取客户端请求的真实IP。取值:'."\n" - .'- **on**(默认值):是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'description' => '', ], ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ListenerForwardExist', 'errorMessage' => 'The specified listener is forwarded by the other listener, the ListenerForward relationship should be deleted firstly.', 'description' => '当前的监听已由另一个监听转发,请先删除当前监听转发关系后重试。'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified listener is not allowed to operate.', 'description' => '当前监听不支持变配。'], ], - [ - 'name' => 'StickySession', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启会话保持。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 404 => [ + ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified listener is not found.', 'description' => '指定的监听不存在。'], ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie的处理方式。取值:'."\n" - ."\n" - .'- **insert**:植入Cookie。'."\n" - ."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'- **server**:重写Cookie。'."\n" - .' '."\n" - .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - .' '."\n" - .'> 当**StickySession**的值为**on**时,必须指定该参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], + ], + 'title' => '删除监听', + 'summary' => '删除监听。', + 'description' => '> 只有当监听的状态为**stopped**或者**running**时,才可以删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-20T09:41:13.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancerListener'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie超时时间。'."\n" - ."\n" - .'取值:**1**~**86400**秒。'."\n" - ."\n" - .'>当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteLoadBalancerListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteLoadBalancerListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</DeleteLoadBalancerListenerResponse>","errorExample":""}]', + ], + 'DeleteMasterSlaveServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" - .' '."\n" - ."\n" - .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'HealthCheck', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'HealthCheckMethod', + 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" - ."\n" - .'> **HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], + 'schema' => ['description' => '主备服务器组ID。'."\n" + ."\n" + .'> 如果主备服务器组正在使用中,无法删除。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6******'], ], - [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '用于健康检查的域名,取值:'."\n" - .' '."\n" - .'* **$_ip**: 后端服务器的私网IP。当指定了**$_ip**或**HealthCheckDomain**未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.16', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + ], + 'description' => '', ], ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'长度限制为1~80字符,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'RspoolVipExist', 'errorMessage' => 'there are vips associating with this vServer group.', 'description' => '已有监听绑定了该虚拟服务器组, 请您先解除绑定。'], ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + ], + 'title' => '删除指定的主备服务器组', + 'summary' => '删除指定的主备服务器组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteMasterSlaveServerGroup'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteMasterSlaveServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<DeleteMasterSlaveServerGroupResponse>\\n\\t<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</DeleteMasterSlaveServerGroupResponse>","errorExample":""}]', + ], + 'DeleteRules' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。在**HealthCheck**值为**on**时才会有效。'."\n" - ."\n" - .'取值:**1**~**300**秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'HealthCheckInterval', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔。'."\n" - ."\n" - .'取值:**1**~**50**秒。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'RuleIds', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。'."\n" - ."\n" - .'> 当**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '8080', - ], + 'schema' => ['description' => '要删除的转发规则列表。'."\n" + ."\n" + .'> 要删除的转发规则列表不能为空,并且可删除的转发规则条目数不能超过10条。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["rule-bp1z9ce******","rule-bp1tuc******4"]'], ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" - ."\n" - .'取值:**http_2xx**、**http_3xx**、**http_4xx**或**http_5xx**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + ], + 'description' => '', ], ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => '是否使用虚拟服务器组。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified rules must be in the same listener.', 'description' => '指定的转发规则必须属于同一个监听。'], + ['errorCode' => 'OperationFailed.ListenerStatusNotSupport', 'errorMessage' => 'The status of the listener does not support this operation. Please try again later.', 'description' => '操作失败,原因是当前监听正在变配中,请稍后重试。'], + ['errorCode' => 'OperationFailed.ListenerConflict', 'errorMessage' => 'The rule does not support this operation because of same port listener.', 'description' => '操作失败,原因是监听端口号冲突。'], ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j*****', + ], + 'title' => '删除转发规则', + 'summary' => '删除转发规则。', + 'description' => '要删除的转发规则列表不能为空,并且可删除的转发规则条目数不能超过10条。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRules'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteRules', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<DeleteRulesResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</DeleteRulesResponse>","errorExample":""}]', + ], + 'DeleteServerCertificate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'XForwardedFor_SLBIP', - 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'XForwardedFor_SLBID', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '负载均衡实例的地域。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'XForwardedFor_proto', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '服务器证书ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '123157xxxxxxx_166f8204689_1714763408_7099*******'], ], - [ - 'name' => 'Gzip', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'CertificateRelatedDomainExtensionExist', 'errorMessage' => 'The domainExtension related with this ServerCertificate exists.', 'description' => '当前扩展域名已关联指定证书。'], + ['errorCode' => 'CertificateAndPrivateKeyIsRefered', 'errorMessage' => 'The specified certificate is bound to listeners. You cannot delete it.', 'description' => '当前证书已经关联监听,无法删除。'], + ], + ], + 'title' => '删除服务器证书', + 'summary' => '删除服务器证书。', + 'description' => '> 如果指定删除的证书被引用,无法删除。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerCertificate'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jw******', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DeleteServerCertificateResponse>\\n\\t\\t<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId></DeleteServerCertificateResponse>","errorExample":""}]', + ], + 'DeleteTLSCipherPolicy' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AclType', - 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - .' '."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'>当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'AclStatus', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例所在的地域ID。'."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'IdleTimeout', + 'name' => 'TLSCipherPolicyId', 'in' => 'query', + 'schema' => ['description' => 'TLS策略实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tls-bp1lp2076qx4ebridp******'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '指定连接空闲超时时间,取值范围为**1~60**秒,默认值为**15**秒。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '12', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + ], + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParam.TLSCipherPolicyId', 'errorMessage' => 'The param TLSCipherPolicyId is missing.', 'description' => '参数TLSCipherPolicyId缺失。'], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => '指定的TLSCipherPolicy正在变配中。'], + ['errorCode' => 'TLSPolicyBeingUsed', 'errorMessage' => 'The specified TLS cipher policy is being used.', 'description' => '指定的TLSCipherPolicy正在使用中。'], + ['errorCode' => 'InvalidTLSPolicyId.NotExist', 'errorMessage' => 'The specified TLS cipher policy does not exist.', 'description' => '指定的TLS策略不存在。'], + ['errorCode' => 'TLSPolicyRelated', 'errorMessage' => 'The specified TLS cipher policy is related with listeners.', 'description' => '指定的TLSCipherPolicy已关联监听。'], + ], + ], + 'title' => '删除TLS策略', + 'summary' => '删除TLS策略。', + 'description' => '该功能默认不开放,建议您使用ALB或NLB。特殊情况请联系销售或提交工单。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTLSCipherPolicy'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '指定请求超时时间,取值范围为**1~180**秒,默认值为**60**秒。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '3', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#TLSCipherPolicyId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTLSCipherPolicyResponse>\\r\\n<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\r\\n</DeleteTLSCipherPolicyResponse>","errorExample":""}]', + ], + 'DeleteVServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '设置监听的描述信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'XForwardedFor_SLBPORT', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '虚拟服务器组ID。'."\n" + ."\n" + .'> 如果已有监听绑定了该虚拟服务器组,将无法删除。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6j*****'], ], ], 'responses' => [ @@ -9043,104 +4416,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'Operation Denied. The HTTP listener does not support this action.', - ], - [ - 'errorCode' => 'InvalidParameter.IdleTimeout', - 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidParameter.RequestTimeout', - 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'ListenerForwardNotSupport', - 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'OperationFailed.ServerGroupInUse', - 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', - ], - [ - 'errorCode' => 'InvalidParameter.VServerGroupId', - 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckDomain', - 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', - ], - [ - 'errorCode' => 'InvalidParameter.HealthCheckHttpVersion', - 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParameter.ForwardCode', - 'errorMessage' => 'The specified ForwardCode is invalid.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], + ['errorCode' => 'RspoolVipExist', 'errorMessage' => 'there are vips associating with this vServer group.', 'description' => '已有监听绑定了该虚拟服务器组, 请您先解除绑定。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<SetLoadBalancerHTTPListenerAttributeResponse>\\n\\t<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerHTTPListenerAttributeResponse>","errorExample":""}]', - 'title' => '修改HTTP监听的配置', - 'summary' => '修改HTTP监听的配置。', - 'description' => '### 前提条件'."\n" - ."\n" - .'- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - .'- 您已经创建HTTP监听,具体操作,请参见[CreateLoadBalancerHTTPListener](~~27592~~)。', + 'title' => '删除虚拟服务器组', + 'summary' => '删除虚拟服务器组。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerHTTPListenerAttribute' => [ - 'summary' => '查询HTTP监听配置。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVServerGroup'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteVServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<DeleteVServerGroupResponse>\\n\\t<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</DeleteVServerGroupResponse>","errorExample":""}]', + ], + 'DescribeAccessControlListAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9150,50 +4470,35 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '88577', - 'abilityTreeNodes' => [ - 'FEATUREslbOMAMKB', - ], + 'abilityTreeNodes' => ['FEATUREslbEDXHGI', 'FEATUREslb3KZE2S'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以调用[DescribeRegions](~~25609~~)接口获取地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '访问控制策略组的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1uaunez0uho0zf0****', - ], + 'schema' => ['description' => '要查询的访问控制策略组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1ut10zzvh1y8dfs****'], ], [ - 'name' => 'ListenerPort', + 'name' => 'AclEntryComment', 'in' => 'query', - 'schema' => [ - 'description' => '实例前端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '访问控制策略组的条目的备注信息。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'Page', + 'in' => 'query', + 'schema' => ['description' => '分页查询页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -9201,479 +4506,169 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclType' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - ."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'example' => 'white', - ], - 'VServerGroupId' => [ - 'description' => '绑定的服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'Status' => [ - 'description' => '当前监听的状态。取值:'."\n" - ."\n" - .'- **running**:表示监听正常运行。'."\n" - ."\n" - .'- **stopped**:表示监听停止。', - 'type' => 'string', - 'example' => 'stopped', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'Cookie' => [ - 'description' => '服务器上配置的Cookie。', - 'type' => 'string', - 'example' => 'testCookie', - ], - 'Gzip' => [ - 'description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的端口。'."\n" - ."\n" - .' > 当**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'Description' => [ - 'description' => '自定义监听名称。', - 'type' => 'string', - 'example' => 'HTTP_80', - ], - 'Bandwidth' => [ - 'description' => '监听的带宽峰值。单位:Mbps。'."\n" - ."\n" - .'- **-1**:不限制带宽峰值。'."\n" - ."\n" - .'- **1~5120**:监听的带宽峰值,所有监听的带宽峰值之和不能超过实例的带宽峰值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'HealthCheckTimeout' => [ - 'description' => '每次健康检查响应的超时时间,单位:秒。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AclStatus' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'BackendServerPort' => [ - 'description' => '实例后端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'CookieTimeout' => [ - 'description' => 'Cookie超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => '用于健康检查的域名。', - 'type' => 'string', - 'example' => 'www.domain.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '不健康检查阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ForwardPort' => [ - 'description' => 'HTTP至HTTPS的监听转发端口。'."\n" - ."\n" - .'> 如果**ListenerForward**的值为**off**,该参数不显示。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'XForwardedFor_SLBID' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'SecurityStatus' => [ - 'description' => '是否开启安全状态。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码。', - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'ListenerForward' => [ - 'description' => '是否开启HTTP至HTTPS的监听转发。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor' => [ - 'description' => '是否开启通过`X-Forwarded-For`头字段的方式获取来访者真实IP。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'IdleTimeout' => [ - 'description' => '指定连接空闲超时时间,单位:秒。'."\n" - ."\n" - .'默认值为**15**,取值范围为**1~60**。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RequestTimeout' => [ - 'description' => '指定请求超时时间。单位:秒。'."\n" - ."\n" - .'默认值为**60**,取值范围为**1~180**。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'ListenerPort' => [ - 'description' => '实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔,单位:秒。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckURI' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'长度限制为1~80,只能使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%),半角问号(?)、井号(#)和and(&)这些字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。', - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'StickySessionType' => [ - 'description' => 'Cookie的处理方式。'."\n" - ."\n" - .'取值:**insert**或**server**。'."\n" - ."\n" - .'- **insert**:植入Cookie。'."\n" - ."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'- **server**:重写Cookie。'."\n" - ."\n" - .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'>当**StickySession**的值为**on**时,必须指定该参数。', - 'type' => 'string', - 'example' => 'insert ', - ], - 'AclId' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,返回该参数。', - 'type' => 'string', - 'example' => 'acl-uf60jw******', - ], - 'Scheduler' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_proto' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => '是否开启会话保持。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" - ."\n" - .'> **HealthCheck**值为**on**时,返回该参数。', - 'type' => 'string', - 'example' => 'get', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'example' => 'acl-bp1ut10zzvh1y8dfs****'], + 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'AclId' => [ - 'description' => '访问控制策略组ID。', + 'Tag' => [ + 'description' => 'ACL的标签集合。', 'type' => 'array', + 'items' => [ + 'description' => 'ACL的标签集合。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'ACL的标签键。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => 'ACL的标签值。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], ], ], + 'description' => '', ], - 'Rules' => [ + 'AddressIPVersion' => ['description' => '关联的实例的IP类型。', 'type' => 'string', 'example' => 'ipv4'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C9906A1D-86F7-4C9C-A369-54DA42EF206A'], + 'ResourceGroupId' => ['description' => '企业资源组ID。', 'type' => 'string', 'example' => 'rg-acfmz3jksig****'], + 'AclName' => ['description' => '访问控制策略组名称。', 'type' => 'string', 'example' => 'doctest'], + 'AclEntrys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Rule' => [ - 'description' => '转发规则描述。', + 'AclEntry' => [ + 'description' => '访问控制策略组的信息列表。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '转发规则的目标服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-uf6w******', - ], - 'Url' => [ - 'description' => '访问路径。', - 'type' => 'string', - 'example' => '/example', - ], - 'Domain' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RuleName' => [ - 'description' => '转发规则名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'RuleId' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'example' => '1234', - ], + 'AclEntryComment' => ['description' => '访问控制条目备注。', 'type' => 'string', 'example' => 'The remarks of the ACL entry.'], + 'AclEntryIP' => ['description' => '访问控制条目IP。', 'type' => 'string', 'example' => '192.168.0.1'], ], + 'description' => '', ], ], ], + 'description' => '', ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1uaunez0uho0zf0****', - ], - 'Tags' => [ + 'RelatedListeners' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => '标签列表。', + 'RelatedListener' => [ + 'description' => '该访问控制策略组已绑定的监听列表。', 'type' => 'array', 'items' => [ - 'description' => '标签列表。', + 'description' => '该访问控制策略组已绑定的监听列表。', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestValue', - ], + 'ListenerPort' => ['description' => '绑定的监听的前端端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], + 'AclType' => ['description' => '访问控制的类型:'."\n" + ."\n" + .'- **black**:黑名单'."\n" + ."\n" + .'- **white**:白名单', 'type' => 'string', 'example' => 'white'], + 'Protocol' => ['description' => '绑定的监听的协议类型。', 'type' => 'string', 'example' => 'https'], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'example' => 'lb-bp1qpzldlm38bnexl****'], ], ], ], ], + 'description' => '', ], + 'CreateTime' => ['description' => '访问控制策略的创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z'], + 'TotalAclEntry' => ['description' => '访问控制条目总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclType\\": \\"white\\",\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"Status\\": \\"stopped\\",\\n \\"XForwardedFor_ClientSrcPort\\": \\"off\\",\\n \\"Cookie\\": \\"testCookie\\",\\n \\"Gzip\\": \\"on\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Description\\": \\"HTTP_80\\",\\n \\"Bandwidth\\": -1,\\n \\"HealthCheckTimeout\\": 3,\\n \\"AclStatus\\": \\"off\\",\\n \\"BackendServerPort\\": 80,\\n \\"CookieTimeout\\": 500,\\n \\"HealthCheckDomain\\": \\"www.domain.com\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"ForwardPort\\": 80,\\n \\"XForwardedFor_SLBID\\": \\"on\\",\\n \\"SecurityStatus\\": \\"on\\",\\n \\"HealthCheckHttpCode\\": \\"http_2xx,http_3xx\\",\\n \\"ListenerForward\\": \\"on\\",\\n \\"XForwardedFor\\": \\"on\\",\\n \\"IdleTimeout\\": 2,\\n \\"RequestTimeout\\": 34,\\n \\"ListenerPort\\": 80,\\n \\"HealthCheckInterval\\": 5,\\n \\"XForwardedFor_SLBPORT\\": \\"off\\",\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"StickySessionType\\": \\"insert \\",\\n \\"AclId\\": \\"acl-uf60jw******\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthyThreshold\\": 4,\\n \\"XForwardedFor_proto\\": \\"on\\",\\n \\"XForwardedFor_SLBIP\\": \\"on\\",\\n \\"StickySession\\": \\"on\\",\\n \\"HealthCheckMethod\\": \\"get\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"AclIds\\": {\\n \\"AclId\\": [\\n \\"\\"\\n ]\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-uf6w******\\",\\n \\"Url\\": \\"/example\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RuleName\\": \\"test\\",\\n \\"RuleId\\": \\"1234\\"\\n }\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-bp1uaunez0uho0zf0****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerHTTPListenerAttributeResponse>\\n <AclType>white</AclType>\\n <VServerGroupId>rsp-cige6j****</VServerGroupId>\\n <Status>stopped</Status>\\n <Cookie>B490B5EBF6F3CD402E515D22BCDA1598</Cookie>\\n <Gzip>on</Gzip>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Description>HTTP_80</Description>\\n <Bandwidth>-1</Bandwidth>\\n <HealthCheckTimeout>3</HealthCheckTimeout>\\n <AclStatus>off</AclStatus>\\n <BackendServerPort>80</BackendServerPort>\\n <CookieTimeout>500</CookieTimeout>\\n <HealthCheckDomain>www.domain.com</HealthCheckDomain>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <ForwardPort>80</ForwardPort>\\n <XForwardedFor_SLBID>on</XForwardedFor_SLBID>\\n <SecurityStatus>on</SecurityStatus>\\n <HealthCheckHttpCode>http_2xx,http_3xx</HealthCheckHttpCode>\\n <ListenerForward>on</ListenerForward>\\n <XForwardedFor>on</XForwardedFor>\\n <IdleTimeout>2</IdleTimeout>\\n <RequestTimeout>34</RequestTimeout>\\n <ListenerPort>80</ListenerPort>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <StickySessionType>insert </StickySessionType>\\n <AclId>on</AclId>\\n <Scheduler>wrr</Scheduler>\\n <HealthyThreshold>4</HealthyThreshold>\\n <XForwardedFor_proto>on</XForwardedFor_proto>\\n <XForwardedFor_SLBIP>on</XForwardedFor_SLBIP>\\n <StickySession>on</StickySession>\\n <HealthCheckMethod>get</HealthCheckMethod>\\n <HealthCheck>on</HealthCheck>\\n <Rules>\\n <VServerGroupId>123</VServerGroupId>\\n <Url>/example</Url>\\n <Domain>www.example.com</Domain>\\n <RuleName>test</RuleName>\\n <RuleId>1234</RuleId>\\n </Rules>\\n <LoadBalancerId>lb-bp1uaunez0uho0zf0****</LoadBalancerId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n</DescribeLoadBalancerHTTPListenerAttributeResponse>","errorExample":""}]', - 'title' => '查询HTTP监听配置', - 'description' => '## 前提条件'."\n" - ."\n" - .'- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - .'- 您已经创建HTTP监听,具体操作,请参见[CreateLoadBalancerHTTPListener](~~27592~~)。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclId\\": \\"acl-bp1ut10zzvh1y8dfs****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"RequestId\\": \\"C9906A1D-86F7-4C9C-A369-54DA42EF206A\\",\\n \\"ResourceGroupId\\": \\"rg-acfmz3jksig****\\",\\n \\"AclName\\": \\"doctest\\",\\n \\"AclEntrys\\": {\\n \\"AclEntry\\": [\\n {\\n \\"AclEntryComment\\": \\"The remarks of the ACL entry.\\",\\n \\"AclEntryIP\\": \\"192.168.0.1\\"\\n }\\n ]\\n },\\n \\"RelatedListeners\\": {\\n \\"RelatedListener\\": [\\n {\\n \\"ListenerPort\\": 443,\\n \\"AclType\\": \\"white\\",\\n \\"Protocol\\": \\"https\\",\\n \\"LoadBalancerId\\": \\"lb-bp1qpzldlm38bnexl****\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\",\\n \\"TotalAclEntry\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeAccessControlListAttributeResponse>\\n <AclId>acl-bp1ut10zzvh1y8dfs****</AclId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <RequestId>C9906A1D-86F7-4C9C-A369-54DA42EF206A</RequestId>\\n <ResourceGroupId>rg-acfmz3jksig****</ResourceGroupId>\\n <AclName>doctest</AclName>\\n <AclEntrys>\\n <AclEntryComment>访问控制条目。</AclEntryComment>\\n <AclEntryIP>192.168.0.1</AclEntryIP>\\n </AclEntrys>\\n <RelatedListeners>\\n <ListenerPort>443</ListenerPort>\\n <AclType>white</AclType>\\n <Protocol>https</Protocol>\\n <LoadBalancerId>lb-bp1qpzldlm38bnexl****</LoadBalancerId>\\n </RelatedListeners>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n <TotalAclEntry>200</TotalAclEntry>\\n</DescribeAccessControlListAttributeResponse>","errorExample":""}]', + 'title' => '查询访问控制策略组的配置', + 'summary' => '查询访问控制策略组的配置。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateLoadBalancerHTTPSListener' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-03-21T06:22:42.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessControlListAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessControlListAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ], + ], + ], + ], + ], + 'DescribeAccessControlLists' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88526', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], + 'operationType' => 'list', + 'abilityTreeNodes' => ['FEATUREslbEDXHGI', 'FEATUREslb3KZE2S'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '访问控制策略组的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n" + ."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclName', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6earr****', - ], + 'schema' => ['description' => '访问控制策略组名称。访问控制策略组名称。长度限制为1~80个字符,只支持中文、字母、数字和半角句号(.)、短划线(-)、正斜线(/)和下划线(_)。访问控制策略组名称必须为地域内唯一。访问控制策略组名称支持模糊查询。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'rule1'], ], [ - 'name' => 'Bandwidth', + 'name' => 'AddressIPVersion', 'in' => 'query', - 'schema' => [ - 'description' => '监听的带宽峰值。单位:Mbps。'."\n" - ."\n" - .'取值范围:'."\n" - ."\n" - .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" - ."\n" - .'<props="china">'."\n" - ."\n" - .'- **1**~**5120**: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n" - .'</props>', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => '访问控制策略组绑定的实例的IP类型。取值:'."\n" + ."\n" + .'- **ipv4**:负载均衡实例的IP地址是IPv4类型。'."\n" + ."\n" + .'- **ipv6**:负载均衡实例的IP地址是IPv6类型。', 'type' => 'string', 'required' => false, 'example' => 'ipv4'], ], [ - 'name' => 'ListenerPort', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '实例前端使用的端口。'."\n" - ."\n" - .'取值范围:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '分页查询时每页的行数,最大值:**50**,默认值:**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'BackendServerPort', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '实例后端使用的端口,取值范围:**1**~**65535**。'."\n" - ."\n" - .'如果不使用服务器组(不指定VServerGroupId),则该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '列表的页码,默认值:**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '企业资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop4****'], ], [ 'name' => 'Tag', 'in' => 'query', - 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ 'description' => '标签列表。', @@ -9682,18 +4677,11 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => '1'], ], 'required' => false, ], @@ -9701,503 +4689,501 @@ 'maxItems' => 20, ], ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`X-Forwarded-For`获取来访者客户端IP。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], - ], - [ - 'name' => 'StickySession', - 'in' => 'query', - 'allowEmptyValue' => false, + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否开启会话保持。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'on', - 'default' => 'off', + 'type' => 'object', + 'properties' => [ + 'PageNumber' => ['description' => '列表的页码,起始值**1**,默认值:**1**。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '分页查询时每页的行数,最大值:**50**,默认值:**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '3CB646EF-6147-4566-A9D9-CE8FBE86F971'], + 'TotalCount' => ['description' => '已创建的访问控制组策略组个数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Count' => ['description' => '当前页展示的访问控制策略组个数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'Acls' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Acl' => [ + 'description' => '查询到的访问控制策略组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '查询到的访问控制策略组列表。', + 'type' => 'object', + 'properties' => [ + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'example' => 'acl-bp1l0kk4gxce43k*****'], + 'AddressIPVersion' => ['description' => '关联的负载均衡实例的IP地址类型。', 'type' => 'string', 'example' => 'ipv4'], + 'AclName' => ['description' => '访问控制策略组名称。', 'type' => 'string', 'example' => 'rule1'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-jfenfbp1lhl0****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '访问控制策略组标签列表。取值:是一个Json string,其结构是一个JsonList。', + 'type' => 'array', + 'items' => [ + 'description' => '访问控制策略组标签列表。取值:是一个Json string,其结构是一个JsonList。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '资源的标签值。', 'type' => 'string', 'example' => '1'], + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'test'], + ], + 'example' => '{"Key":"test","Value":"value"}', + ], + ], + ], + 'description' => '', + ], + 'CreateTime' => ['description' => '传统型负载均衡实例的创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie的处理方式。取值:**insert**或**server**。'."\n" - ."\n" - .'- **insert**:植入Cookie。'."\n" - ."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。 '."\n" - ."\n" - .'- **server**:重写Cookie。'."\n" - ."\n" - .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'> 当**StickySession**的值为**on**时,必须指定该参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'insert ', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidResourceGroupId.NotFound', 'errorMessage' => 'The specified ResourceGroupId is not found.', 'description' => '指定的资源组不存在。'], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], - [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie超时时间。单位:秒。'."\n" - ."\n" - .'取值:**1**~**86400**。'."\n" - ."\n" - .'>当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"3CB646EF-6147-4566-A9D9-CE8FBE86F971\\",\\n \\"TotalCount\\": 1,\\n \\"Count\\": 1,\\n \\"Acls\\": {\\n \\"Acl\\": [\\n {\\n \\"AclId\\": \\"acl-bp1l0kk4gxce43k*****\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"AclName\\": \\"rule1\\",\\n \\"ResourceGroupId\\": \\"rg-jfenfbp1lhl0****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"1\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAccessControlListsResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RequestId>3CB646EF-6147-4566-A9D9-CE8FBE86F971</RequestId>\\n <TotalCount>1</TotalCount>\\n <Count>1</Count>\\n <Acls>\\n <AclId>acl-bp1l0kk4gxce43k*****</AclId>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <AclName>rule1</AclName>\\n <ResourceGroupId>rg-jfenfbp1lhl0****</ResourceGroupId>\\n <Tags>\\n <TagValue>1</TagValue>\\n <TagKey>test</TagKey>\\n </Tags>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n </Acls>\\n</DescribeAccessControlListsResponse>","errorExample":""}]', + 'title' => '查询已创建的访问控制策略组', + 'summary' => '查询已创建的访问控制策略组。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-07-04T11:57:54.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessControlLists'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessControlLists', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/*'], + ], ], ], + ], + ], + 'DescribeAccessLogsDownloadAttribute' => [ + 'summary' => '查询指定传统型负载均衡实例的访问日志。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" - ."\n" - .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'HealthCheck', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'on', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'HealthCheckMethod', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" - ."\n" - .'> **HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], + 'schema' => ['description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。'."\n" + ."\n" + .'一次请求中,绑定的标签列表中最多支持10个标签。', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]'], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的域名。取值:'."\n" - ."\n" - .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - .' '."\n" - .' '."\n" - .'* **domain**:域名长度为1~80个字符,只能包含英文字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.16', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1b6c719dfa08ex*****'], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'LogType', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'URI长度为1~80个字符,可包含英文字母、数字和`-/.%?#&`这些特殊字符。URI不能只为`/`,但必须以`/`开头。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + 'schema' => ['description' => '访问日志类型。仅取值**layer7**,表示七层访问日志。', 'type' => 'string', 'required' => false, 'example' => 'layer7', 'default' => 'layer7'], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '列表的页码。默认值:**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1'], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '20'], ], - [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值:**1**~**300**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', + 'type' => 'object', + 'properties' => [ + 'PageSize' => ['description' => '分页查询时每页的行数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'PageNumber' => ['description' => '列表的页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E'], + 'TotalCount' => ['description' => '列表条目数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'LogsDownloadAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LogsDownloadAttribute' => [ + 'description' => '访问日志配置信息。', + 'type' => 'array', + 'items' => [ + 'description' => '访问日志配置信息。', + 'type' => 'object', + 'properties' => [ + 'LogProject' => ['description' => '日志服务LogProject的名称。', 'type' => 'string', 'example' => 'test-log-project'], + 'LogStore' => ['description' => '日志服务LogStore的名称。', 'type' => 'string', 'example' => 'test-log-store'], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa08ex*****'], + 'Region' => ['description' => '传统型负载均衡实例所在的地域ID。 ', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'LogType' => ['description' => '访问日志类型。仅取值**layer7**,表示七层访问日志。'."\n", 'type' => 'string', 'example' => 'layer7'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。'."\n" - ."\n" - .'> 当**HealthCheck**值为**on**时才会有效。'."\n" - ."\n" - .' ', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '8080', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询指定实例的访问日志', + 'changeSet' => [ + ['createdAt' => '2022-12-22T02:24:00.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-09-19T06:14:08.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessLogsDownloadAttribute'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值:**1**~**50**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\",\\n \\"TotalCount\\": 10,\\n \\"LogsDownloadAttributes\\": {\\n \\"LogsDownloadAttribute\\": [\\n {\\n \\"LogProject\\": \\"test-log-project\\",\\n \\"LogStore\\": \\"test-log-store\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa08ex*****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"LogType\\": \\"layer7\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAccessLogsDownloadAttributeResponse>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <RequestId>8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E</RequestId>\\n <TotalCount>10</TotalCount>\\n <LogsDownloadAttributes>\\n <LogProject>test-log-project</LogProject>\\n <LogStore>test-log-store</LogStore>\\n <LoadBalancerId>lb-bp1b6c719dfa08ex*****</LoadBalancerId>\\n <Region>cn-hangzhou</Region>\\n <LogType>layer7</LogType>\\n </LogsDownloadAttributes>\\n</DescribeAccessLogsDownloadAttributeResponse>","errorExample":""}]', + ], + 'DescribeAvailableResource' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" - ."\n" - .'取值:**http\\_2xx**、**http\\_3xx**、**http\\_4xx**或**http\\_5xx**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ [ - 'name' => 'ServerCertificateId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '服务器证书的ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'idkp-123-cn-test-****', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => '服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j5e7p****', - ], + 'schema' => ['description' => '网络类型。'."\n" + ."\n" + .'取值:'."\n" + ."\n" + .'- **vpc**:专有网络的私网负载均衡实例。'."\n" + .'- **classic_internet**:公网负载均衡实例。'."\n" + .'- **classic_intranet**:经典网络的私网负载均衡实例。', 'type' => 'string', 'required' => false, 'example' => 'vpc'], ], [ - 'name' => 'CACertificateId', + 'name' => 'AddressIPVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书ID。'."\n" - ."\n" - .'若既上传CA证书又上传服务器证书,即采用双向认证。'."\n" - ."\n" - .'若用户只上传服务器证书,即为单向认证。', - 'type' => 'string', - 'required' => false, - 'example' => '139a00604ad-cn-east-hangzh****', - ], + 'schema' => ['description' => 'IP地址类型。'."\n" + ."\n" + .'取值:'."\n" + ."\n" + .'- **ipv4**'."\n" + .'- **ipv6**', 'type' => 'string', 'required' => false, 'example' => 'ipv4'], ], - [ - 'name' => 'XForwardedFor_SLBIP', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否通过`SLB-IP`头字段获取来访者的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '173B0EEA-22ED-4EE2-91F9-3A1CDDFFBBBA'], + 'AvailableResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableResource' => [ + 'description' => '可用区及支持的资源列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SlaveZoneId' => ['description' => '备可用区。', 'type' => 'string', 'example' => 'cn-shanghai-b'], + 'MasterZoneId' => ['description' => '主可用区。', 'type' => 'string', 'example' => 'cn-shanghai-a'], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => '支持的资源。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AddressType' => ['description' => '网络类型。'."\n" + ."\n" + .'取值:'."\n" + ."\n" + .'- **vpc**:专有网络的私网负载均衡实例。'."\n" + .'- **classic_internet**:公网负载均衡实例。'."\n" + .'- **classic_intranet**:经典网络的私网负载均衡实例。', 'type' => 'string', 'example' => 'vpc'], + 'AddressIPVersion' => ['description' => 'IP地址类型。'."\n" + ."\n" + .'取值:'."\n" + ."\n" + .'- **ipv4**'."\n" + .'- **ipv6**', 'type' => 'string', 'example' => 'ipv4'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'XForwardedFor_SLBID', - 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`SLB-ID`头字段获取SLB实例ID。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + ], + 'title' => '查询资源售卖情况', + 'summary' => '查询某个Region的可用区支持的资源售卖情况,可用的资源。', + 'description' => '> 只返回支持售卖的可用区及资源类型。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-03-21T13:12:07.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAvailableResource'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"173B0EEA-22ED-4EE2-91F9-3A1CDDFFBBBA\\",\\n \\"AvailableResources\\": {\\n \\"AvailableResource\\": [\\n {\\n \\"SlaveZoneId\\": \\"cn-shanghai-b\\",\\n \\"MasterZoneId\\": \\"cn-shanghai-a\\",\\n \\"SupportResources\\": {\\n \\"SupportResource\\": [\\n {\\n \\"AddressType\\": \\"vpc\\",\\n \\"AddressIPVersion\\": \\"ipv4\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCACertificates' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取SLB的监听协议。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'Gzip', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', - ], + 'schema' => ['description' => 'CA证书的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclId', + 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'>当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'acl-a2do9e413e0spzasx****', - ], + 'schema' => ['description' => 'CA证书ID。', 'type' => 'string', 'required' => false, 'example' => '139a00604bd-cn-east-hangzho****'], ], [ - 'name' => 'AclType', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型。取值:'."\n" - ."\n" - .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - .' '."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'>当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'], ], [ - 'name' => 'AclStatus', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'off', + 'maxItems' => 20, ], ], - [ - 'name' => 'Description', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS_443', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF******'], + 'CACertificates' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CACertificate' => [ + 'description' => 'CA证书信息。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreateTimeStamp' => ['description' => 'CA证书创建的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'ExpireTime' => ['description' => 'CA证书的过期时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2024-11-21T06:04:25Z'], + 'CreateTime' => ['description' => 'CA证书的创建时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2021-08-31T02:49:05Z'], + 'ExpireTimeStamp' => ['description' => 'CA证书过期的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1732169065000'], + 'CACertificateId' => ['description' => 'CA证书ID。', 'type' => 'string', 'example' => '139a00604bd-cn-east-hangzho****'], + 'RegionId' => ['description' => 'CA证书所属地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Fingerprint' => ['description' => ' CA证书的指纹。 ', 'type' => 'string', 'example' => '79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3rtop****'], + 'CommonName' => ['description' => 'CA证书的域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'CACertificateName' => ['description' => ' CA证书名称。', 'type' => 'string', 'example' => 'test'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '资源的标签值。', 'type' => 'string', 'example' => '1'], + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'test'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '指定连接空闲超时时间,取值范围为**1~60**,默认值为**15**。单位:秒。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '12', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Abs.CACertificateIdAndResourceGroupId.MissMatch', 'errorMessage' => 'CACertificateId or ResourceGroupId miss match.', 'description' => 'CACertificateID或ResourceGroupID不匹配。'], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '指定请求超时时间,取值范围为**1~180**,默认值为**60**。单位:秒。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '23', - ], + ], + 'title' => '查询CA证书列表', + 'summary' => '查询CA证书列表。', + 'description' => '> 为了保证安全性,只返回证书的指纹和名称,不返回证书的内容。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-07-04T11:57:54.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCACertificates'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'EnableHttp2', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启HTTP2特性。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off** :否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeCACertificates', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF******\\",\\n \\"CACertificates\\": {\\n \\"CACertificate\\": [\\n {\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"ExpireTime\\": \\"2024-11-21T06:04:25Z\\",\\n \\"CreateTime\\": \\"2021-08-31T02:49:05Z\\",\\n \\"ExpireTimeStamp\\": 1732169065000,\\n \\"CACertificateId\\": \\"139a00604bd-cn-east-hangzho****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Fingerprint\\": \\"79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"CACertificateName\\": \\"test\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"1\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCACertificatesResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <CACertificates>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <ExpireTime>2024-11-21T06:04:25Z</ExpireTime>\\n <CreateTime>2021-08-31T02:49:05Z</CreateTime>\\n <ExpireTimeStamp>1732169065000</ExpireTimeStamp>\\n <CACertificateId>139a00604bd-cn-east-hangzho****</CACertificateId>\\n <RegionId>cn-hangzhou</RegionId>\\n <Fingerprint>79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89</Fingerprint>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <CommonName>www.example.com</CommonName>\\n <CACertificateName>test</CACertificateName>\\n <Tags>\\n <TagValue>1</TagValue>\\n <TagKey>test</TagKey>\\n </Tags>\\n </CACertificates>\\n</DescribeCACertificatesResponse>","errorExample":""}]', + ], + 'DescribeDomainExtensionAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TLSCipherPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => '安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1_0**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_1**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1_2**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_2_strict**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" - ."\n" - .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict_with_1_3**'."\n" - .' '."\n" - .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" - .' '."\n" - .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', - 'type' => 'string', - 'required' => false, - 'example' => 'tls_cipher_policy_1_1', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'XForwardedFor_SLBPORT', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'DomainExtensionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '扩展域名ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'de-bp1r******'], ], ], 'responses' => [ @@ -10205,787 +5191,367 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '48C1B671-C6DB-4DDE-9B30-1055******'], + 'LoadBalancerId' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1o95i6*****'], + 'ListenerPort' => ['description' => '负载均衡实例HTTPS监听的前端端口,取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], + 'ServerCertificateId' => ['description' => '域名使用的服务器证书ID。', 'type' => 'string', 'example' => '231579085529123_166f82******_1714763408_709981430'], + 'DomainExtensionId' => ['description' => '扩展域名ID。', 'type' => 'string', 'example' => 'de-bp1rp******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ParamDuplicateError', - 'errorMessage' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameter.IdleTimeout', - 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidParameter.RequestTimeout', - 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'ListenerForwardNotSupport', - 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'InvalidParameter.SpecNotSupport', - 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter: %s.', - ], - [ - 'errorCode' => 'ListenerProcessing', - 'errorMessage' => 'A previous configuration of the listener is pending,please try again later.', - ], - [ - 'errorCode' => 'Certkey.Forbidden', - 'errorMessage' => 'The specified certkey is not owned by the current user.', - ], - [ - 'errorCode' => 'InvalidParameter.ListenerPortConflict', - 'errorMessage' => 'There is conflict listener port exists.', - ], - [ - 'errorCode' => 'ResourceNotAvailible.HttpsListener', - 'errorMessage' => 'The specified Zone did not have enough resource.', - ], - [ - 'errorCode' => 'AclNotExist', - 'errorMessage' => 'Acl does not exist.', - ], - [ - 'errorCode' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', - 'errorMessage' => 'The slb instance does not support create HTTP or HTTPS listener.', - ], - [ - 'errorCode' => 'InvalidParameter.VServerGroupId', - 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckDomain', - 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', - ], - [ - 'errorCode' => 'InvalidParameter.HealthCheckHttpVersion', - 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'CertificateNotExist', - 'errorMessage' => 'The specified CertificateId does not exist.', - ], - [ - 'errorCode' => 'OperationFailed.InsufficientResources', - 'errorMessage' => 'The loadbalancer does not support this operation because of insufficient resources.', - ], - [ - 'errorCode' => 'InvalidTLSPolicyId.NotExist', - 'errorMessage' => 'The specified TLS cipher policy does not exist.', - ], - [ - 'errorCode' => 'TLSPolicyConfiguring', - 'errorMessage' => 'The specified TLS cipher policy is configuring.', - ], - [ - 'errorCode' => 'TLSCipherPolicyVipRelationOverLimit', - 'errorMessage' => 'The number of listeners associated with a policy has exceeded.', - ], - [ - 'errorCode' => 'CertificateTypeMismatched', - 'errorMessage' => 'The certificate type does not match.', - ], - [ - 'errorCode' => 'MissingParam.ServerCertificates', - 'errorMessage' => 'Server certificates are required.', - ], - [ - 'errorCode' => 'TooManyCertificates', - 'errorMessage' => 'The number of certificates must not be greater than one.', - ], - [ - 'errorCode' => 'CnCertificateNotSupport', - 'errorMessage' => 'The cn certificate is not support.', - ], - [ - 'errorCode' => 'InvalidParam.CertificateBindingType', - 'errorMessage' => 'The param CertificateBindingType is invalid.', - ], - [ - 'errorCode' => 'InvalidParamSize.ServerCertificates', - 'errorMessage' => 'The size of param ServerCertificates is invalid.', - ], - [ - 'errorCode' => 'TooManyCertificates.ServerCertificates', - 'errorMessage' => 'The number of certificates must not be greater than one.', - ], - [ - 'errorCode' => 'SPEC_NOT_SUPPORT_PARAMETER', - 'errorMessage' => 'Share spec does not support the feature.', - ], - [ - 'errorCode' => 'LbNotSupportTcpssl', - 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', - ], - [ - 'errorCode' => 'LbSupportTcpsslOnly', - 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', - ], - [ - 'errorCode' => 'ListenerNotSupportRule', - 'errorMessage' => 'You cannot create a rule for the specified listener.', - ], - [ - 'errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', - 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.Certificate', - 'errorMessage' => 'The specified resource is not found.', - ], + ['errorCode' => 'InvalidParameter.DomainExtensionId', 'errorMessage' => '%s.', 'description' => '指定的扩展域名不存在。'], + ['errorCode' => 'MissingParameter.DomainExtensionId', 'errorMessage' => 'The param DomainExtensionId is missing', 'description' => '参数DomainExtensionId缺失。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerHTTPSListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</CreateLoadBalancerHTTPSListenerResponse>","errorExample":""}]', - 'title' => '创建HTTPS监听', - 'summary' => '创建HTTPS监听。', - 'description' => '### 注意事项'."\n" - ."\n" - .'新建的监听的状态为**stopped**。创建完成后,调用[StartLoadBalancerListener](~~27597~~)接口启动监听来转发流量。'."\n" - ."\n" - .'### 前提条件'."\n" - ."\n" - .'您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。', + 'title' => '查询已添加的扩展域名属性', + 'summary' => '查询已添加的扩展域名属性。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerHTTPSListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDomainExtensionAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeDomainExtensionAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RequestId\\": \\"48C1B671-C6DB-4DDE-9B30-1055******\\",\\n \\"LoadBalancerId\\": \\"lb-bp1o95i6*****\\",\\n \\"ListenerPort\\": 443,\\n \\"ServerCertificateId\\": \\"231579085529123_166f82******_1714763408_709981430\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp******\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainExtensionAttributeResponse>\\n<ListenerPort>443</ListenerPort>\\n<DomainExtensionId>de-bp1rp7ta191dv</DomainExtensionId>\\n<RequestId>48C1B671-C6DB-4DDE-9B30-10557E36CDE0</RequestId>\\n<ServerCertificateId>231579085529123_166f82******_1714763408_709981430</ServerCertificateId>\\n<LoadBalancerId>lb-bp1o94dp5i6*****earr9g6d1l</LoadBalancerId>\\n<Domain>www.example.com</Domain>\\n</DescribeDomainExtensionAttributeResponse>","errorExample":""}]', + ], + 'DescribeDomainExtensions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88669', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-sjhfdji****', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c08ex****'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => '监听的带宽峰值。单位:Mbps。'."\n" - ."\n" - .'取值:'."\n" - ."\n" - .'- **-1**:不限制带宽峰值。'."\n" - ."\n" - .'<props="china"> '."\n" - ."\n" - .'- **1**~**5120**:监听的带宽峰值,所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n" - .'</props>', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], - ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启通过`X-Forwarded-For`头字段获取来访者真实IP。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '负载均衡实例HTTPS监听的前端端口,取值:**1-65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '443'], ], [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'- **wrr**:权重值越高的后端服务器,被轮询到的-概率也越高。'."\n" - ."\n" - .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], - ], - [ - 'name' => 'StickySession', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启会话保持。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'cookie的处理方式。取值:'."\n" - ."\n" - .'* **insert**:植入Cookie。'."\n" - ."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'* **server**:重写Cookie。'."\n" - ."\n" - .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'> 当**StickySession**的值为**on**时,必须指定该参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], - ], - [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie超时时间。'."\n" - ."\n" - .'取值:**1**~**86400**(秒)。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', - ], - ], - [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,不能以$开头。'."\n" - ."\n" - .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], - ], - [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'HealthCheckMethod', - 'in' => 'query', - 'schema' => [ - 'description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" - ."\n" - .'> **HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], - ], - [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的域名,取值:'."\n" - ."\n" - .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.16', - ], - ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'长度限制为1~80字符,支持英文字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)字符。URI不能只包含正斜线(/),但必须以正斜线(/)开头。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'>在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'HealthCheckTimeout', + 'name' => 'DomainExtensionId', 'in' => 'query', - 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值:**1**~**300**。'."\n" - ."\n\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => '扩展域名ID。', 'type' => 'string', 'required' => false, 'example' => 'de-bp1rp7ta1****'], ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值:**1**~**50**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '48C1B671-C6DB-4DDE-9B30-1055*****'], + 'DomainExtensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainExtension' => [ + 'description' => '扩展域名列表。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展域名列表。', + 'type' => 'object', + 'properties' => [ + 'ServerCertificateId' => ['description' => '域名使用的证书ID。', 'type' => 'string', 'example' => '12315790****3_166f8****9_1714****08_70998****'], + 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'DomainExtensionId' => ['description' => '扩展域名ID。', 'type' => 'string', 'example' => 'de-bp1rp7ta1****'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。'."\n" - ."\n" - .'> 当**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '8080', - ], + ], + 'errorCodes' => [], + 'title' => '查询已添加的扩展域名', + 'summary' => '查询已添加的扩展域名。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDomainExtensions'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" - ."\n" - .'取值:**http_2xx**或**http_3xx**或**http_4xx**或**http_5xx**。'."\n" - ."\n" - .'> 在**HealthCheck**值为**on**时才会有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeDomainExtensions', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"48C1B671-C6DB-4DDE-9B30-1055*****\\",\\n \\"DomainExtensions\\": {\\n \\"DomainExtension\\": [\\n {\\n \\"ServerCertificateId\\": \\"12315790****3_166f8****9_1714****08_70998****\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp7ta1****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>48C1B671-C6DB-4DDE-9B30-10557E36CDE0</RequestId>\\n<DomainExtensions>\\n <DomainExtension>\\n <DomainExtensionId>de-bp1rp7ta1****</DomainExtensionId>\\n <ServerCertificateId>1231579085529123_166f8204689_1714763408_70998****</ServerCertificateId>\\n <Domain>www.example.com</Domain>\\n </DomainExtension>\\n</DomainExtensions>","errorExample":""}]', + ], + 'DescribeHealthStatus' => [ + 'summary' => '查询后端服务器的健康状态。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器证书的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'idkp-123-cn-te****', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslb1HTJST', 'FEATUREslbZCBC3S', 'FEATUREslbMJJFN5', 'FEATUREslb2W3JY0', 'FEATUREslbQ7A0BW'], + ], + 'parameters' => [ [ - 'name' => 'CACertificateId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书ID。'."\n" - ."\n" - .'- 若既上传CA证书又上传服务器证书,即采用双向认证。'."\n" - ."\n" - .'- 若用户只上传服务器证书,即为单向认证。', - 'type' => 'string', - 'required' => false, - 'example' => '139a00604ad-cn-east-****', - ], + 'schema' => ['description' => '负载均衡实例 ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3ah****'], ], [ - 'name' => 'VServerGroup', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '是否使用服务器组。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。'."\n" + .'取值:**1~65535**'."\n" + ."\n" + .'> 不设置该参数表示获取所有端口的健康检查状态。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j****', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。', 'type' => 'string', 'required' => false, 'example' => 'http'], ], [ - 'name' => 'XForwardedFor_SLBIP', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => '负载均衡实例的地域 ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], - [ - 'name' => 'XForwardedFor_SLBID', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF******'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => '后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => '负载均衡实例前端使用的协议。', 'type' => 'string', 'example' => 'http'], + 'ServerHealthStatus' => ['description' => '后端服务器的健康状况。'."\n" + ."\n" + .'- normal:后端服务器健康。'."\n" + .'- abnormal:后端服务器不健康。'."\n" + .'- unavailable:未完成健康检查。', 'type' => 'string', 'example' => 'abnormal'], + 'ListenerPort' => ['description' => '负载均衡实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ServerIp' => ['description' => '后端服务器IP地址。', 'type' => 'string', 'example' => '192.XX.XX.11'], + 'Port' => ['description' => '负载均衡实例后端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ServerId' => ['description' => '后端服务器实例ID。', 'type' => 'string', 'example' => 'i-bp1h5u3fv54ytf***'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], ], - [ - 'name' => 'Gzip', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', + ], + 'title' => '查询后端服务器的健康状态', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeHealthStatus'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHealthStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Protocol\\": \\"http\\",\\n \\"ServerHealthStatus\\": \\"abnormal\\",\\n \\"ListenerPort\\": 80,\\n \\"ServerIp\\": \\"192.XX.XX.11\\",\\n \\"Port\\": 80,\\n \\"ServerId\\": \\"i-bp1h5u3fv54ytf***\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeHighDefinationMonitor' => [ + 'summary' => '查询指定地域的秒级监控配置信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'acl-a2do9e413e0spzasx****', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'AclType', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - .' '."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'>当**AclStatus**参数的值为**on**时,该参数有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => '日志标签。其结构是一个JSON dictionary,包含标签键和标签值。', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]'], ], [ - 'name' => 'AclStatus', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '需要查询秒级监控信息的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], - [ - 'name' => 'IdleTimeout', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '指定连接空闲超时时间,取值范围为**1~60**秒,默认值为**15**秒。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '23', + 'type' => 'object', + 'properties' => [ + 'LogProject' => ['description' => '日志服务LogProject的名称。', 'type' => 'string', 'example' => 'my-project'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6'], + 'LogStore' => ['description' => '日志服务LogStore的名称。', 'type' => 'string', 'example' => 'my-log-store'], + 'Success' => ['description' => '本次调用是否成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'string', 'example' => 'true'], + ], + 'description' => '', ], ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => '指定请求超时时间,取值范围为**1~180**秒,默认值为**60**秒。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '223', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询实例业务运行监控数据', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHighDefinationMonitor'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LogProject\\": \\"my-project\\",\\n \\"RequestId\\": \\"2F398FF5-B349-5C01-8638-8E9A0BF1DBE6\\",\\n \\"LogStore\\": \\"my-log-store\\",\\n \\"Success\\": \\"true\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeHighDefinationMonitorResponse>\\n <LogProject>my-project</LogProject>\\n <RequestId>2F398FF5-B349-5C01-8638-8E9A0BF1DBE6</RequestId>\\n <LogStore>my-log-store</LogStore>\\n <Success>true</Success>\\n</DescribeHighDefinationMonitorResponse>","errorExample":""}]', + ], + 'DescribeListenerAccessControlAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableHttp2', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启`HTTP 2.0`特性。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'TLSCipherPolicy', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" - ."\n" - .'- **tls_cipher_policy_1_0**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_1**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_2**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_2_strict**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_2_strict_with_1_3**'."\n" - .' '."\n" - .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" - .' '."\n" - .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', - 'type' => 'string', - 'required' => false, - 'example' => 'tls_cipher_policy_1_2', - ], + 'schema' => ['description' => '负载均衡实例的地域。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Description', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '自定义监听名称。'."\n" - ."\n" - .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'https_80', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'lb-8vb86hxixo8lvsja8****'], ], [ - 'name' => 'XForwardedFor_SLBPORT', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1~65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80'], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + ."\n" + .'> 相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], ], 'responses' => [ @@ -10993,152 +5559,58 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'SourceItems' => ['description' => '访问控制列表。', 'type' => 'string', 'example' => '192.168.XX.XX'], + 'AccessControlStatus' => ['description' => '是否开启访问控制。取值:'."\n" + ."\n" + .'- **open_white_list**:开启白名单访问控制功能。'."\n" + ."\n" + .'- **close**:关闭访问控制功能。', 'type' => 'string', 'example' => 'open_white_list'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ParamDuplicateError', - 'errorMessage' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', - ], - [ - 'errorCode' => 'IpVersionConflict', - 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', - ], - [ - 'errorCode' => 'InvalidParameter.IdleTimeout', - 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidParameter.RequestTimeout', - 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', - ], - [ - 'errorCode' => 'ListenerForwardNotSupport', - 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'InvalidParameter.SpecNotSupport', - 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter: %s.', - ], - [ - 'errorCode' => 'OperationFailed.ServerGroupInUse', - 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', - ], - [ - 'errorCode' => 'InvalidParameter.VServerGroupId', - 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', - ], - [ - 'errorCode' => 'MissingParam.HealthCheckDomain', - 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', - ], - [ - 'errorCode' => 'InvalidParameter.HealthCheckHttpVersion', - 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', - ], - [ - 'errorCode' => 'Duplicated.AclEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'CertificateNotExist', - 'errorMessage' => 'The specified CertificateId does not exist.', - ], - [ - 'errorCode' => 'InvalidTLSPolicyId.NotExist', - 'errorMessage' => 'The specified TLS cipher policy does not exist.', - ], - [ - 'errorCode' => 'TLSPolicyConfiguring', - 'errorMessage' => 'The specified TLS cipher policy is configuring.', - ], - [ - 'errorCode' => 'TLSCipherPolicyVipRelationOverLimit', - 'errorMessage' => 'The number of listeners associated with a policy has exceeded.', - ], - [ - 'errorCode' => 'TooManyCertificates', - 'errorMessage' => 'The number of certificates must not be greater than one.', - ], - [ - 'errorCode' => 'CertificateTypeMismatched', - 'errorMessage' => 'The certificate type does not match.', - ], - [ - 'errorCode' => 'MissingParam.ServerCertificates', - 'errorMessage' => 'Server certificates are required.', - ], - [ - 'errorCode' => 'CnCertificateNotSupport', - 'errorMessage' => 'The cn certificate is not support.', - ], - [ - 'errorCode' => 'InvalidParam.CertificateBindingType', - 'errorMessage' => 'The param CertificateBindingType is invalid.', - ], - [ - 'errorCode' => 'InvalidParamSize.ServerCertificates', - 'errorMessage' => 'The size of param ServerCertificates is invalid.', - ], - [ - 'errorCode' => 'TooManyCertificates.ServerCertificates', - 'errorMessage' => 'The number of certificates must not be greater than one.', - ], - [ - 'errorCode' => 'AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', - 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.TotalAclEntry', - 'errorMessage' => 'The number of Acl entries has reached the quota limit.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', - 'errorMessage' => 'This acl has reached the limit of binding to listeners.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.Certificate', - 'errorMessage' => 'The specified resource is not found.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerHTTPSListenerAttributeResponse>\\r\\n<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\r\\n</SetLoadBalancerHTTPSListenerAttributeResponse>","errorExample":""}]', - 'title' => '修改HTTPS监听的配置', - 'summary' => '修改HTTPS监听的配置。', - 'description' => '- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - .'- 您已经创建HTTPS监听,具体操作,请参见[CreateLoadBalancerHTTPSListener](~~27593~~)。', + 'title' => '查询监听的白名单配置', + 'summary' => '查询监听的白名单配置。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerHTTPSListenerAttribute' => [ - 'summary' => '查询HTTPS监听配置。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeListenerAccessControlAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeListenerAccessControlAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"SourceItems\\": \\"192.168.XX.XX\\",\\n \\"AccessControlStatus\\": \\"open_white_list\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeListenerAccessControlAttributeResponse>\\n <SourceItems>192.168.XX.XX</SourceItems>\\n <AccessControlStatus>open_white_list</AccessControlStatus>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n</DescribeListenerAccessControlAttributeResponse>","errorExample":""}]', + ], + 'DescribeLoadBalancerAttribute' => [ + 'summary' => '查询指定负载均衡实例的详细信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11148,48 +5620,23 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '88578', - 'abilityTreeNodes' => [ - 'FEATUREslb91TBWT', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88574', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1mxu5r8lau****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => '实例前端使用的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex****'], ], ], 'responses' => [ @@ -11197,550 +5644,269 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclType' => [ - 'description' => '访问控制类型:'."\n" - ."\n" - .'* **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" - ."\n" - .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'* **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" - ."\n" - .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'example' => 'white', - ], - 'XForwardedFor_ClientCertClientVerify' => [ - 'description' => '是否通过`XForwardedFor_ClientCertClientVerify`头字段获取对访问负载均衡实例客户端证书的校验结果。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'CACertificateId' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'example' => 'idkp-234-cn-test-0**', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF3********', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的端口。'."\n" - ."\n" - .'> 当**HealthCheck**值为**on**时才会有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'BackendServerPort' => [ - 'description' => '实例后端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'CookieTimeout' => [ - 'description' => 'Cookie超时时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => '用于健康检查的域名。', - 'type' => 'string', - 'example' => 'www.test.com', - ], - 'XForwardedFor' => [ - 'description' => '是否通过`X-Forwarded-For`的方式获取来访者真实IP。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_ClientCertFingerprint' => [ - 'description' => '是否通过`XForwardedFor_ClientCertFingerprint`头字段获取访问负载均衡实例客户端证书的指纹。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'IdleTimeout' => [ - 'description' => '指定连接空闲超时时间,取值范围为**1**~**60**,默认值为**15**。单位:秒。'."\n" - ."\n" - .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '23', - ], - 'ListenerPort' => [ - 'description' => '实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HealthCheckURI' => [ - 'description' => '用于健康检查的URI。', - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'StickySessionType' => [ - 'description' => 'Cookie的处理方式。'."\n" - ."\n" - .'取值:**insert**或**server**。'."\n" - ."\n" - .'* **insert**:植入Cookie。'."\n" - .' '."\n" - .' '."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie,下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'* **server**:重写Cookie。'."\n" - .' '."\n" - .' '."\n" - .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。', - 'type' => 'string', - 'example' => 'insert', - ], - 'Scheduler' => [ - 'description' => '调度算法。取值:**wrr**或**rr**。'."\n" - ."\n" - .'* **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" - ."\n" - .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'XForwardedFor_proto' => [ - 'description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" - ."\n" - .'> **HealthCheck**值为**on**时,该参数才会显示。', - 'type' => 'string', - 'example' => 'get', - ], - 'TLSCipherPolicy' => [ - 'description' => '只有性能保障型实例才可以指定TLSCipherPolicy参数,每种policy定义了一种安全策略。'."\n" - ."\n" - .'安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" - ."\n" - .'- **tls_cipher_policy_1_0**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_1**:'."\n" - ."\n" - .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_2**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_2_strict**'."\n" - ."\n" - .' 支持TLS版本:TLSv1.2。'."\n" - ."\n" - .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" - ."\n" - .'- **tls_cipher_policy_1_2_strict_with_1_3**'."\n" - .' '."\n" - .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" - .' '."\n" - .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', - 'type' => 'string', - 'example' => 'tls_cipher_policy_1_0', - ], - 'Status' => [ - 'description' => '当前监听的状态。取值:'."\n" - .'- **running**:运行中。'."\n" - .'- **stopped**:已停止。', - 'type' => 'string', - 'example' => 'stopped', - ], - 'VServerGroupId' => [ - 'description' => '绑定的服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j5e********', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'Cookie' => [ - 'description' => '服务器上配置的Cookie。', - 'type' => 'string', - 'example' => 'testCookie', - ], - 'Gzip' => [ - 'description' => '是否开启`Gzip`压缩。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'EnableHttp2' => [ - 'description' => '是否开启`HTTP2`特性。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'Bandwidth' => [ - 'description' => '监听的带宽峰值。单位:Mbps。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Description' => [ - 'description' => '自定义监听名称。', - 'type' => 'string', - 'example' => 'HTTPS_443', - ], - 'HealthCheckTimeout' => [ - 'description' => '每次健康检查响应的最大超时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AclStatus' => [ - 'description' => '是否开启访问控制功能。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'UnhealthyThreshold' => [ - 'description' => '不健康检查阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBID' => [ - 'description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_ClientCertSubjectDN' => [ - 'description' => '是否通过`XForwardedFor_ClientCertSubjectDN`头字段获取访问负载均衡实例客户端证书的所有者信息。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'SecurityStatus' => [ - 'description' => '是否处于安全状态。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码。', - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'RequestTimeout' => [ - 'description' => '指定请求超时时间,取值范围为**1**~**180**,默认值为**60**。单位:秒。'."\n" - ."\n" - .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '43', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ServerCertificateId' => [ - 'description' => '服务器证书的ID。', - 'type' => 'string', - 'example' => 'idkp-123-cn-test-0**', - ], - 'AclId' => [ - 'description' => '监听绑定的访问策略组ID。'."\n" - ."\n" - .'> 当**AclStatus**参数的值为**on**时,该参数必选。', - 'type' => 'string', - 'example' => 'acl-a2do9e413e0spzasx****', - ], - 'XForwardedFor_ClientCertIssuerDN' => [ - 'description' => '是否通过`XForwardedFor_ClientCertIssuerDN`头字段获取访问负载均衡实例客户端证书的发行者信息。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => '是否开启会话保持。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:未开启。', - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - .'- **on**:是。'."\n" - .'- **off**:否。', - 'type' => 'string', - 'example' => 'on', + 'VpcId' => ['description' => '传统型负载均衡私网实例的专有网络ID。', 'type' => 'string', 'example' => 'vpc-25dvzy9f8****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '实例的标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'test'], + 'TagValue' => ['description' => '实例的标签值。N的取值范围:**1**~**20**。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'value'], + ], + ], + ], + ], + 'description' => '', ], - 'AclIds' => [ + 'CreateTimeStamp' => ['description' => '传统型负载均衡实例创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'CreateTime' => ['description' => '传统型负载均衡实例的创建时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2017-08-31T02:49:05Z'], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa08ex****'], + 'PayType' => ['description' => '传统型负载均衡实例付费类型。取值:'."\n" + ."\n" + .'<props="china">- **PrePay**:包年包月。</props>'."\n" + ."\n" + .'<props="china">- **PayOnDemand**(默认值):按量付费。</props>'."\n" + ."\n" + .'<props="intl">- **PayOnDemand**(默认值):按量付费。</props>'."\n" + ."\n", 'type' => 'string', 'example' => 'PayOnDemand'], + 'AddressType' => ['description' => '传统型负载均衡实例的地址类型。', 'type' => 'string', 'example' => 'internet'], + 'NetworkType' => ['description' => '传统型负载均衡实例的网络类型。', 'type' => 'string', 'example' => 'vpc'], + 'AddressIPVersion' => ['description' => 'IP版本。取值:**ipv4**或**ipv6**。', 'type' => 'string', 'example' => 'ipv4'], + 'RenewalCycUnit' => ['description' => '自动续费周期,取值:**Year**或**Month**(默认值)。'."\n" + ."\n" + .'>该参数仅适用于中国站包年包月实例,即**PayType**的参数值为**PrePay**且**RenewalStatus**为**AutoRenewal**时有效。'."\n", 'type' => 'string', 'example' => 'Month'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'Bandwidth' => ['description' => '按带宽计费的公网型实例的带宽峰值。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'LoadBalancerName' => ['description' => '传统型负载均衡实例的名称。', 'type' => 'string', 'example' => 'lb-instance-test'], + 'Address' => ['description' => '传统型负载均衡实例的服务地址。 ', 'type' => 'string', 'example' => '42.XX.XX.6'], + 'SlaveZoneId' => ['description' => '传统型负载均衡实例的备可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-d'], + 'EndTimeStamp' => ['description' => '传统型负载均衡实例结束时间戳。 ', 'type' => 'integer', 'format' => 'int64', 'example' => '3249380160000'], + 'MasterZoneId' => ['description' => '传统型负载均衡实例的主可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-b'], + 'LoadBalancerSpec' => ['description' => '传统型负载均衡实例的性能规格。'."\n" + .'> 按使用量计费的实例无性能规格属性,默认返回 **slb.lcu.elastic**。', 'type' => 'string', 'example' => 'slb.s1.small'], + 'AutoReleaseTime' => ['description' => '释放时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1513947075000'], + 'ModificationProtectionReason' => ['description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在**ModificationProtectionStatus**为**ConsoleProtection**时有效。', 'type' => 'string', 'example' => 'Instance service guarantee period'], + 'RegionId' => ['description' => '传统型负载均衡实例所在地域ID。 ', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ModificationProtectionStatus' => ['description' => '传统型负载均衡修改保护状态:'."\n" + ."\n" + .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的**ModificationProtectionReason**。'."\n" + .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', 'type' => 'string', 'example' => 'ConsoleProtection'], + 'EndTime' => ['description' => '传统型负载均衡实例结束时间。 ', 'type' => 'string', 'example' => '2022-09-08T16:00:00Z'], + 'VSwitchId' => ['description' => '私网实例的交换机ID。', 'type' => 'string', 'example' => 'vsw-255ecrwq5****'], + 'LoadBalancerStatus' => ['description' => '传统型负载均衡实例状态:'."\n" + ."\n" + .'- **inactive**:实例已停止,此状态的实例监听不会再转发流量。'."\n" + ."\n" + .'- **active**:实例运行中,实例创建后,默认状态为**active**。'."\n" + ."\n" + .'- **locked**:实例已锁定,实例已经欠费或被阿里云锁定。'."\n" + .' ', 'type' => 'string', 'example' => 'active'], + 'ResourceGroupId' => ['description' => '企业资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3rtop****'], + 'InternetChargeType' => ['description' => '公网类型实例付费方式。取值:'."\n" + ."\n" + .'- **paybytraffic**:按使用流量计费。'."\n" + .'- **paybybandwidth**:按固定带宽计费。', 'type' => 'string', 'example' => 'paybytraffic'], + 'DeleteProtection' => ['description' => '是否开启实例删除保护。'."\n" + ."\n" + .'取值:**on**或**off**。', 'type' => 'string', 'example' => 'off'], + 'RegionIdAlias' => ['description' => '传统型负载均衡实例所属的地域别名。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'RenewalStatus' => ['description' => '续费状态,取值:'."\n" + ."\n" + .'- **AutoRenewal**:自动续费。'."\n" + .'- **Normal**:非自动续费,您需要自行续费负载均衡实例。'."\n" + .'- **NotRenewal**:不再续费。返回该值后,系统不再发送到期提醒,只在到期前第三天发送不续费提醒。'."\n" + ."\n" + .'> 该参数仅适用于中国站包年包月实例,即**PayType**的参数值为**PrePay**时有效。', 'type' => 'string', 'example' => 'AutoRenewal'], + 'RenewalDuration' => ['description' => '自动续费时长,仅在**RenewalStatus**为**AutoRenewal**时有效。'."\n" + ."\n" + .'- **RenewalCycUnit**为**Year**时,取值:**1~5**。'."\n" + .'- **RenewalCycUnit**为**Month**时,取值:**1~9**。'."\n" + ."\n" + .'> 该参数仅适用于中国站包年包月实例,即**PayType**的参数值为**PrePay**时有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'ListenerPorts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'AclId' => [ - 'description' => '监听绑定的访问策略组ID。', + 'ListenerPort' => [ + 'description' => '传统型负载均衡实例前端使用的端口。', 'type' => 'array', + 'items' => ['description' => '传统型负载均衡实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], ], ], + 'description' => '', ], - 'Rules' => [ + 'ListenerPortsAndProtocal' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Rule' => [ - 'description' => '监听下的转发规则列表。', + 'ListenerPortAndProtocal' => [ + 'description' => '监听端口或协议。', 'type' => 'array', 'items' => [ - 'description' => '监听下的转发规则列表。', + 'description' => '传统型负载均衡实例前端使用的协议。 ', 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '转发规则的目标服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j5e********', - ], - 'Url' => [ - 'description' => '访问路径。', - 'type' => 'string', - 'example' => '/example', - ], - 'Domain' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RuleName' => [ - 'description' => '转发规则名称。', - 'type' => 'string', - 'example' => 'example', - ], - 'RuleId' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'example' => '23', - ], + 'ListenerProtocal' => ['description' => '传统型负载均衡实例前端使用的协议。 ', 'type' => 'string', 'example' => 'http'], + 'ListenerPort' => ['description' => '实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], ], ], ], ], + 'description' => '', ], - 'DomainExtensions' => [ + 'ListenerPortsAndProtocol' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DomainExtension' => [ - 'description' => '域名扩展列表。', + 'ListenerPortAndProtocol' => [ + 'description' => '实例前端使用的端口和协议。', 'type' => 'array', 'items' => [ - 'description' => '域名扩展列表。', + 'description' => '实例前端使用的端口和协议。', 'type' => 'object', 'properties' => [ - 'ServerCertificateId' => [ - 'description' => '与域名对应的证书ID。', - 'type' => 'string', - 'example' => '13344444****', - ], - 'Domain' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'DomainExtensionId' => [ - 'description' => '域名扩展ID。', - 'type' => 'string', - 'example' => '12', - ], + 'ListenerPort' => ['description' => '实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ListenerProtocol' => ['description' => '实例前端使用的协议。 ', 'type' => 'string', 'example' => 'https'], + 'ListenerForward' => ['description' => '是否启用监听转发。', 'type' => 'string', 'example' => 'on'], + 'Description' => ['description' => '监听端口和协议描述。', 'type' => 'string', 'example' => 'The description of listener port and protocol.'], + 'ForwardPort' => ['description' => '转发到的目的监听端口,必须是已经存在的HTTPS监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], ], ], ], ], + 'description' => '', ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1mxu5r8lau****', - ], - 'Tags' => [ + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => '标签列表。', + 'BackendServer' => [ + 'description' => '实例的后端服务器列表。', 'type' => 'array', 'items' => [ - 'description' => '标签列表。', + 'description' => '实例的后端服务器列表。', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestValue', - ], + 'Type' => ['description' => '后端服务器类型。'."\n" + .'ecs:ECS实例(默认)。'."\n" + .'eni:弹性网卡实例。'."\n" + .'eci:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重。 ', 'type' => 'integer', 'format' => 'int32', 'example' => '90'], + 'Description' => ['description' => '后端服务器描述。'."\n" + ."\n" + .'> 若用户未设置**Description**,则该参数不返回。', 'type' => 'string', 'example' => 'Backend servers'], + 'ServerIp' => ['description' => 'ENI或ECI的实例ID。', 'type' => 'string', 'example' => '192.XX.XX.11'], + 'ServerId' => ['description' => '后端服务器实例ID。', 'type' => 'string', 'example' => 'i-2zej4lxhjoq1icu*****'], ], ], ], ], + 'description' => '', ], + 'InstanceChargeType' => ['description' => '实例计费方式。取值:'."\n" + ."\n" + .'- **PayBySpec**:按规格计费。'."\n" + .'- **PayByCLCU**:按使用量计费。', 'type' => 'string', 'example' => 'PayBySpec'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclType\\": \\"white\\",\\n \\"XForwardedFor_ClientCertClientVerify\\": \\"off\\",\\n \\"CACertificateId\\": \\"idkp-234-cn-test-0**\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3********\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"BackendServerPort\\": 8080,\\n \\"CookieTimeout\\": 500,\\n \\"HealthCheckDomain\\": \\"www.test.com\\",\\n \\"XForwardedFor\\": \\"on\\",\\n \\"XForwardedFor_ClientCertFingerprint\\": \\"off\\",\\n \\"IdleTimeout\\": 23,\\n \\"ListenerPort\\": 80,\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"XForwardedFor_SLBPORT\\": \\"off\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"XForwardedFor_proto\\": \\"on\\",\\n \\"HealthCheckMethod\\": \\"get\\",\\n \\"TLSCipherPolicy\\": \\"tls_cipher_policy_1_0\\",\\n \\"Status\\": \\"stopped\\",\\n \\"VServerGroupId\\": \\"rsp-cige6j5e********\\",\\n \\"XForwardedFor_ClientSrcPort\\": \\"off\\",\\n \\"Cookie\\": \\"testCookie\\",\\n \\"Gzip\\": \\"on\\",\\n \\"EnableHttp2\\": \\"off\\",\\n \\"Bandwidth\\": 10,\\n \\"Description\\": \\"HTTPS_443\\",\\n \\"HealthCheckTimeout\\": 3,\\n \\"AclStatus\\": \\"off\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"XForwardedFor_SLBID\\": \\"on\\",\\n \\"XForwardedFor_ClientCertSubjectDN\\": \\"off\\",\\n \\"SecurityStatus\\": \\"on\\",\\n \\"HealthCheckHttpCode\\": \\"http_2xx,http_3xx\\",\\n \\"RequestTimeout\\": 43,\\n \\"HealthCheckInterval\\": 5,\\n \\"ServerCertificateId\\": \\"idkp-123-cn-test-0**\\",\\n \\"AclId\\": \\"acl-a2do9e413e0spzasx****\\",\\n \\"XForwardedFor_ClientCertIssuerDN\\": \\"off\\",\\n \\"HealthyThreshold\\": 4,\\n \\"XForwardedFor_SLBIP\\": \\"on\\",\\n \\"StickySession\\": \\"on\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"AclIds\\": {\\n \\"AclId\\": [\\n \\"\\"\\n ]\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-cige6j5e********\\",\\n \\"Url\\": \\"/example\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RuleName\\": \\"example\\",\\n \\"RuleId\\": \\"23\\"\\n }\\n ]\\n },\\n \\"DomainExtensions\\": {\\n \\"DomainExtension\\": [\\n {\\n \\"ServerCertificateId\\": \\"13344444****\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"DomainExtensionId\\": \\"12\\"\\n }\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-bp1mxu5r8lau****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerHTTPSListenerAttributeResponse>\\n <AclType>white</AclType>\\n <XForwardedFor_ClientCertClientVerify>off</XForwardedFor_ClientCertClientVerify>\\n <CACertificateId>idkp-234-cn-test-0**</CACertificateId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF3********</RequestId>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <BackendServerPort>8080</BackendServerPort>\\n <CookieTimeout>500</CookieTimeout>\\n <HealthCheckDomain>www.test.com</HealthCheckDomain>\\n <XForwardedFor>on</XForwardedFor>\\n <XForwardedFor_ClientCertFingerprint>off</XForwardedFor_ClientCertFingerprint>\\n <IdleTimeout>23</IdleTimeout>\\n <ListenerPort>80</ListenerPort>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <XForwardedFor_SLBPORT>off</XForwardedFor_SLBPORT>\\n <StickySessionType>insert</StickySessionType>\\n <Scheduler>wrr</Scheduler>\\n <XForwardedFor_proto>on</XForwardedFor_proto>\\n <HealthCheckMethod>get</HealthCheckMethod>\\n <TLSCipherPolicy>tls_cipher_policy_1_0</TLSCipherPolicy>\\n <Status>stopped</Status>\\n <VServerGroupId>rsp-cige6j5e********</VServerGroupId>\\n <XForwardedFor_ClientSrcPort>off</XForwardedFor_ClientSrcPort>\\n <Cookie>B490B5EBF6F3CD402E515D22BCDA1598</Cookie>\\n <Gzip>on</Gzip>\\n <EnableHttp2>off</EnableHttp2>\\n <Bandwidth>-1</Bandwidth>\\n <Description>HTTPS_443</Description>\\n <HealthCheckTimeout>3</HealthCheckTimeout>\\n <AclStatus>off</AclStatus>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <XForwardedFor_SLBID>on</XForwardedFor_SLBID>\\n <XForwardedFor_ClientCertSubjectDN>off</XForwardedFor_ClientCertSubjectDN>\\n <SecurityStatus>on</SecurityStatus>\\n <HealthCheckHttpCode>http_2xx,http_3xx</HealthCheckHttpCode>\\n <RequestTimeout>43</RequestTimeout>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <ServerCertificateId>idkp-123-cn-test-0**</ServerCertificateId>\\n <AclId>nacl-a2do9e413e0spzasx****</AclId>\\n <XForwardedFor_ClientCertIssuerDN>off</XForwardedFor_ClientCertIssuerDN>\\n <HealthyThreshold>4</HealthyThreshold>\\n <XForwardedFor_SLBIP>on</XForwardedFor_SLBIP>\\n <StickySession>on</StickySession>\\n <HealthCheck>on</HealthCheck>\\n <Rules>\\n <VServerGroupId>12</VServerGroupId>\\n <Url>/example</Url>\\n <Domain>www.example.com</Domain>\\n <RuleName>example</RuleName>\\n <RuleId>23</RuleId>\\n </Rules>\\n <DomainExtensions>\\n <ServerCertificateId>13344444****</ServerCertificateId>\\n <Domain>www.example.com</Domain>\\n <DomainExtensionId>12</DomainExtensionId>\\n </DomainExtensions>\\n <LoadBalancerId>lb-bp1mxu5r8lau****</LoadBalancerId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n</DescribeLoadBalancerHTTPSListenerAttributeResponse>","errorExample":""}]', - 'title' => '查询HTTPS监听配置', - 'description' => '- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" - .'- 您已经创建HTTPS监听,具体操作,请参见[CreateLoadBalancerHTTPSListener](~~27593~~)。', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VpcId\\": \\"vpc-25dvzy9f8****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"value\\"\\n }\\n ]\\n },\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"CreateTime\\": \\"2017-08-31T02:49:05Z\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa08ex****\\",\\n \\"PayType\\": \\"PayOnDemand\\",\\n \\"AddressType\\": \\"internet\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"RenewalCycUnit\\": \\"Month\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Bandwidth\\": 5,\\n \\"LoadBalancerName\\": \\"lb-instance-test\\",\\n \\"Address\\": \\"42.XX.XX.6\\",\\n \\"SlaveZoneId\\": \\"cn-hangzhou-d\\",\\n \\"EndTimeStamp\\": 3249380160000,\\n \\"MasterZoneId\\": \\"cn-hangzhou-b\\",\\n \\"LoadBalancerSpec\\": \\"slb.s1.small\\",\\n \\"AutoReleaseTime\\": 1513947075000,\\n \\"ModificationProtectionReason\\": \\"Instance service guarantee period\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ModificationProtectionStatus\\": \\"ConsoleProtection\\",\\n \\"EndTime\\": \\"2022-09-08T16:00:00Z\\",\\n \\"VSwitchId\\": \\"vsw-255ecrwq5****\\",\\n \\"LoadBalancerStatus\\": \\"active\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"InternetChargeType\\": \\"paybytraffic\\",\\n \\"DeleteProtection\\": \\"off\\",\\n \\"RegionIdAlias\\": \\"cn-hangzhou\\",\\n \\"RenewalStatus\\": \\"AutoRenewal\\",\\n \\"RenewalDuration\\": 1,\\n \\"ListenerPorts\\": {\\n \\"ListenerPort\\": [\\n 80\\n ]\\n },\\n \\"ListenerPortsAndProtocal\\": {\\n \\"ListenerPortAndProtocal\\": [\\n {\\n \\"ListenerProtocal\\": \\"http\\",\\n \\"ListenerPort\\": 443\\n }\\n ]\\n },\\n \\"ListenerPortsAndProtocol\\": {\\n \\"ListenerPortAndProtocol\\": [\\n {\\n \\"ListenerPort\\": 80,\\n \\"ListenerProtocol\\": \\"https\\",\\n \\"ListenerForward\\": \\"on\\",\\n \\"Description\\": \\"The description of listener port and protocol.\\",\\n \\"ForwardPort\\": 443\\n }\\n ]\\n },\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 90,\\n \\"Description\\": \\"Backend servers\\",\\n \\"ServerIp\\": \\"192.XX.XX.11\\",\\n \\"ServerId\\": \\"i-2zej4lxhjoq1icu*****\\"\\n }\\n ]\\n },\\n \\"InstanceChargeType\\": \\"PayBySpec\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerAttributeResponse>\\n <VpcId>vpc-25dvzy9f8****</VpcId>\\n <Tags>\\n <TagKey>test</TagKey>\\n <TagValue>value</TagValue>\\n </Tags>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <CreateTime>2017-08-31T02:49:05Z</CreateTime>\\n <LoadBalancerId>lb-bp1b6c719dfa08ex****</LoadBalancerId>\\n <PayType>PayOnDemand</PayType>\\n <AddressType>internet</AddressType>\\n <NetworkType>vpc</NetworkType>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <RenewalCycUnit>Month</RenewalCycUnit>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Bandwidth>5</Bandwidth>\\n <LoadBalancerName>lb-instance-test</LoadBalancerName>\\n <Address>42.XX.XX.6</Address>\\n <SlaveZoneId>cn-hangzhou-d</SlaveZoneId>\\n <EndTimeStamp>32493801600000</EndTimeStamp>\\n <MasterZoneId>cn-hangzhou-b</MasterZoneId>\\n <LoadBalancerSpec>slb.s1.small</LoadBalancerSpec>\\n <AutoReleaseTime>1513947075000</AutoReleaseTime>\\n <ModificationProtectionReason>实例业务保障期</ModificationProtectionReason>\\n <RegionId>cn-hangzhou</RegionId>\\n <ModificationProtectionStatus>ConsoleProtection</ModificationProtectionStatus>\\n <EndTime>2022-09-08T16:00:00Z</EndTime>\\n <VSwitchId>vsw-255ecrwq5****</VSwitchId>\\n <LoadBalancerStatus>active</LoadBalancerStatus>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <InternetChargeType>paybytraffic</InternetChargeType>\\n <DeleteProtection>off</DeleteProtection>\\n <RegionIdAlias>hangzhou</RegionIdAlias>\\n <RenewalStatus>AutoRenewal</RenewalStatus>\\n <RenewalDuration>1</RenewalDuration>\\n <ListenerPorts>80</ListenerPorts>\\n <ListenerPortsAndProtocal>\\n <ListenerProtocal>http</ListenerProtocal>\\n <ListenerPort>443</ListenerPort>\\n </ListenerPortsAndProtocal>\\n <ListenerPortsAndProtocol>\\n <ListenerPort>80</ListenerPort>\\n <ListenerProtocol>https</ListenerProtocol>\\n <ListenerForward>on</ListenerForward>\\n <Description>监听描述</Description>\\n <ForwardPort>443</ForwardPort>\\n </ListenerPortsAndProtocol>\\n <BackendServers>\\n <Type>ecs</Type>\\n <Weight>90</Weight>\\n <Description>用来接收转发请求的后端服务器</Description>\\n <ServerIp>192.XX.XX.11</ServerIp>\\n <ServerId>i-2zej4lxhjoq1icu*****</ServerId>\\n </BackendServers>\\n <InstanceChargeType>PayBySpec</InstanceChargeType>\\n</DescribeLoadBalancerAttributeResponse>","errorExample":""}]', + 'title' => '查询指定负载均衡实例的详细信息', + 'description' => '> 如果后端服务器设置在虚拟服务器组下面,请调用[DescribeVServerGroupAttribute](~~35224~~)查询。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateRules' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-12-14T03:27:56.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-04-28T14:56:30.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '6000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'DescribeLoadBalancerHTTPListenerAttribute' => [ + 'summary' => '查询HTTP监听配置。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'abilityTreeCode' => '88577', + 'abilityTreeNodes' => ['FEATUREslbOMAMKB'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ca0zt07t934w******', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1uaunez0uho0zf0****'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的监听端口。'."\n" - ."\n" - .'取值范围:**1~65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '443', - ], - ], - [ - 'name' => 'ListenerProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - ."\n" - .'> 相同端口存在不同协议监听时,此字段必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], - ], - [ - 'name' => 'RuleList', - 'in' => 'query', - 'schema' => [ - 'description' => '要添加的转发规则。一次请求中,最多可添加10条转发规则。每条转发规则包含以下参数:'."\n" - ."\n" - .'- **RuleName**(必选):String类型。转发规则名称,长度为1~40个字符,支持字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。同一个监听内不同规则的名称必须唯一。'."\n" - ."\n" - .'- **Domain**(可选): String类型。转发规则关联的请求域名,与**Url**参数至少选择一个。'."\n" - ."\n" - .'- **Url**(可选):String类型,可选,访问路径,长度限制为1~80个字符,只能使用中文、字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、问号(?)、井号(#)和and(&)这些字符。 URL不能只为正斜线(/),但必须以正斜线(/)开头,与**Domain**参数至少选择一个。'."\n" - ."\n" - .'- **VServerGroupId**(必选):String类型。该转发规则的目标虚拟服务器组ID。'."\n" - ."\n" - .'> `Domain`和`Url`两者必须指定一个,也可以同时指定。`Domain`和`Url`的组合在同一个监听内必须唯一。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"RuleName":"Rule2","Domain":"test.com","VServerGroupId":"rsp-bp114ni******"}]', - ], + 'schema' => ['description' => '实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], ], 'responses' => [ @@ -11748,376 +5914,608 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'AclType' => ['description' => '访问控制类型:'."\n" + ."\n" + .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + ."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'example' => 'white'], + 'VServerGroupId' => ['description' => '绑定的服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j****'], + 'Status' => ['description' => '当前监听的状态。取值:'."\n" + ."\n" + .'- **running**:表示监听正常运行。'."\n" + ."\n" + .'- **stopped**:表示监听停止。', 'type' => 'string', 'example' => 'stopped'], + 'XForwardedFor_ClientSrcPort' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'Cookie' => ['description' => '服务器上配置的Cookie。', 'type' => 'string', 'example' => 'testCookie'], + 'Gzip' => ['description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'HealthCheckConnectPort' => ['description' => '健康检查的端口。'."\n" + ."\n" + .' > 当**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'Description' => ['description' => '自定义监听名称。', 'type' => 'string', 'example' => 'HTTP_80'], + 'Bandwidth' => ['description' => '监听的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'- **-1**:不限制带宽峰值。'."\n" + ."\n" + .'- **1~5120**:监听的带宽峰值,所有监听的带宽峰值之和不能超过实例的带宽峰值。', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'], + 'HealthCheckTimeout' => ['description' => '每次健康检查响应的超时时间,单位:秒。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'AclStatus' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'BackendServerPort' => ['description' => '实例后端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'CookieTimeout' => ['description' => 'Cookie超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'HealthCheckDomain' => ['description' => '用于健康检查的域名。', 'type' => 'string', 'example' => 'www.domain.com'], + 'UnhealthyThreshold' => ['description' => '不健康检查阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ForwardPort' => ['description' => 'HTTP至HTTPS的监听转发端口。'."\n" + ."\n" + .'> 如果**ListenerForward**的值为**off**,该参数不显示。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'XForwardedFor_SLBID' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'SecurityStatus' => ['description' => '是否开启安全状态。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码。', 'type' => 'string', 'example' => 'http_2xx,http_3xx'], + 'ListenerForward' => ['description' => '是否开启HTTP至HTTPS的监听转发。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor' => ['description' => '是否开启通过`X-Forwarded-For`头字段的方式获取来访者真实IP。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'IdleTimeout' => ['description' => '指定连接空闲超时时间,单位:秒。'."\n" + ."\n" + .'默认值为**15**,取值范围为**1~60**。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到下一次请求来临时重新建立新的连接。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'RequestTimeout' => ['description' => '指定请求超时时间。单位:秒。'."\n" + ."\n" + .'默认值为**60**,取值范围为**1~180**。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '34'], + 'ListenerPort' => ['description' => '实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔,单位:秒。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'XForwardedFor_SLBPORT' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'HealthCheckURI' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'长度限制为1~80,只能使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%),半角问号(?)、井号(#)和and(&)这些字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。', 'type' => 'string', 'example' => '/test/index.html'], + 'StickySessionType' => ['description' => 'Cookie的处理方式。'."\n" + ."\n" + .'取值:**insert**或**server**。'."\n" + ."\n" + .'- **insert**:植入Cookie。'."\n" + ."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'- **server**:重写Cookie。'."\n" + ."\n" + .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'>当**StickySession**的值为**on**时,必须指定该参数。', 'type' => 'string', 'example' => 'insert '], + 'AclId' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,返回该参数。', 'type' => 'string', 'example' => 'acl-uf60jw******'], + 'Scheduler' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'example' => 'wrr'], + 'HealthyThreshold' => ['description' => '健康检查阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_proto' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor_SLBIP' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'StickySession' => ['description' => '是否开启会话保持。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'HealthCheckMethod' => ['description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" + ."\n" + .'> **HealthCheck**值为**on**时,返回该参数。', 'type' => 'string', 'example' => 'get'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'array'], + ], + 'description' => '', ], 'Rules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Rule' => [ - 'description' => '转发规则列表。', + 'description' => '转发规则描述。', 'type' => 'array', 'items' => [ - 'description' => '转发规则列表。', 'type' => 'object', 'properties' => [ - 'RuleName' => [ - 'description' => '转发规则名称。', - 'type' => 'string', - 'example' => 'Rule2', - ], - 'RuleId' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'example' => 'rule-bp12jzy0*****', - ], + 'VServerGroupId' => ['description' => '转发规则的目标服务器组ID。', 'type' => 'string', 'example' => 'rsp-uf6w******'], + 'Url' => ['description' => '访问路径。', 'type' => 'string', 'example' => '/example'], + 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'RuleName' => ['description' => '转发规则名称。', 'type' => 'string', 'example' => 'test'], + 'RuleId' => ['description' => '转发规则ID。', 'type' => 'string', 'example' => '1234'], ], - 'enumValueTitles' => [], + 'description' => '', ], ], ], + 'description' => '', + ], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1uaunez0uho0zf0****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified VServerGroupId does not belong to the LoadBalancerId of the rule.', - ], - [ - 'errorCode' => 'InvalidParameterValue.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter value, %s.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'DomainExist', - 'errorMessage' => 'rule with same domain and url already exists in specified vip', - ], - [ - 'errorCode' => 'OperationFailed.ListenerStatusNotSupport', - 'errorMessage' => 'The status of the listener does not support this operation. Please try again later.', - ], - [ - 'errorCode' => 'OperationFailed.ActionNotSupport', - 'errorMessage' => 'The loadbalancer does not support such action.', - ], - [ - 'errorCode' => 'MissingParameter.RuleName', - 'errorMessage' => 'The parameter RuleName is required.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"RuleName\\": \\"Rule2\\",\\n \\"RuleId\\": \\"rule-bp12jzy0*****\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateRulesResponse>\\n\\t<RequestId>D63E42FB-F963-4EE5-9B32-05602BF351F3</RequestId>\\n\\t<Rules>\\n\\t\\t<Rule>\\n\\t\\t\\t<RuleId>rule-bp12jzy******</RuleId>\\n\\t\\t\\t<RuleName>Rule3</RuleName>\\n\\t\\t</Rule>\\n\\t</Rules>\\n</CreateRulesResponse>","errorExample":""}]', - 'title' => '为HTTP或HTTPS监听添加转发规则', - 'summary' => '为指定的HTTP或HTTPS监听添加转发规则。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclType\\": \\"white\\",\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"Status\\": \\"stopped\\",\\n \\"XForwardedFor_ClientSrcPort\\": \\"off\\",\\n \\"Cookie\\": \\"testCookie\\",\\n \\"Gzip\\": \\"on\\",\\n \\"HealthCheckConnectPort\\": 8080,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Description\\": \\"HTTP_80\\",\\n \\"Bandwidth\\": -1,\\n \\"HealthCheckTimeout\\": 3,\\n \\"AclStatus\\": \\"off\\",\\n \\"BackendServerPort\\": 80,\\n \\"CookieTimeout\\": 500,\\n \\"HealthCheckDomain\\": \\"www.domain.com\\",\\n \\"UnhealthyThreshold\\": 4,\\n \\"ForwardPort\\": 80,\\n \\"XForwardedFor_SLBID\\": \\"on\\",\\n \\"SecurityStatus\\": \\"on\\",\\n \\"HealthCheckHttpCode\\": \\"http_2xx,http_3xx\\",\\n \\"ListenerForward\\": \\"on\\",\\n \\"XForwardedFor\\": \\"on\\",\\n \\"IdleTimeout\\": 2,\\n \\"RequestTimeout\\": 34,\\n \\"ListenerPort\\": 80,\\n \\"HealthCheckInterval\\": 5,\\n \\"XForwardedFor_SLBPORT\\": \\"off\\",\\n \\"HealthCheckURI\\": \\"/test/index.html\\",\\n \\"StickySessionType\\": \\"insert \\",\\n \\"AclId\\": \\"acl-uf60jw******\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthyThreshold\\": 4,\\n \\"XForwardedFor_proto\\": \\"on\\",\\n \\"XForwardedFor_SLBIP\\": \\"on\\",\\n \\"StickySession\\": \\"on\\",\\n \\"HealthCheckMethod\\": \\"get\\",\\n \\"HealthCheck\\": \\"on\\",\\n \\"AclIds\\": {\\n \\"AclId\\": [\\n \\"\\"\\n ]\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-uf6w******\\",\\n \\"Url\\": \\"/example\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RuleName\\": \\"test\\",\\n \\"RuleId\\": \\"1234\\"\\n }\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-bp1uaunez0uho0zf0****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancerHTTPListenerAttributeResponse>\\n <AclType>white</AclType>\\n <VServerGroupId>rsp-cige6j****</VServerGroupId>\\n <Status>stopped</Status>\\n <Cookie>B490B5EBF6F3CD402E515D22BCDA1598</Cookie>\\n <Gzip>on</Gzip>\\n <HealthCheckConnectPort>8080</HealthCheckConnectPort>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Description>HTTP_80</Description>\\n <Bandwidth>-1</Bandwidth>\\n <HealthCheckTimeout>3</HealthCheckTimeout>\\n <AclStatus>off</AclStatus>\\n <BackendServerPort>80</BackendServerPort>\\n <CookieTimeout>500</CookieTimeout>\\n <HealthCheckDomain>www.domain.com</HealthCheckDomain>\\n <UnhealthyThreshold>4</UnhealthyThreshold>\\n <ForwardPort>80</ForwardPort>\\n <XForwardedFor_SLBID>on</XForwardedFor_SLBID>\\n <SecurityStatus>on</SecurityStatus>\\n <HealthCheckHttpCode>http_2xx,http_3xx</HealthCheckHttpCode>\\n <ListenerForward>on</ListenerForward>\\n <XForwardedFor>on</XForwardedFor>\\n <IdleTimeout>2</IdleTimeout>\\n <RequestTimeout>34</RequestTimeout>\\n <ListenerPort>80</ListenerPort>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <HealthCheckURI>/test/index.html</HealthCheckURI>\\n <StickySessionType>insert </StickySessionType>\\n <AclId>on</AclId>\\n <Scheduler>wrr</Scheduler>\\n <HealthyThreshold>4</HealthyThreshold>\\n <XForwardedFor_proto>on</XForwardedFor_proto>\\n <XForwardedFor_SLBIP>on</XForwardedFor_SLBIP>\\n <StickySession>on</StickySession>\\n <HealthCheckMethod>get</HealthCheckMethod>\\n <HealthCheck>on</HealthCheck>\\n <Rules>\\n <VServerGroupId>123</VServerGroupId>\\n <Url>/example</Url>\\n <Domain>www.example.com</Domain>\\n <RuleName>test</RuleName>\\n <RuleId>1234</RuleId>\\n </Rules>\\n <LoadBalancerId>lb-bp1uaunez0uho0zf0****</LoadBalancerId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n</DescribeLoadBalancerHTTPListenerAttributeResponse>","errorExample":""}]', + 'title' => '查询HTTP监听配置', + 'description' => '## 前提条件'."\n" + ."\n" + .'- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + .'- 您已经创建HTTP监听,具体操作,请参见[CreateLoadBalancerHTTPListener](~~27592~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetRule' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-14T12:22:57.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-13T08:51:32.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'DescribeLoadBalancerHTTPSListenerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'abilityTreeCode' => '88578', + 'abilityTreeNodes' => ['FEATUREslb91TBWT'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'RuleId', - 'in' => 'query', - 'schema' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rule-3ejhkt****', - ], - ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '转发规则的目标服务器组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6****', - ], - ], - [ - 'name' => 'RuleName', - 'in' => 'query', - 'schema' => [ - 'description' => '转发规则名称,长度限制为1~40个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。'."\n" - ."\n" - .'> 同一个监听内不同规则的名称必须唯一。', - 'type' => 'string', - 'required' => false, - 'example' => 'doctest', - ], - ], - [ - 'name' => 'ListenerSync', - 'in' => 'query', - 'schema' => [ - 'description' => '是否继承监听的健康检查、会话保持和调度算法配置。取值:'."\n" - ."\n" - .'- **on**:继承监听配置。'."\n" - ."\n" - .'- **off**:不继承监听配置。转发规则自定义健康检查及会话保持配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'* **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'>在**ListenerSync**为**off**时必选且有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'StickySession', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '是否开启会话保持,取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - ."\n" - .'- **off**:不开启。'."\n" - ."\n" - .'在**ListenerSync**为**off**时必选且有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1mxu5r8lau****'], ], [ - 'name' => 'StickySessionType', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'Cookie的处理方式。取值:'."\n" - ."\n" - .'- **insert**:植入Cookie。'."\n" - .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入后端服务器ID),客户端下次携带此Cookie访问时,负载均衡服务会将请求定向转发给第一次访问时记录到的后端服务器上。'."\n" - ."\n" - .'- **server**:重写Cookie。'."\n" - .' 负载均衡发现用户自定义Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问时,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'>**StickySession**为**on**时必选且有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], + 'schema' => ['description' => '实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], - [ - 'name' => 'CookieTimeout', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Cookie超时时间。单位:秒。取值范围:**1**~**86400**。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时必选且有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '123', + 'type' => 'object', + 'properties' => [ + 'AclType' => ['description' => '访问控制类型:'."\n" + ."\n" + .'* **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + ."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'* **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'example' => 'white'], + 'XForwardedFor_ClientCertClientVerify' => ['description' => '是否通过`XForwardedFor_ClientCertClientVerify`头字段获取对访问负载均衡实例客户端证书的校验结果。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'CACertificateId' => ['description' => 'CA证书ID。', 'type' => 'string', 'example' => 'idkp-234-cn-test-0**'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF3********'], + 'HealthCheckConnectPort' => ['description' => '健康检查的端口。'."\n" + ."\n" + .'> 当**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'BackendServerPort' => ['description' => '实例后端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'CookieTimeout' => ['description' => 'Cookie超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'HealthCheckDomain' => ['description' => '用于健康检查的域名。', 'type' => 'string', 'example' => 'www.test.com'], + 'XForwardedFor' => ['description' => '是否通过`X-Forwarded-For`的方式获取来访者真实IP。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor_ClientCertFingerprint' => ['description' => '是否通过`XForwardedFor_ClientCertFingerprint`头字段获取访问负载均衡实例客户端证书的指纹。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'IdleTimeout' => ['description' => '指定连接空闲超时时间,取值范围为**1**~**60**,默认值为**15**。单位:秒。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', 'type' => 'integer', 'format' => 'int32', 'example' => '23'], + 'ListenerPort' => ['description' => '实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'HealthCheckURI' => ['description' => '用于健康检查的URI。', 'type' => 'string', 'example' => '/test/index.html'], + 'XForwardedFor_SLBPORT' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'StickySessionType' => ['description' => 'Cookie的处理方式。'."\n" + ."\n" + .'取值:**insert**或**server**。'."\n" + ."\n" + .'* **insert**:植入Cookie。'."\n" + .' '."\n" + .' '."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie,下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'* **server**:重写Cookie。'."\n" + .' '."\n" + .' '."\n" + .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。', 'type' => 'string', 'example' => 'insert'], + 'Scheduler' => ['description' => '调度算法。取值:**wrr**或**rr**。'."\n" + ."\n" + .'* **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + ."\n" + .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'example' => 'wrr'], + 'XForwardedFor_proto' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'HealthCheckMethod' => ['description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" + ."\n" + .'> **HealthCheck**值为**on**时,该参数才会显示。', 'type' => 'string', 'example' => 'get'], + 'TLSCipherPolicy' => ['description' => '只有性能保障型实例才可以指定TLSCipherPolicy参数,每种policy定义了一种安全策略。'."\n" + ."\n" + .'安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" + ."\n" + .'- **tls_cipher_policy_1_0**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_1**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_2**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_2_strict**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_2_strict_with_1_3**'."\n" + .' '."\n" + .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" + .' '."\n" + .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', 'type' => 'string', 'example' => 'tls_cipher_policy_1_0'], + 'Status' => ['description' => '当前监听的状态。取值:'."\n" + .'- **running**:运行中。'."\n" + .'- **stopped**:已停止。', 'type' => 'string', 'example' => 'stopped'], + 'VServerGroupId' => ['description' => '绑定的服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j5e********'], + 'XForwardedFor_ClientSrcPort' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'Cookie' => ['description' => '服务器上配置的Cookie。', 'type' => 'string', 'example' => 'testCookie'], + 'Gzip' => ['description' => '是否开启`Gzip`压缩。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'EnableHttp2' => ['description' => '是否开启`HTTP2`特性。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'Bandwidth' => ['description' => '监听的带宽峰值。单位:Mbps。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'Description' => ['description' => '自定义监听名称。', 'type' => 'string', 'example' => 'HTTPS_443'], + 'HealthCheckTimeout' => ['description' => '每次健康检查响应的最大超时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'AclStatus' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'UnhealthyThreshold' => ['description' => '不健康检查阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_SLBID' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor_ClientCertSubjectDN' => ['description' => '是否通过`XForwardedFor_ClientCertSubjectDN`头字段获取访问负载均衡实例客户端证书的所有者信息。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'SecurityStatus' => ['description' => '是否处于安全状态。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码。', 'type' => 'string', 'example' => 'http_2xx,http_3xx'], + 'RequestTimeout' => ['description' => '指定请求超时时间,取值范围为**1**~**180**,默认值为**60**。单位:秒。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '43'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'ServerCertificateId' => ['description' => '服务器证书的ID。', 'type' => 'string', 'example' => 'idkp-123-cn-test-0**'], + 'AclId' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'example' => 'acl-a2do9e413e0spzasx****'], + 'XForwardedFor_ClientCertIssuerDN' => ['description' => '是否通过`XForwardedFor_ClientCertIssuerDN`头字段获取访问负载均衡实例客户端证书的发行者信息。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'HealthyThreshold' => ['description' => '健康检查阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_SLBIP' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'StickySession' => ['description' => '是否开启会话保持。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:未开启。', 'type' => 'string', 'example' => 'on'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => ['description' => '监听绑定的访问策略组ID。', 'type' => 'array'], + ], + 'description' => '', + ], + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => '监听下的转发规则列表。', + 'type' => 'array', + 'items' => [ + 'description' => '监听下的转发规则列表。', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => '转发规则的目标服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j5e********'], + 'Url' => ['description' => '访问路径。', 'type' => 'string', 'example' => '/example'], + 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'RuleName' => ['description' => '转发规则名称。', 'type' => 'string', 'example' => 'example'], + 'RuleId' => ['description' => '转发规则ID。', 'type' => 'string', 'example' => '23'], + ], + ], + ], + ], + 'description' => '', + ], + 'DomainExtensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainExtension' => [ + 'description' => '域名扩展列表。', + 'type' => 'array', + 'items' => [ + 'description' => '域名扩展列表。', + 'type' => 'object', + 'properties' => [ + 'ServerCertificateId' => ['description' => '与域名对应的证书ID。', 'type' => 'string', 'example' => '13344444****'], + 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'DomainExtensionId' => ['description' => '域名扩展ID。', 'type' => 'string', 'example' => '12'], + ], + ], + ], + ], + 'description' => '', + ], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1mxu5r8lau****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], + ], + ], + 'description' => '', + ], + ], + 'description' => '', ], ], - [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元($)开头。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**server**时必选且有效。', - 'type' => 'string', - 'required' => false, - 'example' => '23ffsa', + ], + 'title' => '查询HTTPS监听配置', + 'summary' => '查询HTTPS监听配置。', + 'description' => '- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + .'- 您已经创建HTTPS监听,具体操作,请参见[CreateLoadBalancerHTTPSListener](~~27593~~)。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-14T12:22:57.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-13T08:51:32.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], + ], + ], + 'DescribeLoadBalancerListeners' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**:开启。'."\n" - .'- **off**:不开启。'."\n" - ."\n" - .'> **ListenerSync**为**off**时必选且有效,其他情况会忽略此参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '88579', + 'abilityTreeNodes' => ['FEATUREslbOL61C3'], + ], + 'parameters' => [ [ - 'name' => 'HealthCheckDomain', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的域名,取值:'."\n" - ."\n" - .'* **$_ip**: 后端服务器的私网IP。当指定了$_ip或HealthCheckDomain未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'>** HealthCheck**为**on**时有效。', - 'type' => 'string', - 'required' => false, - 'example' => '$_ip', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。'."\n" + ."\n" + .'> 当您所选地域的Endpoint(服务地址)为slb.aliyuncs.com时,`RegionId`必填。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'>**HealthCheck**为**on**时必选且有效。', - 'type' => 'string', - 'required' => false, - 'example' => '/example', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'MaxResults', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值范围:**2**~**10**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时必选且有效。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '分批次查询时每次显示的条目数。'."\n" + ."\n" + .'取值范围:**1**~**100**,入参为空时,默认值:**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '101', 'minimum' => '0', 'example' => '50', 'default' => '20'], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" - ."\n" - .'取值范围:**2**~**10**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时必选且有效。'."\n" - ."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => '传统型负载均衡监听协议。取值:'."\n" + .'- **tcp**'."\n" + .'- **udp**'."\n" + .'- **http**'."\n" + .'- **https**'."\n", 'type' => 'string', 'required' => false, 'example' => 'http'], ], [ - 'name' => 'HealthCheckTimeout', + 'name' => 'LoadBalancerId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值范围:**1**~**300**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时必选且有效。'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => '传统型负载均衡实例的ID列表,最多支持10个实例ID。'."\n" + ."\n\n" + .'> 非SDK调用,请使用LoadBalancerId.N形式添加参数。', + 'type' => 'array', + 'items' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'lb-uf6so8u4g35prnvsw****'], 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '20', + 'example' => 'lb-123wrwer', + 'maxItems' => 11, ], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '健康检查的时间间隔。单位:秒。取值范围:**1**~**50**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时必选且有效。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '20', + 'maxItems' => 20, ], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查使用的端口。取值范围:**1**~**65535**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'CLB实例使用的监听端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '443'], ], [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" - ."\n" - .'取值:**http_2xx**或**http_3x**x或**http_4xx**或**http_5xx**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时必选且有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => '自定义监听名称。', 'type' => 'string', 'required' => false, 'example' => 'HTTPS_443'], ], ], 'responses' => [ @@ -12125,78 +6523,420 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'TotalCount' => ['description' => '本次请求条件下的数据总量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'MaxResults' => ['description' => '分批次查询时每次显示的条目数。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'Listeners' => [ + 'description' => '返回传统型负载均衡的监听列表。'."\n" + ."\n" + .'> 实例未配置监听时,不会返回该参数。', + 'type' => 'array', + 'items' => [ + 'description' => '返回传统型负载均衡的监听列表。'."\n" + ."\n" + .'> 实例未配置监听时,不会返回该参数。', + 'type' => 'object', + 'properties' => [ + 'AclType' => ['description' => '访问控制类型。取值:'."\n" + ."\n" + .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + ."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。', 'type' => 'string', 'example' => 'white'], + 'Status' => ['description' => '监听的状态。取值:'."\n" + ."\n" + .'- **running**:表示监听正常运行。'."\n" + ."\n" + .'- **stopped**:表示监听运行停止。', 'type' => 'string', 'example' => 'running'], + 'VServerGroupId' => ['description' => '监听绑定的虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j****'], + 'ListenerProtocol' => ['description' => '传统型负载均衡监听协议。', 'type' => 'string', 'example' => 'http'], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa****'], + 'ListenerPort' => ['description' => '监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'example' => 'acl-a2do9e413e0spzasx****'], + 'Scheduler' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'- **sch**:基于源 IP 地址的一致性 hash,相同的源地址会调度到相同的后端服务器。'."\n" + .'- **tch**:基于四元组的一致性 hash(源 IP+目的 IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" + .'- **qch**:基于 QUIC Connection ID 一致性 hash,相同的 QUIC Connection ID 会调度到相同的后端服务器。'."\n" + ."\n" + .'> 仅性能保障型实例支持 **sch**、**tch** 和 **qch** 一致性 hash 算法。', 'type' => 'string', 'example' => 'wrr'], + 'Bandwidth' => ['description' => '监听的带宽峰值。单位:Mbps。', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'], + 'Description' => ['description' => '监听描述。', 'type' => 'string', 'example' => 'test'], + 'AclStatus' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'BackendServerPort' => ['description' => '后端服务器的端口。'."\n" + ."\n" + .'> `VServerGroupId`和`MasterSlaveServerGroupId`均为空时,此参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'AclIds' => ['description' => '访问控制策略组ID列表。', 'type' => 'array'], + 'HTTPListenerConfig' => [ + 'description' => 'HTTP监听配置。', + 'type' => 'object', + 'properties' => [ + 'HealthCheckHttpVersion' => ['description' => '健康检查HTTP协议版本。', 'type' => 'string', 'example' => 'HTTP 1.0'], + 'XForwardedFor_ClientSrcPort' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + ."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'Cookie' => ['description' => '服务器上配置的Cookie。', 'type' => 'string', 'example' => 'B490B5EBF6F3CD402E515D22BCDA****'], + 'Gzip' => ['description' => '是否开启Gzip压缩。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'HealthCheckConnectPort' => ['description' => '健康检查的端口。'."\n" + ."\n" + .'> 当**HealthCheck**值为**on**时该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'HealthCheckTimeout' => ['description' => '每次健康检查响应的最大超时间,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'HealthCheckType' => ['description' => '健康检查协议。', 'type' => 'string', 'example' => 'tcp'], + 'CookieTimeout' => ['description' => 'Cookie超时时间。单位:秒。'."\n" + ."\n" + .'取值:**1**~**86400**。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'HealthCheckDomain' => ['description' => '健康检查的域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'UnhealthyThreshold' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_SLBID' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'ForwardPort' => ['description' => 'HTTP转发至HTTPS的监听端口。'."\n" + ."\n" + .'> 如果**ListenerForward**的值为**off**,该参数不显示。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码。', 'type' => 'string', 'example' => 'http_2xx,http_3xx'], + 'ListenerForward' => ['description' => '是否开启HTTP至HTTPS监听转发。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor' => ['description' => '是否通过`XForwardedFor`的方式获取来访者真实IP。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + 'IdleTimeout' => ['description' => '指定连接空闲超时时间。单位:秒。取值范围:**1**~**60**。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立连接。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'RequestTimeout' => ['description' => '指定请求超时时间。单位:秒。取值范围:**1**~**180**。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回`HTTP 504`错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔,单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'XForwardedFor_SLBPORT' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'HealthCheckURI' => ['description' => '健康检查的URI。', 'type' => 'string', 'example' => '/test/index.html'], + 'StickySessionType' => ['description' => 'Cookie的处理方式。取值:'."\n" + ."\n" + .'- **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP和HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'- **server**:重写Cookie。负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n", 'type' => 'string', 'example' => 'insert'], + 'HealthyThreshold' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_proto' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor_SLBIP' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'StickySession' => ['description' => '是否开启会话保持。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'HealthCheckMethod' => ['description' => '健康检查方式。取值:**head**或**get**。', 'type' => 'string', 'example' => 'get'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + ], + ], + 'HTTPSListenerConfig' => [ + 'description' => 'HTTPS监听配置。', + 'type' => 'object', + 'properties' => [ + 'XForwardedFor_ClientCertClientVerify' => ['description' => '是否通过`XForwardedFor_ClientCertClientVerify`头字段获取对访问负载均衡实例客户端证书的校验结果。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'HealthCheckHttpVersion' => ['description' => '健康检查HTTP协议版本。', 'type' => 'string', 'example' => 'HTTP 1.0'], + 'XForwardedFor_ClientSrcPort' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'Cookie' => ['description' => '服务器上配置的Cookie。', 'type' => 'string', 'example' => 'B490B5EBF6F3CD402E515D22BCDA****'], + 'Gzip' => ['description' => '是否开启Gzip压缩。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'EnableHttp2' => ['description' => '是否开启`HTTP 2.0`特性。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'CACertificateId' => ['description' => 'CA证书ID。', 'type' => 'string', 'example' => 'idkp-234-cn-test-0****'], + 'HealthCheckConnectPort' => ['description' => '健康检查的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'HealthCheckTimeout' => ['description' => '每次健康检查响应的最大超时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'HealthCheckType' => ['description' => '健康检查协议。', 'type' => 'string', 'example' => 'tcp'], + 'CookieTimeout' => ['description' => 'Cookie超时时间。单位:秒。'."\n" + ."\n" + .'取值:**1**~**86400**。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'HealthCheckDomain' => ['description' => '健康检查的域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'UnhealthyThreshold' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_SLBID' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor_ClientCertSubjectDN' => ['description' => '是否通过`XForwardedFor_ClientCertSubjectDN`头字段获取访问负载均衡实例客户端证书的所有者信息。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'off'], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码。', 'type' => 'string', 'example' => 'http_2xx,http_3xx'], + 'XForwardedFor_ClientCertFingerprint' => ['description' => '是否通过`XForwardedFor_ClientCertFingerprint`头字段获取访问负载均衡实例客户端证书的指纹。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'XForwardedFor' => ['description' => '是否开启通过`XForwardedFor`的方式获取来访者真实IP。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'RequestTimeout' => ['description' => '指定请求超时时间,单位:秒。取值范围:**1**~**180**。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回`HTTP 504`错误码。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'IdleTimeout' => ['description' => '指定连接空闲超时时间。单位:秒。取值范围:**1**~**60**。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立连接。', 'type' => 'integer', 'format' => 'int32', 'example' => '15'], + 'ServerCertificateId' => ['description' => '服务器证书的ID。', 'type' => 'string', 'example' => 'idkp-123-cn-test-0****'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'XForwardedFor_SLBPORT' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'HealthCheckURI' => ['description' => '健康检查的URI。', 'type' => 'string', 'example' => '/test/index.html'], + 'StickySessionType' => ['description' => 'Cookie的处理方式。'."\n" + ."\n" + .'- **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP和HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'- **server**:重写Cookie。负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。', 'type' => 'string', 'example' => 'insert'], + 'XForwardedFor_ClientCertIssuerDN' => ['description' => '是否通过`XForwardedFor_ClientCertIssuerDN`头字段获取访问负载均衡实例客户端证书的发行者信息。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'HealthyThreshold' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'XForwardedFor_proto' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'XForwardedFor_SLBIP' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'StickySession' => ['description' => '是否开启会话保持。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'HealthCheckMethod' => ['description' => '健康检查方式。', 'type' => 'string', 'example' => 'get'], + 'TLSCipherPolicy' => ['description' => '安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_0**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_1**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict\\_with\\_1\\_3**'."\n" + .' '."\n" + .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" + .' '."\n" + .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', 'type' => 'string', 'example' => 'tls_cipher_policy_1_0'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'example' => 'on'], + ], + ], + 'TCPListenerConfig' => [ + 'description' => 'TCP监听配置。', + 'type' => 'object', + 'properties' => [ + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码。', 'type' => 'string', 'example' => 'http_2xx,http_3xx'], + 'ConnectionDrainTimeout' => ['description' => '设置连接优雅中断超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**10~900**。', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'PersistenceTimeout' => ['description' => '是否开启了会话保持。单位:秒。'."\n" + ."\n" + .'取值范围:**0**~**3600**。'."\n" + ."\n" + .'取值为**0**时,表示未开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'HealthCheckURI' => ['description' => '健康检查的URI。', 'type' => 'string', 'example' => '/test/index.html'], + 'HealthCheckConnectPort' => ['description' => '健康检查使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'EstablishedTimeout' => ['description' => '连接超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'HealthCheckType' => ['description' => '健康检查协议。', 'type' => 'string', 'example' => 'tcp'], + 'HealthCheckConnectTimeout' => ['description' => '健康检查超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**300**。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'MasterSlaveServerGroupId' => ['description' => '监听绑定的主备服务器组ID。', 'type' => 'string', 'example' => 'rsp-0bfucw*****'], + 'HealthyThreshold' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'HealthCheckDomain' => ['description' => '健康检查的域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'UnhealthyThreshold' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ConnectionDrain' => ['description' => '是否开启连接优雅中断。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'HealthCheckMethod' => ['description' => '健康检查方式。', 'type' => 'string', 'example' => 'get'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'ProxyProtocolV2Enabled' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'string', 'example' => 'false'], + ], + ], + 'UDPListenerConfig' => [ + 'description' => 'UDP监听配置。', + 'type' => 'object', + 'properties' => [ + 'ConnectionDrainTimeout' => ['description' => '设置连接优雅中断超时时间。单位:秒。'."\n" + ."\n" + .'取值范围:**10~900**。', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔,单位为秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'HealthCheckExp' => ['description' => 'UDP监听健康检查的响应串。', 'type' => 'string', 'example' => 'ok'], + 'HealthCheckConnectPort' => ['description' => '健康检查的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'HealthCheckConnectTimeout' => ['description' => '健康检查响应超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'MasterSlaveServerGroupId' => ['description' => '绑定的主备服务器组ID。', 'type' => 'string', 'example' => 'rsp-0bfucw****'], + 'HealthyThreshold' => ['description' => '健康检查阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'UnhealthyThreshold' => ['description' => '不健康检查阈值。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ConnectionDrain' => ['description' => '是否开启连接优雅中断。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'off'], + 'HealthCheckReq' => ['description' => 'UDP监听健康检查的请求串。', 'type' => 'string', 'example' => 'hello'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是'."\n" + .'- **off**:否', 'type' => 'string', 'example' => 'on'], + 'ProxyProtocolV2Enabled' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'string', 'example' => 'false'], + ], + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '资源的标签值。', 'type' => 'string', 'example' => 'TestValue'], + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'TestKey'], + ], + ], + ], + ], + ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified VServerGroupId does not belong to the LoadBalancerId of the rule.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], + ['errorCode' => 'IllegalParam.ListenerProtocol', 'errorMessage' => 'The param of ListenerProtocol is illegal.', 'description' => '指定的ListenerProtocol无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The param of MaxResults is illegal.', 'description' => '指定的MaxResults无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The param of NextToken is illegal.', 'description' => '指定的NextToken无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParamSize.LoadBalancerId', 'errorMessage' => 'The param size of LoadBalancerId is illegal.', 'description' => '指定的LoadBalancerId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","errorExample":""},{"type":"xml","example":"<SetRuleResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</SetRuleResponse>","errorExample":""}]', - 'title' => '修改目标虚拟服务器组的转发规则', - 'summary' => '修改目标虚拟服务器组的转发规则。', + 'title' => '查询负载均衡监听列表', + 'summary' => '查询负载均衡监听列表详情。', + 'description' => '- 您已经创建了传统型负载均衡实例。具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + .'- 您已经为创建的传统型负载均衡实例配置了监听。具体操作,请参见:'."\n" + ."\n" + .' - [CreateLoadBalancerUDPListener](~~27595~~)'."\n" + .' - [CreateLoadBalancerTCPListener](~~27594~~)'."\n" + .' - [CreateLoadBalancerHTTPListener](~~27592~~) '."\n" + .' - [CreateLoadBalancerHTTPSListener](~~27593~~)', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteRules' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-10-25T04:09:45.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-11-02T12:42:06.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerListeners'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerListeners', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], + ], ], + ], + 'DescribeLoadBalancerTCPListenerAttribute' => [ + 'summary' => '查询TCP监听配置。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', + 'abilityTreeCode' => '88587', + 'abilityTreeNodes' => ['FEATUREslbZQW9H1'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RuleIds', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '要删除的转发规则列表。'."\n" - ."\n" - .'> 要删除的转发规则列表不能为空,并且可删除的转发规则条目数不能超过10条。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["rule-bp1z9ce******","rule-bp1tuc******4"]', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ygod3yctvg1y****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], ], 'responses' => [ @@ -12204,48 +6944,182 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'VServerGroupId' => ['description' => '绑定的服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6******8'], + 'Status' => ['description' => '当前监听的状态。取值:'."\n" + ."\n" + .'* **running**:监听正常运行中。'."\n" + ."\n" + .'* **stopped**:监听停止。', 'type' => 'string', 'example' => 'stopped'], + 'AclType' => ['description' => '访问控制类型:'."\n" + ."\n" + .'* **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。'."\n" + .'设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + ."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'* **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'example' => 'white'], + 'ConnectionDrainTimeout' => ['description' => '设置连接优雅中断超时时间。当**ConnectionDrain**取值为**on**时,返回该值。'."\n" + ."\n" + .'取值范围:10~900秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'HealthCheckConnectPort' => ['description' => '健康检查使用的端口。取值:**1**~**65535**。不设置此参数时,表示使用后端服务端口(BackendServerPort)。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'Description' => ['description' => '自定义监听名称。', 'type' => 'string', 'example' => 'TCP_80'], + 'Bandwidth' => ['description' => '监听的带宽峰值,单位Mbps。取值:'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。'."\n" + ."\n" + .'- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'], + 'HealthCheckType' => ['description' => 'TCP协议监听的健康检查方式。'."\n" + ."\n" + .'取值:**tcp**或**http**。', 'type' => 'string', 'example' => 'tcp'], + 'MasterSlaveServerGroupId' => ['description' => '绑定的主备服务器组ID。'."\n" + .' ', 'type' => 'string', 'example' => 'rsp-0bfucw****'], + 'BackendServerPort' => ['description' => '传统型负载均衡实例后端使用的端口。'."\n" + ."\n" + .'> 当后端服务器组为虚拟服务器组时,该参数不显示。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '443'], + 'AclStatus' => ['description' => '是否开启访问控制功能。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:不开启。', 'type' => 'string', 'example' => 'off'], + 'HealthCheckDomain' => ['description' => '用于健康检查的域名。取值:'."\n" + ."\n" + .'- **$_ip**:后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'- **domain**:域名长度为1~80个字符,只能包含字母、数字、半角句号(.)和短划线(-)。', 'type' => 'string', 'example' => 'www.domain.com'], + 'UnhealthyThreshold' => ['description' => '不健康检查阈值。健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。取值:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码。', 'type' => 'string', 'example' => 'http_2xx'], + 'ProxyProtocolV2Enabled' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'PersistenceTimeout' => ['description' => '会话保持的超时时间。'."\n" + ."\n" + .'取值:**0**~**3600**秒。默认值:**0**,表示关闭会话保持。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'ListenerPort' => ['description' => '传统型负载均衡实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '110'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔,取值:**1**~**50**秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'HealthCheckURI' => ['description' => '用于健康检查的URL。长度限制为1~80个字符,只能使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)这些字符。 URL不能只为正斜线(/),但必须以正斜线(/)开头。', 'type' => 'string', 'example' => '/test/index.html'], + 'AclId' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'example' => 'acl-uf60jwfi******'], + 'SynProxy' => ['description' => '是否开启负载均衡的攻击防护功能SynProxy。'."\n" + ."\n" + .'建议用户一般情况下不要调整这个参数,由负载均衡控制。'."\n" + ."\n" + .'* **enable**:开启。'."\n" + ."\n" + .'* **disable**:关闭。', 'type' => 'string', 'example' => 'disable'], + 'Scheduler' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n\n" + .'- **sch**:基于源IP地址的一致性hash,相同的源地址会调度到相同的后端服务器。'."\n" + ."\n" + .'- **tch**:基于四元组的一致性hash(源IP+目的IP+源端口+目的端口),相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'> 仅性能保障型实例支持**sch**和**tch**一致性hash算法。', 'type' => 'string', 'example' => 'wrr'], + 'EstablishedTimeout' => ['description' => '连接超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '500'], + 'HealthCheckConnectTimeout' => ['description' => '超时时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'HealthyThreshold' => ['description' => '健康检查阈值。健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。取值:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ConnectionDrain' => ['description' => '是否开启连接优雅中断。当**ConnectionDrain**取值为**on**时,返回该值。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + ."\n" + .'- **off**:未开启。', 'type' => 'string', 'example' => 'off'], + 'HealthCheckMethod' => ['description' => '健康检查方式。', 'type' => 'string', 'example' => 'tcp'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:关闭。', 'type' => 'string', 'example' => 'on'], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => ['description' => '访问控制策略组ID列表。', 'type' => 'array'], + ], + 'description' => '', + ], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1ygod3yctvg1y****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The specified rules must be in the same listener.', - ], - [ - 'errorCode' => 'OperationFailed.ListenerStatusNotSupport', - 'errorMessage' => 'The status of the listener does not support this operation. Please try again later.', - ], - [ - 'errorCode' => 'OperationFailed.ListenerConflict', - 'errorMessage' => 'The rule does not support this operation because of same port listener.', - ], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<DeleteRulesResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</DeleteRulesResponse>","errorExample":""}]', - 'title' => '删除转发规则', - 'summary' => '删除转发规则。', - 'description' => '要删除的转发规则列表不能为空,并且可删除的转发规则条目数不能超过10条。', + 'title' => '查询TCP监听配置', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRuleAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:17.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2024-10-09T12:46:36.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-09T12:28:01.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-12-16T12:55:44.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-07-27T09:50:36.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerTCPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'DescribeLoadBalancerUDPListenerAttribute' => [ + 'summary' => '查询UDP监听的配置。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12255,31 +7129,26 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'abilityTreeCode' => '88590', + 'abilityTreeNodes' => ['FEATUREslbYU0ILA'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RuleId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rule-bp1efemp9****', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1rtfnodmywb43e*****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], ], 'responses' => [ @@ -12287,215 +7156,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '转发规则关联的服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'Cookie' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" - ."\n" - .'当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选且有效。', - 'type' => 'string', - 'example' => 'wwe', - ], - 'LoadBalancerId' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1ca0zt07t934wxe****', - ], - 'RuleId' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'example' => 'rule-hfgnd*****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的后端服务器的端口。'."\n" - ."\n" - .'取值:**1**~**65535**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。若为空且**HealthCheck**为**on**,表明默认使用监听后端端口配置。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '23', - ], - 'HealthCheckTimeout' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。'."\n" - ."\n" - .'取值:**1**~**300**秒。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'CookieTimeout' => [ - 'description' => 'Cookie超时时间。'."\n" - ."\n" - .'取值:**1~86400**秒。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选且有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'HealthCheckDomain' => [ - 'description' => '用于健康检查的域名,取值:'."\n" - ."\n" - .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值:**2**~**10**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。默认值为**http_2xx**。'."\n" - ."\n" - .'取值:**http_2xx**或**http_3xx**或**http_4xx**或**http_5xx**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'string', - 'example' => 'http_3xx ', - ], - 'Domain' => [ - 'description' => '转发规则域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'ListenerPort' => [ - 'description' => '负载均衡实例前端使用的监听端口。', - 'type' => 'string', - 'example' => '90', - ], - 'Url' => [ - 'description' => '转发规则路径。', - 'type' => 'string', - 'example' => '/cache', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔。'."\n" - ."\n" - .'取值:**1**~**50**秒。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'HealthCheckURI' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'string', - 'example' => '/rest', - ], - 'RuleName' => [ - 'description' => '转发规则名称。', - 'type' => 'string', - 'example' => 'Rule1', - ], - 'StickySessionType' => [ - 'description' => 'Cookie的处理方式。取值:'."\n" - ."\n" - .'* **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'* **server**:重写Cookie。负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'> 当**StickySession**的值为**on**时,该参数有效。', - 'type' => 'string', - 'example' => 'insert', - ], - 'Scheduler' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'ListenerSync' => [ - 'description' => '转发规则是否从监听上继承健康检查、会话保持和调度算法配置。'."\n" - ."\n" - .'取值:**on**或**off**。'."\n" - ."\n" - .'* **off**:不继承监听配置,转发规则自定义健康检查及会话保持配置。'."\n" - .'* **on**:继承监听配置。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" - ."\n" - .'取值:**1**~**10**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StickySession' => [ - 'description' => '是否开启会话保持。取值:'."\n" - ."\n" - .'- **on**:开启'."\n" - .'- **off**:不开启'."\n" - ."\n" - .'> 在**ListenerSync**为**off**时必选且有效,为**on**时表明与监听配置一致。'."\n", - 'type' => 'string', - 'example' => 'off', + 'VServerGroupId' => ['description' => '绑定的虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j****'], + 'Status' => ['description' => '当前监听的状态。取值:'."\n" + ."\n" + .'* **running**:监听正常运行。'."\n" + ."\n" + .'* **stopped**:监听停止运行。', 'type' => 'string', 'example' => 'stopped'], + 'AclType' => ['description' => '访问控制类型:'."\n" + ."\n" + .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于应用只允许特定IP访问的场景。'."\n" + ."\n" + .' 设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**:来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于应用只限制某些特定IP访问的场景。'."\n" + .' '."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。', 'type' => 'string', 'example' => 'white'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'HealthCheckConnectPort' => ['description' => '健康检查的端口。取值:**1**~**65535**。不设置此参数时,表示使用后端服务端口(BackendServerPort)。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'Description' => ['description' => '自定义监听名称。', 'type' => 'string', 'example' => 'UDP_80'], + 'Bandwidth' => ['description' => '监听的带宽峰值,单位Mbps。取值:'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为-1,即不限制带宽峰值。'."\n" + ."\n" + .'- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'], + 'MasterSlaveServerGroupId' => ['description' => '绑定的主备服务器组ID。', 'type' => 'string', 'example' => 'rsp-0bfucw****'], + 'BackendServerPort' => ['description' => '传统型负载均衡实例后端使用的端口。'."\n" + ."\n" + .'> 如果后端服务器组为虚拟服务器组,则不返回该参数。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '90'], + 'AclStatus' => ['description' => '是否开启访问控制功能。取值:**on**或**off**(默认值)。', 'type' => 'string', 'example' => 'off'], + 'UnhealthyThreshold' => ['description' => '不健康检查阈值。健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。取值:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'ProxyProtocolV2Enabled' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'false'], + 'ListenerPort' => ['description' => '传统型负载均衡实例前端使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '53'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔,取值:**1**~**50**秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'HealthCheckExp' => ['description' => 'UDP监听健康检查的响应串。只允许包含字母、数字,最大长度限制为64个字符。', 'type' => 'string', 'example' => 'ok'], + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'example' => 'acl-uf60jwfiv6******'], + 'Scheduler' => ['description' => '调度算法,取值:'."\n" + .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'example' => 'wrr'], + 'HealthCheckConnectTimeout' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。取值:**1**~**300**秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'HealthyThreshold' => ['description' => '健康检查阈值。健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。取值:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], + 'HealthCheckReq' => ['description' => 'UDP监听健康检查的请求串。只允许包含字母、数字,最大长度限制为64个字符。', 'type' => 'string', 'example' => 'hello'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:关闭。', 'type' => 'string', 'example' => 'on'], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => ['description' => '访问控制策略组ID。', 'type' => 'array'], + ], + 'description' => '', ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'- **on**:开启'."\n" - .'- **off**:不开启'."\n" - ."\n" - .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', - 'type' => 'string', - 'example' => 'off', + 'LoadBalancerId' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1rtfnodmywb43e*****'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"Cookie\\": \\"wwe\\",\\n \\"LoadBalancerId\\": \\"lb-bp1ca0zt07t934wxe****\\",\\n \\"RuleId\\": \\"rule-hfgnd*****\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"HealthCheckConnectPort\\": 23,\\n \\"HealthCheckTimeout\\": 34,\\n \\"CookieTimeout\\": 12,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckHttpCode\\": \\"http_3xx \\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"ListenerPort\\": \\"90\\",\\n \\"Url\\": \\"/cache\\",\\n \\"HealthCheckInterval\\": 34,\\n \\"HealthCheckURI\\": \\"/rest\\",\\n \\"RuleName\\": \\"Rule1\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"ListenerSync\\": \\"off\\",\\n \\"HealthyThreshold\\": 2,\\n \\"StickySession\\": \\"off\\",\\n \\"HealthCheck\\": \\"off\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeRuleAttributeResponse>\\n <VServerGroupId>rsp-cige6j****</VServerGroupId>\\n <Cookie>wwe</Cookie>\\n <LoadBalancerId>lb-bp1ca0zt07t934wxe****</LoadBalancerId>\\n <RuleId>rule-hfgnd*****</RuleId>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <HealthCheckConnectPort>23</HealthCheckConnectPort>\\n <HealthCheckTimeout>34</HealthCheckTimeout>\\n <CookieTimeout>12</CookieTimeout>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>3</UnhealthyThreshold>\\n <HealthCheckHttpCode>http_3xx </HealthCheckHttpCode>\\n <Domain>www.example.com</Domain>\\n <ListenerPort>90</ListenerPort>\\n <Url>/cache</Url>\\n <HealthCheckInterval>34</HealthCheckInterval>\\n <HealthCheckURI>10.21.22.1</HealthCheckURI>\\n <RuleName>Rule1</RuleName>\\n <StickySessionType>insert</StickySessionType>\\n <Scheduler>wrr</Scheduler>\\n <ListenerSync>off</ListenerSync>\\n <HealthyThreshold>2</HealthyThreshold>\\n <StickySession>off</StickySession>\\n <HealthCheck>off</HealthCheck>\\n</DescribeRuleAttributeResponse>","errorExample":""}]', - 'title' => '查询指定转发规则的配置详情', - 'summary' => '查询指定转发规则的配置详情。', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => '查询UDP监听的配置', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRules' => [ - 'summary' => '查询指定监听已配置的转发规则。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-10-09T12:46:36.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-10-09T12:28:01.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-12-16T12:55:43.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-07-27T09:50:35.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerUDPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'DescribeLoadBalancers' => [ + 'summary' => '查询已创建的负载均衡实例。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12505,64 +7290,175 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88581', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~2401682~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ServerId', + 'in' => 'query', + 'schema' => ['description' => '添加的后端服务器ID。', 'type' => 'string', 'required' => false, 'example' => 'i-2zebcbq******'], + ], + [ + 'name' => 'AddressIPVersion', + 'in' => 'query', + 'schema' => ['description' => 'IP版本,可以设置为**ipv4**或者**ipv6**。', 'type' => 'string', 'required' => false, 'example' => 'ipv4'], + ], + [ + 'name' => 'LoadBalancerStatus', + 'in' => 'query', + 'schema' => ['description' => '实例状态。取值:'."\n" + ."\n" + .'- **inactive**: 实例已停止,此状态的实例监听不会再转发流量。'."\n" + ."\n" + .'- **active**: 实例运行中,实例创建后,默认状态为**active**。'."\n" + ."\n" + .'- **locked**: 实例已锁定。当负载均衡实例到期后,但到期时间未超过7天时,负载均衡实例进入锁定状态。此种状态下,您不能对负载均衡实例进行任何操作,并且实例不再会进行流量转发,但会保留实例的IP和其它配置。', 'type' => 'string', 'required' => false, 'example' => 'active'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ca0zt07t934****', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。'."\n" + ."\n" + .'支持多值查询,最多可输入10个ID,以半角逗号(,)分隔。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1b6c719dfa****'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。取值:'."\n" - ."\n" - .'**TCP**:协议类型为TCP。'."\n" - ."\n" - .'**UDP**:协议类型为UDP。'."\n" - ."\n" - .'**HTTP**:协议类型为HTTP。'."\n" - ."\n" - .'**HTTPS**:协议类型为HTTPS。'."\n" - ."\n" - .'>相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'http', - ], + 'schema' => ['description' => '传统型负载均衡实例名称。'."\n" + ."\n" + .'长度为1~80个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'支持多值查询,最多可输入10个名称,以半角逗号(,)分隔。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'ListenerPort', + 'name' => 'ServerIntranetAddress', + 'in' => 'query', + 'schema' => ['description' => '添加的后端服务器的内网地址。'."\n" + ."\n" + .'支持多值查询,以半角逗号(,)分隔。', 'type' => 'string', 'required' => false, 'example' => '10.XX.XX.102'], + ], + [ + 'name' => 'AddressType', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的网络类型。取值:'."\n" + ."\n" + .'* **internet**:创建公网负载均衡实例后,系统会分配一个公网IP地址,可以转发公网请求。'."\n" + ."\n" + .'* **intranet**:创建内网负载均衡实例后,系统会分配一个内网IP地址,仅可转发内网请求。', 'type' => 'string', 'required' => false, 'example' => 'intranet'], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => '公网计费方式。取值:'."\n" + .'- **paybybandwidth**:按带宽计费。'."\n" + ."\n" + .'- **paybytraffic**:按流量计费。'."\n" + ."\n" + .'<props="china">当**PayType**参数的值为**PrePay**时,只支持按带宽计费。当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按流量计费。</props>'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'paybytraffic'], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例所属的VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1aevy8sof****'], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例所属的交换机ID。', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3****'], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => ['description' => '私网实例的网络类型。取值:'."\n" + ."\n" + .'- **vpc**:专有网络类型。 '."\n" + ."\n" + .'- **classic**:经典网络类型。', 'type' => 'string', 'required' => false, 'example' => 'vpc'], + ], + [ + 'name' => 'Address', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的服务地址。', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX'], + ], + [ + 'name' => 'MasterZoneId', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例的主可用区ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b'], + ], + [ + 'name' => 'SlaveZoneId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的备可用区ID。'."\n" + ."\n" + .'目前对金融云用户暂时不支持多可用区功能。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-d'], + ], + [ + 'name' => 'Tags', 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。'."\n" + ."\n" + .'一次请求中,绑定的标签列表中最多支持10个标签。', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]'], + ], + [ + 'name' => 'PayType', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例付费模式。取值:'."\n" + ."\n" + .'* **PayOnDemand**:按量付费。'."\n" + ."\n" + .'<props="china">- **PrePay**:包年包月。</props>', 'type' => 'string', 'required' => false, 'example' => 'PayOnDemand'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '企业资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4p****'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页查询时的页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'default' => '0'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '分页查询时设置的每页行数。'."\n" + ."\n" + .'取值范围:**1**~**100**。'."\n" + ."\n" + .'> 如果设置了**PageSize**,则需要同时设置**PageNumber**。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '50', 'default' => '10'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '负载均衡实例前端使用的监听端口。'."\n" - ."\n" - .'取值范围:**1~65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '90', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, ], ], ], @@ -12571,319 +7467,180 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'Rules' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E'], + 'PageNumber' => ['description' => '实例列表页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'PageSize' => ['description' => '当前分页的行数。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'TotalCount' => ['description' => '根据过滤条件得到的实例总个数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'LoadBalancers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Rule' => [ - 'description' => '转发规则列表。', + 'LoadBalancer' => [ + 'description' => '数组格式,返回负载均衡实例列表。', 'type' => 'array', 'items' => [ + 'description' => '数组格式,返回负载均衡实例列表。'."\n" + ."\n", 'type' => 'object', 'properties' => [ - 'HealthCheckHttpCode' => [ - 'description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分隔。默认值为**http_2xx**。'."\n" - ."\n" - .'取值:**http_2xx**、**http_3xx**、**http_4xx**或**http_5xx**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'string', - 'example' => 'http_3xx', - ], - 'VServerGroupId' => [ - 'description' => '转发规则绑定的目标虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-6cejjzl****', - ], - 'Domain' => [ - 'description' => '转发规则绑定的请求域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'Cookie' => [ - 'description' => '服务器上配置的Cookie。'."\n" - ."\n" - .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选且有效。', - 'type' => 'string', - 'example' => '23', - ], - 'HealthCheckInterval' => [ - 'description' => '健康检查的时间间隔。单位:秒。'."\n" - ."\n" - .'取值范围:**1~50**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Url' => [ - 'description' => '转发规则绑定的请求路径。', - 'type' => 'string', - 'example' => '/cache', - ], - 'HealthCheckURI' => [ - 'description' => '用于健康检查的URI。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'string', - 'example' => '/example', - ], - 'StickySessionType' => [ - 'description' => 'Cookie的处理方式。取值:'."\n" - ."\n" - .'* **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" - ."\n" - .'* **server**:重写Cookie。 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" - ."\n" - .'> 当**StickySession**的值为**on**时,该参数有效。', - 'type' => 'string', - 'example' => 'insert', - ], - 'RuleName' => [ - 'description' => '转发规则名称,长度为1~80个字符,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。'."\n" - ."\n" - .'> 同一个监听内不同规则的名称必须唯一。', - 'type' => 'string', - 'example' => 'Rule2', - ], - 'RuleId' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'example' => 'rule-tybqi6****', - ], - 'HealthCheckConnectPort' => [ - 'description' => '健康检查的后端服务器的端口。'."\n" - ."\n" - .'取值范围:**1~65535**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。若为空且**HealthCheck**为**on**表明默认使用监听后端端口配置。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '45', - ], - 'Scheduler' => [ - 'description' => '调度算法。取值:'."\n" - ."\n" - .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" - ."\n" - .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" - ."\n" - .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheckTimeout' => [ - 'description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" - ."\n" - .'取值范围:**1~300**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'ListenerSync' => [ - 'description' => '转发规则是否从监听上继承健康检查、会话保持和调度算法配置。取值:'."\n" - ."\n\n" - .'* **off**:不继承监听配置,转发规则自定义健康检查及会话保持配置。'."\n" - ."\n" - .'* **on**:继承监听配置。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" - ."\n" - .'取值范围:**2~10**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'CookieTimeout' => [ - 'description' => 'Cookie超时时间。单位:秒。取值范围:**1~86400**。'."\n" - ."\n" - .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '56', - ], - 'HealthCheckDomain' => [ - 'description' => '用于健康检查的域名,取值:'."\n" - ."\n" - .'* **$_ip**: 后端服务器的私网IP。'."\n" - ."\n" - .' 当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" - ."\n" - .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" - ."\n" - .'取值范围:**2~10**。'."\n" - ."\n" - .'> **HealthCheck**为**on**时,该参数有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StickySession' => [ - 'description' => '是否开启会话保持。取值:'."\n" - ."\n" - .'* **on**:开启。'."\n" - ."\n" - .'* **off**:不开启。'."\n" - ."\n" - .'> 在**ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheck' => [ - 'description' => '是否开启健康检查。取值:'."\n" - ."\n" - .'* **on**:开启。'."\n" - ."\n" - .'* **off**:不开启。'."\n" - ."\n" - .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', - 'type' => 'string', - 'example' => 'off', + 'VpcId' => ['description' => '私网负载均衡实例的专有网络ID。', 'type' => 'string', 'example' => 'vpc-25dvzy9f8****'], + 'CreateTimeStamp' => ['description' => '实例创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'LoadBalancerId' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa****'], + 'CreateTime' => ['description' => '实例创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2021-12-02T02:49:05Z'], + 'PayType' => ['description' => '负载均衡实例付费模式,取值:'."\n" + ."\n" + .'* **PayOnDemand**:按量付费。'."\n" + ."\n" + .'<props="china">- **PrePay**:包年包月。</props>', 'type' => 'string', 'example' => 'PayOnDemand'], + 'AddressType' => ['description' => '实例的网络类型。取值:'."\n" + ."\n" + .'* **internet**:创建公网负载均衡实例后,系统会分配一个公网IP地址,可以转发公网请求。'."\n" + ."\n" + .'* **intranet**:创建内网负载均衡实例后,系统会分配一个内网IP地址,仅可转发内网请求。', 'type' => 'string', 'example' => 'intranet'], + 'NetworkType' => ['description' => '私网负载均衡实例的网络类型,取值:'."\n" + ."\n" + .'* **vpc**:专有网络类型。'."\n" + ."\n" + .'* **classic**:经典网络类型。', 'type' => 'string', 'example' => 'vpc'], + 'AddressIPVersion' => ['description' => 'IP版本,可以设置为**ipv4**或者**ipv6**。', 'type' => 'string', 'example' => 'ipv4'], + 'LoadBalancerName' => ['description' => '负载均衡实例的名称。', 'type' => 'string', 'example' => 'lb-bp1o94dp5i6ea****'], + 'Bandwidth' => ['description' => '监听的带宽峰值,单位:Mbps。', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'], + 'Address' => ['description' => '负载均衡实例服务地址。 ', 'type' => 'string', 'example' => '100.XX.XX.28'], + 'SlaveZoneId' => ['description' => '实例的备可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-d'], + 'MasterZoneId' => ['description' => '实例的主可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-b'], + 'InternetChargeTypeAlias' => ['description' => '公网计费方式。取值:'."\n" + ."\n" + .'- **paybybandwidth**:按带宽计费。'."\n" + ."\n" + .'- **paybytraffic**:按流量计费'."\n" + ."\n" + .'<props="china">当**PayType**参数的值为**PrePay**时,只支持按带宽计费。当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按流量计费。</props>', 'type' => 'string', 'example' => 'paybybandwidth'], + 'LoadBalancerSpec' => ['description' => '负载均衡实例的性能规格。'."\n" + .'> 按流量计费的实例无性能规格属性,默认返回 **slb.lcu.elastic**。', 'type' => 'string', 'example' => 'slb.s1.small'], + 'RegionId' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ModificationProtectionReason' => ['description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在`ModificationProtectionStatus`为**ConsoleProtection**时有效。', 'type' => 'string', 'example' => 'ManagedInstance'], + 'ModificationProtectionStatus' => ['description' => '负载均衡修改保护状态:'."\n" + ."\n" + .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的`ModificationProtectionReason`。'."\n" + ."\n" + .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。'."\n", 'type' => 'string', 'example' => 'ConsoleProtection'], + 'VSwitchId' => ['description' => '私网负载均衡实例的交换机ID。', 'type' => 'string', 'example' => 'vsw-255ecr****'], + 'LoadBalancerStatus' => ['description' => '负载均衡实例状态。取值:'."\n" + ."\n" + .'* **inactive**:实例已停止,此状态的实例监听不会再转发流量。'."\n" + ."\n" + .'* **active**:实例运行中,实例创建后,默认状态为**active**。'."\n" + ."\n" + .'* **locked**:实例已锁定,实例已经被锁定。', 'type' => 'string', 'example' => 'active'], + 'ResourceGroupId' => ['description' => '企业资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3r****'], + 'InternetChargeType' => ['description' => '公网类型实例付费方式。取值:'."\n" + .'- **3**:按带宽计费(**paybybandwidth**)。'."\n" + ."\n" + .'- **4**:按流量计费(**paybytraffic**)。'."\n" + ."\n" + .'<props="china">当**PayType**参数的值为**PrePay**时,只支持按带宽计费。当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按流量计费。</props>'."\n", 'type' => 'string', 'example' => '3'], + 'DeleteProtection' => ['description' => '负载均衡删除保护状态。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:关闭。', 'type' => 'string', 'example' => 'off'], + 'RegionIdAlias' => ['description' => '传统型负载均衡实例的地域名称。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '标签值。', 'type' => 'string', 'example' => 'testvalue'], + 'TagKey' => ['description' => '标签键。', 'type' => 'string', 'example' => 'testkey'], + ], + ], + ], + ], + 'description' => '', ], + 'InstanceChargeType' => ['description' => '实例计费方式,取值:'."\n" + .'- **PayBySpec**:按规格计费。'."\n" + .'- **PayByCLCU**:按使用量计费。'."\n" + ."\n" + .'>该参数仅适用于中国站且当**PayType**(实例付费模式)取值为**PayOnDemand**(按量付费)时,该参数生效。', 'type' => 'string', 'example' => 'PayBySpec'], ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', + ['errorCode' => 'InvalidTag', 'errorMessage' => 'The specified tags is invalid.', 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'TooManyResult', 'errorMessage' => 'fuzzy query retrieve too many instances.', 'description' => '检索到的实例数量过多,请提供更具体的查询条件。'], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], + ], + ], + 'title' => '查询已创建的负载均衡实例', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:19.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"HealthCheckHttpCode\\": \\"http_3xx\\",\\n \\"VServerGroupId\\": \\"rsp-6cejjzl****\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"Cookie\\": \\"23\\",\\n \\"HealthCheckInterval\\": 5,\\n \\"Url\\": \\"/cache\\",\\n \\"HealthCheckURI\\": \\"/example\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"RuleName\\": \\"Rule2\\",\\n \\"RuleId\\": \\"rule-tybqi6****\\",\\n \\"HealthCheckConnectPort\\": 45,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheckTimeout\\": 34,\\n \\"ListenerSync\\": \\"off\\",\\n \\"HealthyThreshold\\": 5,\\n \\"CookieTimeout\\": 56,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 2,\\n \\"StickySession\\": \\"off\\",\\n \\"HealthCheck\\": \\"off\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRulesResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <Rules>\\n <HealthCheckHttpCode>http_3xx</HealthCheckHttpCode>\\n <VServerGroupId>rsp-6cejjzl****</VServerGroupId>\\n <Domain>www.example.com</Domain>\\n <Cookie>23</Cookie>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <Url>/cache</Url>\\n <HealthCheckURI>/example</HealthCheckURI>\\n <StickySessionType>insert</StickySessionType>\\n <RuleName>Rule2</RuleName>\\n <RuleId>rule-tybqi6****</RuleId>\\n <HealthCheckConnectPort>45</HealthCheckConnectPort>\\n <Scheduler>wrr</Scheduler>\\n <HealthCheckTimeout>34</HealthCheckTimeout>\\n <ListenerSync>off</ListenerSync>\\n <HealthyThreshold>5</HealthyThreshold>\\n <CookieTimeout>56</CookieTimeout>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>2</UnhealthyThreshold>\\n <StickySession>off</StickySession>\\n <HealthCheck>off</HealthCheck>\\n </Rules>\\n</DescribeRulesResponse>","errorExample":""}]', - 'title' => '查询指定监听已配置的转发规则', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 50,\\n \\"TotalCount\\": 1,\\n \\"LoadBalancers\\": {\\n \\"LoadBalancer\\": [\\n {\\n \\"VpcId\\": \\"vpc-25dvzy9f8****\\",\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa****\\",\\n \\"CreateTime\\": \\"2021-12-02T02:49:05Z\\",\\n \\"PayType\\": \\"PayOnDemand\\",\\n \\"AddressType\\": \\"intranet\\",\\n \\"NetworkType\\": \\"vpc\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"LoadBalancerName\\": \\"lb-bp1o94dp5i6ea****\\",\\n \\"Bandwidth\\": -1,\\n \\"Address\\": \\"100.XX.XX.28\\",\\n \\"SlaveZoneId\\": \\"cn-hangzhou-d\\",\\n \\"MasterZoneId\\": \\"cn-hangzhou-b\\",\\n \\"InternetChargeTypeAlias\\": \\"paybybandwidth\\",\\n \\"LoadBalancerSpec\\": \\"slb.s1.small\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ModificationProtectionReason\\": \\"ManagedInstance\\",\\n \\"ModificationProtectionStatus\\": \\"ConsoleProtection\\",\\n \\"VSwitchId\\": \\"vsw-255ecr****\\",\\n \\"LoadBalancerStatus\\": \\"active\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3r****\\",\\n \\"InternetChargeType\\": \\"3\\",\\n \\"DeleteProtection\\": \\"off\\",\\n \\"RegionIdAlias\\": \\"cn-hangzhou\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"testvalue\\",\\n \\"TagKey\\": \\"testkey\\"\\n }\\n ]\\n },\\n \\"InstanceChargeType\\": \\"PayBySpec\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeLoadBalancersResponse>\\n <RequestId>8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>50</PageSize>\\n <TotalCount>1</TotalCount>\\n <LoadBalancers>\\n <VpcId>vpc-25dvzy9f8****</VpcId>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <LoadBalancerId>lb-bp1b6c719dfa****</LoadBalancerId>\\n <CreateTime>2021-12-02T02:49:05Z</CreateTime>\\n <PayType>PayOnDemand</PayType>\\n <AddressType>intranet</AddressType>\\n <NetworkType>vpc</NetworkType>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <LoadBalancerName>lb-bp1o94dp5i6ea****</LoadBalancerName>\\n <Bandwidth>-1</Bandwidth>\\n <Address>100.XX.XX.28</Address>\\n <SlaveZoneId>cn-hangzhou-d</SlaveZoneId>\\n <MasterZoneId>cn-hangzhou-b</MasterZoneId>\\n <InternetChargeTypeAlias>paybybandwidth</InternetChargeTypeAlias>\\n <LoadBalancerSpec>slb.s1.small</LoadBalancerSpec>\\n <RegionId>cn-hangzhou</RegionId>\\n <ModificationProtectionReason>托管实例</ModificationProtectionReason>\\n <ModificationProtectionStatus>ConsoleProtection</ModificationProtectionStatus>\\n <VSwitchId>vsw-255ecr****</VSwitchId>\\n <LoadBalancerStatus>active</LoadBalancerStatus>\\n <ResourceGroupId>rg-atstuj3r****</ResourceGroupId>\\n <InternetChargeType>3</InternetChargeType>\\n <DeleteProtection>off</DeleteProtection>\\n <RegionIdAlias>hangzhou</RegionIdAlias>\\n <Tags>\\n <TagValue>FinanceJoshua</TagValue>\\n <TagKey>FinanceDept</TagKey>\\n </Tags>\\n <InstanceChargeType>PayBySpec</InstanceChargeType>\\n </LoadBalancers>\\n</DescribeLoadBalancersResponse>","errorExample":""}]', ], - 'AddBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMasterSlaveServerGroupAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例所属地域的ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)获取地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-2ze7o5h52g02kkzz******', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'BackendServers', + 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '要添加的后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .' '."\n" - .' 如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ECS、ENI或者ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。'."\n" - ."\n\n" - ."\n\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]', - ], + 'schema' => ['description' => '主备服务器组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6j******'], ], ], 'responses' => [ @@ -12891,121 +7648,102 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-2ze7o5h52g02kkzz****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '34B82C81-F13B-4EEB-99F6-A048C67CC830', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '关联的标签类型。', + 'type' => 'array', + 'items' => [ + 'description' => '关联的标签类型。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '实例的标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '实例的标签值。N的取值范围:**1**~**20**。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], + ], + ], + 'description' => '', ], - 'BackendServers' => [ + 'LoadBalancerId' => ['description' => '关联的传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-14fadafw4343a******'], + 'MasterSlaveServerGroupName' => ['description' => '主备服务器组的名称。', 'type' => 'string', 'example' => 'Group1'], + 'MasterSlaveServerGroupId' => ['description' => '主备服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6******'], + 'MasterSlaveBackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。', + 'MasterSlaveBackendServer' => [ + 'description' => '主备服务器组列表。', 'type' => 'array', 'items' => [ + 'description' => '主备服务器组列表。', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型。取值:'."\n" - ."\n" - .'- **ecs**:ECS实例(默认)。'."\n" - .'- **eni**:弹性网卡实例。'."\n" - .'- **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。'."\n" - ."\n" - .'取值:**0~100**。默认值:**100**。'."\n" - ."\n" - .'如果值为**0**,则不会将请求转发给该后端服务器。', - 'type' => 'string', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器描述。', - 'type' => 'string', - 'example' => '后端服务器', - ], - 'ServerId' => [ - 'description' => 'ECS、ENI、或者ECI实例ID。', - 'type' => 'string', - 'example' => 'i-2zej4lxhjoq1icu*****', - ], + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'eni'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '主备服务器组描述。', 'type' => 'string', 'example' => 'The description of the primary/secondary server group.'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '90'], + 'ServerId' => ['description' => '后端服务器实例ID。', 'type' => 'string', 'example' => 'eni-hhshhs****'], + 'ServerType' => ['description' => '服务器类型,取值:**Master**或**Slave**。', 'type' => 'string', 'example' => 'Slave'], ], ], ], ], + 'description' => '', ], + 'CreateTime' => ['description' => '传统型负载均衡实例创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2022-12-02T02:49:05Z'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified load balancer does not support the network type of the ECS instance.', - ], - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], - [ - 'errorCode' => 'BackendServerProcessing', - 'errorMessage' => 'Backend Server is adding, please try again later.', - ], - [ - 'errorCode' => 'InvalidBackendServers.ServerIpConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationUnsupported.AddBackendServers', - 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', - ], - [ - 'errorCode' => 'IncorrectStatus.RSByPassToas', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationFailed.ActionNotSupport', - 'errorMessage' => 'The loadbalancer does not support such action.', - ], - [ - 'errorCode' => 'NetworkConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"LoadBalancerId\\": \\"lb-2ze7o5h52g02kkzz****\\",\\n \\"RequestId\\": \\"34B82C81-F13B-4EEB-99F6-A048C67CC830\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": \\"100\\",\\n \\"Description\\": \\"后端服务器\\",\\n \\"ServerId\\": \\"i-2zej4lxhjoq1icu*****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<AddBackendServersResponse>\\n <LoadBalancerId>lb-2ze7o5h52g02kkzz****</LoadBalancerId>\\n <RequestId>34B82C81-F13B-4EEB-99F6-A048C67CC830</RequestId>\\n <BackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>后端服务器</Description>\\n <ServerId>i-2zej4lxhjoq1icu*****</ServerId>\\n </BackendServers>\\n</AddBackendServersResponse>","errorExample":""}]', - 'title' => '添加后端服务器', - 'summary' => '添加后端服务器。', - 'description' => '> 如果一次请求中添加多个相同的ECS实例,只会取第一个,其他相同实例会被忽略。新增后端服务器不能与同监听下已有服务器重复,否则会报错。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B0******\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-14fadafw4343a******\\",\\n \\"MasterSlaveServerGroupName\\": \\"Group1\\",\\n \\"MasterSlaveServerGroupId\\": \\"rsp-cige6******\\",\\n \\"MasterSlaveBackendServers\\": {\\n \\"MasterSlaveBackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"The description of the primary/secondary server group.\\",\\n \\"Port\\": 90,\\n \\"ServerId\\": \\"eni-hhshhs****\\",\\n \\"ServerType\\": \\"Slave\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-12-02T02:49:05Z\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeMasterSlaveServerGroupAttributeResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <LoadBalancerId>lb-14fadafw4343a******</LoadBalancerId>\\n <MasterSlaveServerGroupName>Group1</MasterSlaveServerGroupName>\\n <MasterSlaveServerGroupId>rsp-cige6******</MasterSlaveServerGroupId>\\n <MasterSlaveBackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>主备服务器组描述。</Description>\\n <Port>90</Port>\\n <ServerId>vm-hrf******</ServerId>\\n <ServerType>Slave</ServerType>\\n </MasterSlaveBackendServers>\\n <CreateTime>2022-12-02T02:49:05Z</CreateTime>\\n</DescribeMasterSlaveServerGroupAttributeResponse>","errorExample":""}]', + 'title' => '查询指定主备服务器组的详细信息', + 'summary' => '查询指定主备服务器组的详细信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeHealthStatus' => [ - 'summary' => '查询后端服务器的健康状态。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeMasterSlaveServerGroupAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeMasterSlaveServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], + ], + 'DescribeMasterSlaveServerGroups' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13013,65 +7751,56 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREslb1HTJST', - 'FEATUREslbZCBC3S', - 'FEATUREslbMJJFN5', - 'FEATUREslb2W3JY0', - 'FEATUREslbQ7A0BW', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例 ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3ah****', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp14zi0n66zpg6o******'], ], [ - 'name' => 'ListenerPort', + 'name' => 'IncludeListener', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。'."\n" - .'取值:**1~65535**'."\n" - ."\n" - .'> 不设置该参数表示获取所有端口的健康检查状态。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => '是否返回关联的监听信息,取值:'."\n" + ."\n" + .'- **true**:返回。'."\n" + .'- **false**:不返回。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。', - 'type' => 'string', + 'description' => '资源标签。', + 'type' => 'array', + 'items' => [ + 'description' => '资源标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + 'example' => '[{"Key":"TestKey","Value":"TestValue"}]', + ], 'required' => false, - 'example' => 'http', + 'maxItems' => 20, ], ], [ - 'name' => 'RegionId', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域 ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => '主备服务器组名称。', 'type' => 'string', 'required' => false, 'example' => 'Group3'], ], ], 'responses' => [ @@ -13079,163 +7808,147 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF******', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + 'MasterSlaveServerGroups' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。', + 'MasterSlaveServerGroup' => [ + 'description' => '主备服务器组列表。', 'type' => 'array', 'items' => [ - 'description' => '后端服务器列表。', + 'description' => '主备服务器组列表。', 'type' => 'object', 'properties' => [ - 'Protocol' => [ - 'description' => '负载均衡实例前端使用的协议。', - 'type' => 'string', - 'example' => 'http', - ], - 'ServerHealthStatus' => [ - 'description' => '后端服务器的健康状况。'."\n" - ."\n" - .'- normal:后端服务器健康。'."\n" - .'- abnormal:后端服务器不健康。'."\n" - .'- unavailable:未完成健康检查。', - 'type' => 'string', - 'example' => 'abnormal', - ], - 'ListenerPort' => [ - 'description' => '负载均衡实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ServerIp' => [ - 'description' => '后端服务器IP地址。', - 'type' => 'string', - 'example' => '192.XX.XX.11', - ], - 'Port' => [ - 'description' => '负载均衡实例后端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', + 'MasterSlaveServerGroupId' => ['description' => '主备服务器组ID。', 'type' => 'string', 'example' => 'rsp-0bfuc******'], + 'MasterSlaveServerGroupName' => ['description' => '主备服务器组的名称。', 'type' => 'string', 'example' => 'Group3'], + 'AssociatedObjects' => [ + 'description' => '关联信息。', + 'type' => 'object', + 'properties' => [ + 'Listeners' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Listener' => [ + 'description' => '监听列表。', + 'type' => 'array', + 'items' => [ + 'description' => '监听列表。', + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => '监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'Protocol' => ['description' => '监听协议。', 'type' => 'string', 'example' => 'tcp'], + ], + ], + ], + ], + 'description' => '', + ], + ], ], - 'ServerId' => [ - 'description' => '后端服务器实例ID。', - 'type' => 'string', - 'example' => 'i-bp1h5u3fv54ytf***', + 'CreateTime' => ['description' => '传统型负载均衡实例创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2022-12-02T02:49:05Z'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '资源的标签值。', 'type' => 'string', 'example' => 'TestValue'], + ], + ], + ], + ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => ''], + ], + ], + 'title' => '查询主备服务器组列表', + 'summary' => '查询主备服务器组列表。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-10-25T04:09:45.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeMasterSlaveServerGroups'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeMasterSlaveServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Protocol\\": \\"http\\",\\n \\"ServerHealthStatus\\": \\"abnormal\\",\\n \\"ListenerPort\\": 80,\\n \\"ServerIp\\": \\"192.XX.XX.11\\",\\n \\"Port\\": 80,\\n \\"ServerId\\": \\"i-bp1h5u3fv54ytf***\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询后端服务器的健康状态', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"MasterSlaveServerGroups\\": {\\n \\"MasterSlaveServerGroup\\": [\\n {\\n \\"MasterSlaveServerGroupId\\": \\"rsp-0bfuc******\\",\\n \\"MasterSlaveServerGroupName\\": \\"Group3\\",\\n \\"AssociatedObjects\\": {\\n \\"Listeners\\": {\\n \\"Listener\\": [\\n {\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"tcp\\"\\n }\\n ]\\n }\\n },\\n \\"CreateTime\\": \\"2022-12-02T02:49:05Z\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeMasterSlaveServerGroupsResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <MasterSlaveServerGroups>\\n <MasterSlaveServerGroupId>rsp-0bfuc******</MasterSlaveServerGroupId>\\n <MasterSlaveServerGroupName>Group3</MasterSlaveServerGroupName>\\n <AssociatedObjects>\\n <Listeners>\\n <Port>80</Port>\\n <Protocol>tcp</Protocol>\\n </Listeners>\\n </AssociatedObjects>\\n <CreateTime>2022-12-02T02:49:05Z</CreateTime>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n </MasterSlaveServerGroups>\\n</DescribeMasterSlaveServerGroupsResponse>","errorExample":""}]', ], - 'RemoveBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeRegions' => [ + 'summary' => '查询可用地域。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'get', + 'abilityTreeCode' => '88601', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', + 'name' => 'AcceptLanguage', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp15lbk8uja8rvm4a****', - ], + 'schema' => ['description' => '支持的语言。取值:'."\n" + ."\n" + .'- **zh-CN**:中文'."\n" + .'- **en-US**:英文'."\n" + .'- **ja**:日文', 'type' => 'string', 'required' => false, 'example' => 'zh-CN'], ], [ - 'name' => 'BackendServers', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '要移除的后端服务器。'."\n" - ."\n" - .'- **ServerId**:后端服务器ID,必填,String类型。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - .' - **ecs**(默认值): 云服务器ECS实例。'."\n" - ."\n" - .' - **eni**:弹性网卡ENI实例。'."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值范围:**0**~**100**,Integer类型。'."\n" - ."\n" - .'一次调用最多可以移除20个后端服务器。示例说明如下:'."\n" - ."\n" - .'- 移除ECS:'."\n" - ."\n" - .' `[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]`'."\n" - ."\n" - .'- 移除ENI:'."\n" - .' '."\n" - .' `[{"ServerId":"eni-2ze1sdp5****","Type": "eni","Weight":"100"}]`'."\n" - ."\n" - .'- 移除ECI:'."\n" - .' '."\n" - .' `[{"ServerId":"eci-2ze1sdp5****","Type": "eci","Weight":"100"}]`', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -13243,175 +7956,256 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp15lbk8uja8rvm4a****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34******', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6'], + 'Regions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。 ', + 'Region' => [ + 'description' => '地域列表。', 'type' => 'array', 'items' => [ - 'description' => '后端服务器列表。 ', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**:ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重,范围为**0~100**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器组描述。', - 'type' => 'string', - 'example' => 'BackendServer1', - ], - 'ServerId' => [ - 'description' => '后端服务器的实例ID。', - 'type' => 'string', - 'example' => 'i-bp1fq61enf4loa5i****', - ], + 'RegionEndpoint' => ['description' => '地域服务的终端节点地址。', 'type' => 'string', 'example' => 'slb.aliyuncs.com'], + 'LocalName' => ['description' => '地域名称。', 'type' => 'string', 'example' => 'China (Beijing)'], + 'RegionId' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-beijing'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => '参数无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"LoadBalancerId\\": \\"lb-bp15lbk8uja8rvm4a****\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"BackendServer1\\",\\n \\"ServerId\\": \\"i-bp1fq61enf4loa5i****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '移除后端服务器', - 'summary' => '移除后端服务器。', - 'description' => '> 如果要移除的后端服务器不在指定的负载均衡实例的服务器列表中,调用时会直接忽略,不会报错。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"RegionEndpoint\\": \\"slb.aliyuncs.com\\",\\n \\"LocalName\\": \\"China (Beijing)\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6</RequestId>\\n <Regions>\\n <RegionEndpoint>slb.aliyuncs.com</RegionEndpoint>\\n <LocalName>华北2(北京)</LocalName>\\n <RegionId>cn-beijing</RegionId>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]', + 'title' => '查询可用地域', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetBackendServers' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [], + ], + 'DescribeRuleAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'RuleId', + 'in' => 'query', + 'schema' => ['description' => '转发规则ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rule-bp1efemp9****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => '转发规则关联的服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j****'], + 'Cookie' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" + ."\n" + .'当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选且有效。', 'type' => 'string', 'example' => 'wwe'], + 'LoadBalancerId' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1ca0zt07t934wxe****'], + 'RuleId' => ['description' => '转发规则ID。', 'type' => 'string', 'example' => 'rule-hfgnd*****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + 'HealthCheckConnectPort' => ['description' => '健康检查的后端服务器的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。若为空且**HealthCheck**为**on**,表明默认使用监听后端端口配置。', 'type' => 'integer', 'format' => 'int32', 'example' => '23'], + 'HealthCheckTimeout' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。'."\n" + ."\n" + .'取值:**1**~**300**秒。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '34'], + 'CookieTimeout' => ['description' => 'Cookie超时时间。'."\n" + ."\n" + .'取值:**1~86400**秒。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选且有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '12'], + 'HealthCheckDomain' => ['description' => '用于健康检查的域名,取值:'."\n" + ."\n" + .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'string', 'example' => 'www.example.com'], + 'UnhealthyThreshold' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码,多个状态码用逗号分隔。默认值为**http_2xx**。'."\n" + ."\n" + .'取值:**http_2xx**或**http_3xx**或**http_4xx**或**http_5xx**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'string', 'example' => 'http_3xx '], + 'Domain' => ['description' => '转发规则域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'ListenerPort' => ['description' => '负载均衡实例前端使用的监听端口。', 'type' => 'string', 'example' => '90'], + 'Url' => ['description' => '转发规则路径。', 'type' => 'string', 'example' => '/cache'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔。'."\n" + ."\n" + .'取值:**1**~**50**秒。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '34'], + 'HealthCheckURI' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'string', 'example' => '/rest'], + 'RuleName' => ['description' => '转发规则名称。', 'type' => 'string', 'example' => 'Rule1'], + 'StickySessionType' => ['description' => 'Cookie的处理方式。取值:'."\n" + ."\n" + .'* **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'* **server**:重写Cookie。负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'> 当**StickySession**的值为**on**时,该参数有效。', 'type' => 'string', 'example' => 'insert'], + 'Scheduler' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', 'type' => 'string', 'example' => 'wrr'], + 'ListenerSync' => ['description' => '转发规则是否从监听上继承健康检查、会话保持和调度算法配置。'."\n" + ."\n" + .'取值:**on**或**off**。'."\n" + ."\n" + .'* **off**:不继承监听配置,转发规则自定义健康检查及会话保持配置。'."\n" + .'* **on**:继承监听配置。', 'type' => 'string', 'example' => 'off'], + 'HealthyThreshold' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值:**1**~**10**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'StickySession' => ['description' => '是否开启会话保持。取值:'."\n" + ."\n" + .'- **on**:开启'."\n" + .'- **off**:不开启'."\n" + ."\n" + .'> 在**ListenerSync**为**off**时必选且有效,为**on**时表明与监听配置一致。'."\n", 'type' => 'string', 'example' => 'off'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**:开启'."\n" + .'- **off**:不开启'."\n" + ."\n" + .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', 'type' => 'string', 'example' => 'off'], + ], + 'description' => '', ], ], + ], + 'title' => '查询指定转发规则的配置详情', + 'summary' => '查询指定转发规则的配置详情。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-20T12:11:16.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRuleAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeRuleAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"Cookie\\": \\"wwe\\",\\n \\"LoadBalancerId\\": \\"lb-bp1ca0zt07t934wxe****\\",\\n \\"RuleId\\": \\"rule-hfgnd*****\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"HealthCheckConnectPort\\": 23,\\n \\"HealthCheckTimeout\\": 34,\\n \\"CookieTimeout\\": 12,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckHttpCode\\": \\"http_3xx \\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"ListenerPort\\": \\"90\\",\\n \\"Url\\": \\"/cache\\",\\n \\"HealthCheckInterval\\": 34,\\n \\"HealthCheckURI\\": \\"/rest\\",\\n \\"RuleName\\": \\"Rule1\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"Scheduler\\": \\"wrr\\",\\n \\"ListenerSync\\": \\"off\\",\\n \\"HealthyThreshold\\": 2,\\n \\"StickySession\\": \\"off\\",\\n \\"HealthCheck\\": \\"off\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeRuleAttributeResponse>\\n <VServerGroupId>rsp-cige6j****</VServerGroupId>\\n <Cookie>wwe</Cookie>\\n <LoadBalancerId>lb-bp1ca0zt07t934wxe****</LoadBalancerId>\\n <RuleId>rule-hfgnd*****</RuleId>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <HealthCheckConnectPort>23</HealthCheckConnectPort>\\n <HealthCheckTimeout>34</HealthCheckTimeout>\\n <CookieTimeout>12</CookieTimeout>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>3</UnhealthyThreshold>\\n <HealthCheckHttpCode>http_3xx </HealthCheckHttpCode>\\n <Domain>www.example.com</Domain>\\n <ListenerPort>90</ListenerPort>\\n <Url>/cache</Url>\\n <HealthCheckInterval>34</HealthCheckInterval>\\n <HealthCheckURI>10.21.22.1</HealthCheckURI>\\n <RuleName>Rule1</RuleName>\\n <StickySessionType>insert</StickySessionType>\\n <Scheduler>wrr</Scheduler>\\n <ListenerSync>off</ListenerSync>\\n <HealthyThreshold>2</HealthyThreshold>\\n <StickySession>off</StickySession>\\n <HealthCheck>off</HealthCheck>\\n</DescribeRuleAttributeResponse>","errorExample":""}]', + ], + 'DescribeRules' => [ + 'summary' => '查询指定监听已配置的转发规则。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3a******', - ], + 'schema' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ca0zt07t934****'], ], [ - 'name' => 'BackendServers', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '要添加的后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。取值:'."\n" + ."\n" + .'**TCP**:协议类型为TCP。'."\n" + ."\n" + .'**UDP**:协议类型为UDP。'."\n" + ."\n" + .'**HTTP**:协议类型为HTTP。'."\n" + ."\n" + .'**HTTPS**:协议类型为HTTPS。'."\n" + ."\n" + .'>相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'http'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例前端使用的监听端口。'."\n" + ."\n" + .'取值范围:**1~65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '90'], ], ], 'responses' => [ @@ -13419,107 +8213,188 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1qjwo61pqz3a******', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7F******', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + 'Rules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => ' 后端服务器列表。', + 'Rule' => [ + 'description' => '转发规则列表。', 'type' => 'array', 'items' => [ - 'description' => '后端服务器列表。', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'string', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器描述。', - 'type' => 'string', - 'example' => '后端服务器', - ], - 'ServerId' => [ - 'description' => '后端服务器ID。', - 'type' => 'string', - 'example' => 'eni-hhshhs****', - ], + 'HealthCheckHttpCode' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分隔。默认值为**http_2xx**。'."\n" + ."\n" + .'取值:**http_2xx**、**http_3xx**、**http_4xx**或**http_5xx**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'string', 'example' => 'http_3xx'], + 'VServerGroupId' => ['description' => '转发规则绑定的目标虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-6cejjzl****'], + 'Domain' => ['description' => '转发规则绑定的请求域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'Cookie' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选且有效。', 'type' => 'string', 'example' => '23'], + 'HealthCheckInterval' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值范围:**1~50**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'Url' => ['description' => '转发规则绑定的请求路径。', 'type' => 'string', 'example' => '/cache'], + 'HealthCheckURI' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'string', 'example' => '/example'], + 'StickySessionType' => ['description' => 'Cookie的处理方式。取值:'."\n" + ."\n" + .'* **insert**:植入Cookie。客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'* **server**:重写Cookie。 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'> 当**StickySession**的值为**on**时,该参数有效。', 'type' => 'string', 'example' => 'insert'], + 'RuleName' => ['description' => '转发规则名称,长度为1~80个字符,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。'."\n" + ."\n" + .'> 同一个监听内不同规则的名称必须唯一。', 'type' => 'string', 'example' => 'Rule2'], + 'RuleId' => ['description' => '转发规则ID。', 'type' => 'string', 'example' => 'rule-tybqi6****'], + 'HealthCheckConnectPort' => ['description' => '健康检查的后端服务器的端口。'."\n" + ."\n" + .'取值范围:**1~65535**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。若为空且**HealthCheck**为**on**表明默认使用监听后端端口配置。', 'type' => 'integer', 'format' => 'int32', 'example' => '45'], + 'Scheduler' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'* **wrr**(默认值):权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', 'type' => 'string', 'example' => 'wrr'], + 'HealthCheckTimeout' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" + ."\n" + .'取值范围:**1~300**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '34'], + 'ListenerSync' => ['description' => '转发规则是否从监听上继承健康检查、会话保持和调度算法配置。取值:'."\n" + ."\n\n" + .'* **off**:不继承监听配置,转发规则自定义健康检查及会话保持配置。'."\n" + ."\n" + .'* **on**:继承监听配置。', 'type' => 'string', 'example' => 'off'], + 'HealthyThreshold' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值范围:**2~10**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'CookieTimeout' => ['description' => 'Cookie超时时间。单位:秒。取值范围:**1~86400**。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '56'], + 'HealthCheckDomain' => ['description' => '用于健康检查的域名,取值:'."\n" + ."\n" + .'* **$_ip**: 后端服务器的私网IP。'."\n" + ."\n" + .' 当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'string', 'example' => 'www.example.com'], + 'UnhealthyThreshold' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值范围:**2~10**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时,该参数有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'StickySession' => ['description' => '是否开启会话保持。取值:'."\n" + ."\n" + .'* **on**:开启。'."\n" + ."\n" + .'* **off**:不开启。'."\n" + ."\n" + .'> 在**ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', 'type' => 'string', 'example' => 'off'], + 'HealthCheck' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'* **on**:开启。'."\n" + ."\n" + .'* **off**:不开启。'."\n" + ."\n" + .'> **ListenerSync**为**off**时有效,为**on**时表明与监听配置一致。', 'type' => 'string', 'example' => 'off'], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"LoadBalancerId\\": \\"lb-bp1qjwo61pqz3a******\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7F******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": \\"100\\",\\n \\"Description\\": \\"后端服务器\\",\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SetBackendServersResponse>\\n <LoadBalancerId>lb-bp1qjwo61pqz3a******</LoadBalancerId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <BackendServers>\\n <Type>eni</Type>\\n <Weight>100</Weight>\\n <Description>后端服务器</Description>\\n <ServerId>eni-hhshhs****</ServerId>\\n </BackendServers>\\n</SetBackendServersResponse>","errorExample":""}]', - 'title' => '设置后端服务器权重', - 'summary' => '设置后端服务器权重。', + 'title' => '查询指定监听已配置的转发规则', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateVServerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRules'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeRules', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"HealthCheckHttpCode\\": \\"http_3xx\\",\\n \\"VServerGroupId\\": \\"rsp-6cejjzl****\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"Cookie\\": \\"23\\",\\n \\"HealthCheckInterval\\": 5,\\n \\"Url\\": \\"/cache\\",\\n \\"HealthCheckURI\\": \\"/example\\",\\n \\"StickySessionType\\": \\"insert\\",\\n \\"RuleName\\": \\"Rule2\\",\\n \\"RuleId\\": \\"rule-tybqi6****\\",\\n \\"HealthCheckConnectPort\\": 45,\\n \\"Scheduler\\": \\"wrr\\",\\n \\"HealthCheckTimeout\\": 34,\\n \\"ListenerSync\\": \\"off\\",\\n \\"HealthyThreshold\\": 5,\\n \\"CookieTimeout\\": 56,\\n \\"HealthCheckDomain\\": \\"www.example.com\\",\\n \\"UnhealthyThreshold\\": 2,\\n \\"StickySession\\": \\"off\\",\\n \\"HealthCheck\\": \\"off\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRulesResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <Rules>\\n <HealthCheckHttpCode>http_3xx</HealthCheckHttpCode>\\n <VServerGroupId>rsp-6cejjzl****</VServerGroupId>\\n <Domain>www.example.com</Domain>\\n <Cookie>23</Cookie>\\n <HealthCheckInterval>5</HealthCheckInterval>\\n <Url>/cache</Url>\\n <HealthCheckURI>/example</HealthCheckURI>\\n <StickySessionType>insert</StickySessionType>\\n <RuleName>Rule2</RuleName>\\n <RuleId>rule-tybqi6****</RuleId>\\n <HealthCheckConnectPort>45</HealthCheckConnectPort>\\n <Scheduler>wrr</Scheduler>\\n <HealthCheckTimeout>34</HealthCheckTimeout>\\n <ListenerSync>off</ListenerSync>\\n <HealthyThreshold>5</HealthyThreshold>\\n <CookieTimeout>56</CookieTimeout>\\n <HealthCheckDomain>www.example.com</HealthCheckDomain>\\n <UnhealthyThreshold>2</UnhealthyThreshold>\\n <StickySession>off</StickySession>\\n <HealthCheck>off</HealthCheck>\\n </Rules>\\n</DescribeRulesResponse>","errorExample":""}]', + ], + 'DescribeServerCertificates' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88537', - 'abilityTreeNodes' => [ - 'FEATUREslb1HTJST', - ], - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n" + ."\n" + .'> 当您所选地域的Enpoint(服务地址)为slb.aliyuncs.com时,`RegionId`必填。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ServerCertificateId', + 'in' => 'query', + 'schema' => ['description' => '服务器证书ID。', 'type' => 'string', 'required' => false, 'example' => '12315790*******_166f8204689_1714763408_709981430'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'], + ], + [ 'name' => 'Tag', 'in' => 'query', - 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ 'description' => '标签列表。', @@ -13528,21 +8403,11 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => '1'], ], 'required' => false, ], @@ -13550,316 +8415,164 @@ 'maxItems' => 20, ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3ahl******', - ], - ], - [ - 'name' => 'VServerGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组名称。'."\n" - ."\n" - .'长度限制为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、英文句点(.)和下划线(_)。', - 'type' => 'string', - 'required' => false, - 'example' => 'Group1', - ], - ], - [ - 'name' => 'BackendServers', - 'in' => 'query', - 'schema' => [ - 'description' => '要添加的后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]', - ], - ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '后端服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'ServerCertificates' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => ' 后端服务器列表。', + 'ServerCertificate' => [ + 'description' => '服务器证书列表。', 'type' => 'array', 'items' => [ - 'description' => '后端服务器列表。', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器组描述。', - 'type' => 'string', - 'example' => '后端服务器组', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', + 'CreateTimeStamp' => ['description' => '服务器证书上传的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'AliCloudCertificateName' => ['description' => '阿里云证书服务的服务器证书名称。', 'type' => 'string', 'example' => 'testcertkey'], + 'ExpireTime' => ['description' => '过期时间。', 'type' => 'string', 'example' => '2023-01-26T23:59:59Z'], + 'CreateTime' => ['description' => '服务器证书上传的时间。', 'type' => 'string', 'example' => '2021-08-31T02:49:05Z'], + 'ServerCertificateId' => ['description' => '服务器证书ID。', 'type' => 'string', 'example' => '123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02'], + 'ExpireTimeStamp' => ['description' => '过期时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '15041477450'], + 'RegionId' => ['description' => '服务器证书的地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ServerCertificateName' => ['description' => '服务器证书名称。', 'type' => 'string', 'example' => 'slb'], + 'Fingerprint' => ['description' => '服务器证书的指纹。', 'type' => 'string', 'example' => '68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d'], + 'CommonName' => ['description' => '域名,对应证书的`CommonName`字段。', 'type' => 'string', 'example' => 'www.example.com'], + 'ResourceGroupId' => ['description' => '企业资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3rtop****'], + 'IsAliCloudCertificate' => ['description' => '是否是阿里云证书服务中的证书:'."\n" + ."\n" + .'- **1**:是。'."\n" + .'- **0**:不是。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'AliCloudCertificateId' => ['description' => '阿里云证书服务的服务器证书ID。', 'type' => 'string', 'example' => '7309********_15d97e7709a_71445759hr_789289731'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '资源标签。', + 'type' => 'array', + 'items' => [ + 'description' => '资源标签。', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '资源的标签值。', 'type' => 'string', 'example' => '1'], + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'test'], + ], + ], + ], + ], + 'description' => '', ], - 'ServerId' => [ - 'description' => 'ECS实例ID或ENI实例ID。', - 'type' => 'string', - 'example' => 'eni-hhshhs****', + 'SubjectAlternativeNames' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SubjectAlternativeName' => [ + 'description' => '数组格式,返回证书的备用域名列表,对应证书的`Subject Alternative Name`字段。', + 'type' => 'array', + 'items' => ['description' => '数组格式,返回证书的备用域名列表,对应证书的`Subject Alternative Name`字段。', 'type' => 'string', 'example' => '["demo.aliyundoc.com","example.aliyundoc.com"]'], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'LBNotSupportIpv6Backend', - 'errorMessage' => 'The specified loadbalancer does not support ipv6 backend.', - ], - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], - [ - 'errorCode' => 'InvalidBackendServers.ServerIpConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationUnsupported.CreateVServerGroup', - 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', - ], - [ - 'errorCode' => 'IncorrectStatus.RSByPassToas', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'BackendServer.InvalidType', - 'errorMessage' => 'The specified Type is invalid.', - ], - [ - 'errorCode' => 'BackendServer.ServerRegionIdNotEqual', - 'errorMessage' => 'The specified ServerRegionId must be equal.', - ], - [ - 'errorCode' => 'OperationFailed.InvalidCen', - 'errorMessage' => 'The cen related with this loadbalancer is invalid.', - ], - [ - 'errorCode' => 'IncorrectStatus.CenNotAssociated', - 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', - ], - [ - 'errorCode' => 'InvalidBackendServers.MissingCenBandWidth', - 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', - ], - [ - 'errorCode' => 'InvalidBackendServers.VpcNotInCen', - 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', - ], - [ - 'errorCode' => 'InvalidServerId.NotExist', - 'errorMessage' => 'The specified ServerId is not exist.', - ], - [ - 'errorCode' => 'MissingParameter.ServerRegionId', - 'errorMessage' => 'The parameter ServerRegionId is required.', - ], - [ - 'errorCode' => 'MissingParameter.VbrId', - 'errorMessage' => 'The parameter VbrId is required.', - ], - [ - 'errorCode' => 'InvalidParameter.ServerRegionId', - 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', - ], - [ - 'errorCode' => 'InvalidVbrId.NotInCen', - 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'NetworkConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'VpcSystemBusy', - 'errorMessage' => 'Invoke vpc system busy, please retry later.', - ], - [ - 'errorCode' => 'OperationFailed.Endpoint', - 'errorMessage' => 'The operation failed because of the RegionId is unavailable in this endpoint.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], + ['errorCode' => 'Abs.ServerCertificateIdAndResourceGroupId.MissMatch', 'errorMessage' => 'ServerCertificateId or ResourceGroupId miss match.', 'description' => 'ServerCertificate ID或者ResourceGroup ID参数缺失。'], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6******\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"后端服务器组\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateVServerGroupResponse>\\n <VServerGroupId>rsp-cige6******</VServerGroupId>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <BackendServers>\\n <Type>Type</Type>\\n <Weight>100</Weight>\\n <Description>后端服务器组</Description>\\n <Port>70</Port>\\n <ServerId>vm-2****</ServerId>\\n </BackendServers>\\n</CreateVServerGroupResponse>","errorExample":""}]', - 'title' => '创建虚拟服务器组并添加后端服务器', - 'summary' => '创建虚拟服务器组并向指定的服务器组中添加后端服务器。', + 'title' => '查询指定地域的服务器证书列表', + 'summary' => '查询指定地域的服务器证书列表。', + 'description' => '> 为了保证安全性,只返回证书的指纹和名称,不返回证书和私钥的内容。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteVServerGroup' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-07-04T11:57:54.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeServerCertificates'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeServerCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"ServerCertificates\\": {\\n \\"ServerCertificate\\": [\\n {\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"AliCloudCertificateName\\": \\"testcertkey\\",\\n \\"ExpireTime\\": \\"2023-01-26T23:59:59Z\\",\\n \\"CreateTime\\": \\"2021-08-31T02:49:05Z\\",\\n \\"ServerCertificateId\\": \\"123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02\\",\\n \\"ExpireTimeStamp\\": 15041477450,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServerCertificateName\\": \\"slb\\",\\n \\"Fingerprint\\": \\"68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"IsAliCloudCertificate\\": 0,\\n \\"AliCloudCertificateId\\": \\"7309********_15d97e7709a_71445759hr_789289731\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"1\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n },\\n \\"SubjectAlternativeNames\\": {\\n \\"SubjectAlternativeName\\": [\\n \\"[\\\\\\"demo.aliyundoc.com\\\\\\",\\\\\\"example.aliyundoc.com\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeServerCertificatesResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <ServerCertificates>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <AliCloudCertificateName>testcertkey</AliCloudCertificateName>\\n <ExpireTime>2023-01-26T23:59:59Z</ExpireTime>\\n <CreateTime>2021-08-31T02:49:05Z</CreateTime>\\n <ServerCertificateId>123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02</ServerCertificateId>\\n <ExpireTimeStamp>15041477450</ExpireTimeStamp>\\n <RegionId>cn-hangzhou</RegionId>\\n <ServerCertificateName>slb</ServerCertificateName>\\n <Fingerprint>68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d</Fingerprint>\\n <CommonName>www.example.com</CommonName>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <IsAliCloudCertificate>0</IsAliCloudCertificate>\\n <AliCloudCertificateId>7309********_15d97e7709a_71445759hr_789289731</AliCloudCertificateId>\\n <Tags>\\n <TagValue>1</TagValue>\\n <TagKey>test</TagKey>\\n </Tags>\\n <SubjectAlternativeNames>[\\"demo.aliyundoc.com\\",\\"example.aliyundoc.com\\"]</SubjectAlternativeNames>\\n </ServerCertificates>\\n</DescribeServerCertificatesResponse>","errorExample":""}]', + ], + 'DescribeTags' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。'."\n" - ."\n" - .'> 如果已有监听绑定了该虚拟服务器组,将无法删除。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6j*****', - ], + 'schema' => ['description' => '负载均衡实例ID。 ', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1kuzybm******'], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => '要查询的标签列表。', 'type' => 'string', 'required' => false, 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]'], + ], + [ + 'name' => 'DistinctKey', + 'in' => 'query', + 'schema' => ['description' => '是否为DistinctKey。 '."\n" + ."\n" + .'取值:true或false。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => '单页结果数量,接口默认50,最大100。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'default' => '50'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => '实例列表页码,起始值1,默认值1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'], ], ], 'responses' => [ @@ -13867,132 +8580,104 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF3******'], + 'PageSize' => ['description' => '默认50,最大100。', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'PageNumber' => ['description' => '实例列表页码,起始值1,默认值1。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TotalCount' => ['description' => '根据过滤条件得到的实例总个数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'TagSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagSet' => [ + 'description' => 'Tag列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => '标签Value。', 'type' => 'string', 'example' => 'api'], + 'InstanceCount' => ['description' => '该标签绑定的实例总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'TagKey' => ['description' => '标签Key。', 'type' => 'string', 'example' => 'test'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RspoolVipExist', - 'errorMessage' => 'there are vips associating with this vServer group.', - ], + ['errorCode' => 'NoPermission.Operator', 'errorMessage' => 'The operator is not permission for this operate.', 'description' => '操作者无权进行此操作。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<DeleteVServerGroupResponse>\\n\\t<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</DeleteVServerGroupResponse>","errorExample":""}]', - 'title' => '删除虚拟服务器组', - 'summary' => '删除虚拟服务器组。', + 'title' => '查询已有标签列表', + 'summary' => '查询标签列表。', + 'description' => '调用该接口时,请注意:'."\n" + ."\n" + .'* 允许根据实例ID、Tagkey、Tagvalue等条件查询所有符合条件的Tags。'."\n" + ."\n" + .'* 指定的条件为and关系,只有满足所有指定条件的TagSet才会被返回。'."\n" + ."\n" + .'* 如果指定了Tagkey而没有指定Tagvalue,就查询所有该Tagkey关联的Tag。'."\n" + ."\n" + .'* 不允许用户只指定Tagvalue而不指定Tagkey。'."\n" + ."\n" + .'* 若指定了Tagkey/Tagvalue对,则精确匹配该Tag。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetVServerGroupAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTags'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeTags', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\",\\n \\"PageSize\\": 50,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"TagSets\\": {\\n \\"TagSet\\": [\\n {\\n \\"TagValue\\": \\"api\\",\\n \\"InstanceCount\\": 10,\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeVServerGroupAttribute' => [ + 'summary' => '查询虚拟服务器组的详细信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'abilityTreeCode' => '88613', + 'abilityTreeNodes' => ['FEATUREslb1HTJST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡地域ID,不可更改。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID,不可更改。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6****', - ], - ], - [ - 'name' => 'VServerGroupName', - 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组名称,可自定义更改。', - 'type' => 'string', - 'required' => false, - 'example' => 'Group1', - ], - ], - [ - 'name' => 'BackendServers', - 'in' => 'query', - 'schema' => [ - 'description' => '后端服务器列表,该接口只能用于修改后端服务器的权重和虚拟服务器组名称。'."\n" - .'包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.XX.XX.6", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.XX.XX.6", "Port":"80","Description":"test-113" }]', - ], + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6****'], ], ], 'responses' => [ @@ -14000,107 +8685,115 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6****', - ], - 'VServerGroupName' => [ - 'description' => ' 虚拟服务器组名称。', - 'type' => 'string', - 'example' => 'Group1', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], + 'VServerGroupId' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6****'], + 'VServerGroupName' => ['description' => '虚拟服务器组的名称。', 'type' => 'string', 'example' => 'Group1'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******'], + 'LoadBalancerId' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-jfakd****'], 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BackendServer' => [ - 'description' => ' 后端服务器列表。', + 'description' => '后端服务器列表。', 'type' => 'array', 'items' => [ 'description' => '后端服务器列表。', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器组描述。', - 'type' => 'string', - 'example' => '后端服务器组描述。', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => '后端服务器实例ID。', - 'type' => 'string', - 'example' => 'i-bp1ek6yd7jvkx****', - ], + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'- **ecs**:ECS实例(默认)。'."\n" + .'- **eni**:弹性网卡实例。'."\n" + .'- **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '服务器组描述。'."\n" + ."\n" + .'> 若用户未设置Description,则该参数不返回。', 'type' => 'string', 'example' => 'The description of the server group.'], + 'ServerIp' => ['description' => '后端服务器实例IP。', 'type' => 'string', 'example' => '192.XX.XX.11'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '90'], + 'ServerId' => ['description' => '后端服务器实例ID。', 'type' => 'string', 'example' => 'vm-233'], + ], + ], + ], + ], + 'description' => '', + ], + 'CreateTime' => ['description' => '传统型负载均衡实例的创建时间,格式:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z'], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => '服务器上配置的标签。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器上配置的标签。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '实例的标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '实例的标签值。N的取值范围:**1**~**20**。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TestValue'], ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The VServerGroupName or BackendServers is required at lease one.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6****\\",\\n \\"VServerGroupName\\": \\"Group1\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"后端服务器组描述。\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"i-bp1ek6yd7jvkx****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerTCPListener>\\n<VServerGroupId>rsp-cige6****</VServerGroupId>\\n<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n<VServerGroupName>Group1</VServerGroupName>\\n<BackendServers>\\n <BackendServer>\\n <Type>ecs</Type>\\n <Description>后端服务器组描述。</Description>\\n <ServerId>i-bp1ek6yd7jvkx****</ServerId>\\n <Port>70</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n</BackendServers>\\n</CreateLoadBalancerTCPListener>","errorExample":""}]', - 'title' => '修改虚拟服务器组的配置', - 'summary' => '修改虚拟服务器组的配置。', - 'description' => '该接口只能用于修改后端服务器的权重和虚拟服务器组名称:'."\n" - ."\n" - .'- 如果您需要修改后端服务器,请参见接口[ModifyVServerGroupBackendServers](~~35220~~)。'."\n" - ."\n" - .'- 如果您需要添加后端服务器,请参见接口[AddVServerGroupBackendServers](~~35218~~)。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6****\\",\\n \\"VServerGroupName\\": \\"Group1\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\",\\n \\"LoadBalancerId\\": \\"lb-jfakd****\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"The description of the server group.\\",\\n \\"ServerIp\\": \\"192.XX.XX.11\\",\\n \\"Port\\": 90,\\n \\"ServerId\\": \\"vm-233\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVServerGroupAttributeResponse>\\n <VServerGroupId>rsp-cige6****</VServerGroupId>\\n <VServerGroupName>Group1</VServerGroupName>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <LoadBalancerId>lb-jfakd****</LoadBalancerId>\\n <BackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>服务器组描述。</Description>\\n <ServerIp>192.XX.XX.11</ServerIp>\\n <Port>90</Port>\\n <ServerId>vm-233</ServerId>\\n </BackendServers>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n</DescribeVServerGroupAttributeResponse>","errorExample":""}]', + 'title' => '查询虚拟服务器组的详细信息', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-11-04T14:44:35.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVServerGroupAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeVServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], ], 'DescribeVServerGroups' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14108,59 +8801,35 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6ea*******', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6ea*******'], ], [ 'name' => 'IncludeRule', 'in' => 'query', - 'schema' => [ - 'description' => '是否返回关联的转发规则信息。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**(默认值):否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否返回关联的转发规则信息。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'IncludeListener', 'in' => 'query', - 'schema' => [ - 'description' => '是否返回关联的监听信息。取值:'."\n" - ."\n" - .'- **true**:是。'."\n" - .'- **false**(默认值):否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否返回关联的监听信息。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'Tag', @@ -14174,21 +8843,11 @@ 'description' => '资源标签。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, ], @@ -14200,12 +8859,7 @@ 'name' => 'Description', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '虚拟服务器组名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'Group3', - ], + 'schema' => ['description' => '虚拟服务器组名称。', 'type' => 'string', 'required' => false, 'example' => 'Group3'], ], ], 'responses' => [ @@ -14213,11 +8867,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08******'], 'VServerGroups' => [ 'type' => 'object', 'itemNode' => true, @@ -14229,16 +8879,8 @@ 'description' => '后端服务器列表。', 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-0bf******', - ], - 'VServerGroupName' => [ - 'description' => '服务器组名称。', - 'type' => 'string', - 'example' => 'Group3', - ], + 'VServerGroupId' => ['description' => '服务器组ID。', 'type' => 'string', 'example' => 'rsp-0bf******'], + 'VServerGroupName' => ['description' => '服务器组名称。', 'type' => 'string', 'example' => 'Group3'], 'AssociatedObjects' => [ 'description' => '关联信息。', 'type' => 'object', @@ -14254,21 +8896,13 @@ 'description' => '监听列表。', 'type' => 'object', 'properties' => [ - 'Port' => [ - 'description' => '监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => '监听协议。取值:**tcp**、**udp**、**http**或**https**。', - 'type' => 'string', - 'example' => 'tcp', - ], + 'Port' => ['description' => '监听端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'Protocol' => ['description' => '监听协议。取值:**tcp**、**udp**、**http**或**https**。', 'type' => 'string', 'example' => 'tcp'], ], ], ], ], + 'description' => '', ], 'Rules' => [ 'type' => 'object', @@ -14281,46 +8915,22 @@ 'description' => '转发规则列表。', 'type' => 'object', 'properties' => [ - 'Url' => [ - 'description' => '访问路径。', - 'type' => 'string', - 'example' => '/example', - ], - 'Domain' => [ - 'description' => '请求域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RuleName' => [ - 'description' => '转发规则名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'RuleId' => [ - 'description' => '转发规则ID。', - 'type' => 'string', - 'example' => 'rule-a3x3pg1******', - ], + 'Url' => ['description' => '访问路径。', 'type' => 'string', 'example' => '/example'], + 'Domain' => ['description' => '请求域名。', 'type' => 'string', 'example' => 'www.example.com'], + 'RuleName' => ['description' => '转发规则名称。', 'type' => 'string', 'example' => 'test'], + 'RuleId' => ['description' => '转发规则ID。', 'type' => 'string', 'example' => 'rule-a3x3pg1******'], ], ], ], ], + 'description' => '', ], ], ], - 'ServerCount' => [ - 'description' => '服务器个数。'."\n" - ."\n" - .'该参数对应的功能默认不开放,如需使用请联系销售或提交工单。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'CreateTime' => [ - 'description' => '传统型负载均衡实例的创建时间,格式:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], + 'ServerCount' => ['description' => '服务器个数。'."\n" + ."\n" + .'该参数对应的功能默认不开放,如需使用请联系销售或提交工单。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'CreateTime' => ['description' => '传统型负载均衡实例的创建时间,格式:`YYYY-MM-DDThh:mm:ssZ`。', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z'], 'Tags' => [ 'type' => 'object', 'itemNode' => true, @@ -14332,55 +8942,70 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '资源的标签值。', - 'type' => 'string', - 'example' => 'TestValue', - ], + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '资源的标签值。', 'type' => 'string', 'example' => 'TestValue'], ], ], ], ], + 'description' => '', ], ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param of TagKey is missing.', - ], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08******\\",\\n \\"VServerGroups\\": {\\n \\"VServerGroup\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-0bf******\\",\\n \\"VServerGroupName\\": \\"Group3\\",\\n \\"AssociatedObjects\\": {\\n \\"Listeners\\": {\\n \\"Listener\\": [\\n {\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"tcp\\"\\n }\\n ]\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Url\\": \\"/example\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RuleName\\": \\"test\\",\\n \\"RuleId\\": \\"rule-a3x3pg1******\\"\\n }\\n ]\\n }\\n },\\n \\"ServerCount\\": 1,\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVServerGroupsResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <VServerGroups>\\n <VServerGroupId>rsp-0bfucwuotx</VServerGroupId>\\n <VServerGroupName>Group3</VServerGroupName>\\n <AssociatedObjects>\\n <Listeners>\\n <Port>80</Port>\\n <Protocol>tcp</Protocol>\\n </Listeners>\\n <Rules>\\n <Url>/example</Url>\\n <Domain>www.example.com</Domain>\\n <RuleName>test</RuleName>\\n <RuleId>rule-a3x3pg1yohq3lq****</RuleId>\\n </Rules>\\n </AssociatedObjects>\\n <ServerCount>1</ServerCount>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n </VServerGroups>\\n</DescribeVServerGroupsResponse>","errorExample":""}]', 'title' => '查询虚拟服务器组列表', 'summary' => '查询虚拟服务器组列表。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeVServerGroupAttribute' => [ - 'summary' => '查询虚拟服务器组的详细信息。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-10-25T04:09:45.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2021-12-13T06:16:44.000Z', 'description' => '响应参数发生变更、错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVServerGroups'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08******\\",\\n \\"VServerGroups\\": {\\n \\"VServerGroup\\": [\\n {\\n \\"VServerGroupId\\": \\"rsp-0bf******\\",\\n \\"VServerGroupName\\": \\"Group3\\",\\n \\"AssociatedObjects\\": {\\n \\"Listeners\\": {\\n \\"Listener\\": [\\n {\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"tcp\\"\\n }\\n ]\\n },\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"Url\\": \\"/example\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RuleName\\": \\"test\\",\\n \\"RuleId\\": \\"rule-a3x3pg1******\\"\\n }\\n ]\\n }\\n },\\n \\"ServerCount\\": 1,\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVServerGroupsResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <VServerGroups>\\n <VServerGroupId>rsp-0bfucwuotx</VServerGroupId>\\n <VServerGroupName>Group3</VServerGroupName>\\n <AssociatedObjects>\\n <Listeners>\\n <Port>80</Port>\\n <Protocol>tcp</Protocol>\\n </Listeners>\\n <Rules>\\n <Url>/example</Url>\\n <Domain>www.example.com</Domain>\\n <RuleName>test</RuleName>\\n <RuleId>rule-a3x3pg1yohq3lq****</RuleId>\\n </Rules>\\n </AssociatedObjects>\\n <ServerCount>1</ServerCount>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n </VServerGroups>\\n</DescribeVServerGroupsResponse>","errorExample":""}]', + ], + 'DescribeZones' => [ + 'summary' => '查询指定地域的可用区信息。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14390,33 +9015,21 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '88613', - 'abilityTreeNodes' => [ - 'FEATUREslb1HTJST', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88615', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'AcceptLanguage', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6****', - ], + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -14424,149 +9037,77 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6****', - ], - 'VServerGroupName' => [ - 'description' => '虚拟服务器组的名称。', - 'type' => 'string', - 'example' => 'Group1', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******', - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-jfakd****', - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。', - 'type' => 'array', - 'items' => [ - 'description' => '后端服务器列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'- **ecs**:ECS实例(默认)。'."\n" - .'- **eni**:弹性网卡实例。'."\n" - .'- **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '服务器组描述。'."\n" - ."\n" - .'> 若用户未设置Description,则该参数不返回。', - 'type' => 'string', - 'example' => '服务器组描述。', - ], - 'ServerIp' => [ - 'description' => '后端服务器实例IP。', - 'type' => 'string', - 'example' => '192.XX.XX.11', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'ServerId' => [ - 'description' => '后端服务器实例ID。', - 'type' => 'string', - 'example' => 'vm-233', - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => '传统型负载均衡实例的创建时间,格式:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], - 'Tags' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A'], + 'Zones' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => '服务器上配置的标签。', + 'Zone' => [ + 'description' => '可用区列表。', 'type' => 'array', 'items' => [ - 'description' => '服务器上配置的标签。', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => '实例的标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '实例的标签值。N的取值范围:**1**~**20**。一旦输入该值,可以为空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestValue', + 'ZoneId' => ['description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-b'], + 'LocalName' => ['description' => '可用区名称。', 'type' => 'string', 'example' => 'Hangzhou Zone B'], + 'SlaveZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlaveZone' => [ + 'description' => '主可用区对应的备可用区列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => '备可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-g'], + 'LocalName' => ['description' => '备可用区名称。', 'type' => 'string', 'example' => 'Hangzhou Zone G'], + ], + 'description' => '', + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => '参数无效。请检查参数约束,并在修改后重试。'], ], 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6****\\",\\n \\"VServerGroupName\\": \\"Group1\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\",\\n \\"LoadBalancerId\\": \\"lb-jfakd****\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"服务器组描述。\\",\\n \\"ServerIp\\": \\"192.XX.XX.11\\",\\n \\"Port\\": 90,\\n \\"ServerId\\": \\"vm-233\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeVServerGroupAttributeResponse>\\n <VServerGroupId>rsp-cige6****</VServerGroupId>\\n <VServerGroupName>Group1</VServerGroupName>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <LoadBalancerId>lb-jfakd****</LoadBalancerId>\\n <BackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>服务器组描述。</Description>\\n <ServerIp>192.XX.XX.11</ServerIp>\\n <Port>90</Port>\\n <ServerId>vm-233</ServerId>\\n </BackendServers>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n</DescribeVServerGroupAttributeResponse>","errorExample":""}]', - 'title' => '查询虚拟服务器组的详细信息', + 'title' => '查询指定地域的可用区信息', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddVServerGroupBackendServers' => [ - 'summary' => '向指定的虚拟服务器组中添加后端服务器。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:19.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeZones'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"LocalName\\": \\"Hangzhou Zone B\\",\\n \\"SlaveZones\\": {\\n \\"SlaveZone\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-g\\",\\n \\"LocalName\\": \\"Hangzhou Zone G\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeZonesResponse>\\n <RequestId>A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A</RequestId>\\n <Zones>\\n <ZoneId>cn-hangzhou-b</ZoneId>\\n <LocalName>华东 1 可用区 B</LocalName>\\n <SlaveZones>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n <LocalName>华东 1 可用区 G</LocalName>\\n </SlaveZones>\\n </Zones>\\n</DescribeZonesResponse>","errorExample":""}]', + ], + 'EnableHighDefinationMonitor' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14576,81 +9117,32 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', + 'abilityTreeCode' => '88622', + 'abilityTreeNodes' => ['FEATUREslbSG7ZOW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => '日志标签。其结构是一个JSON dictionary,包含标签键和标签值。', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]'], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'LogProject', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6******', - ], + 'schema' => ['description' => '日志服务LogProject的名称。长度为4~63个字符,支持数字、小写字母,可包含短划线(-),开头和结尾必须为数字或字母。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-project'], ], [ - 'name' => 'BackendServers', + 'name' => 'LogStore', 'in' => 'query', - 'schema' => [ - 'description' => '要添加的后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]', - ], + 'schema' => ['description' => '日志服务LogStore的名称。长度为2~64个字符,支持数字、小写字母,可包含短划线(-)和下划线(_),开头和结尾必须为数字或字母。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-log-store'], ], ], 'responses' => [ @@ -14658,581 +9150,96 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j******', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******', - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。', - 'type' => 'array', - 'items' => [ - 'description' => '后端服务器列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器组描述。', - 'type' => 'string', - 'example' => '后端服务器组', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => 'ECS实例ID或者ENI的实例ID。', - 'type' => 'string', - 'example' => 'eni-hhshhs****', - ], - ], - ], - ], - ], - ], + 'Success' => ['description' => '本次调用是否成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'string', 'example' => 'true'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidBackendServers.ServerIpConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], - [ - 'errorCode' => 'OperationUnsupported.AddVServerGroupBackendServers', - 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', - ], - [ - 'errorCode' => 'IncorrectStatus.RSByPassToas', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'BackendServer.InvalidType', - 'errorMessage' => 'The specified Type is invalid.', - ], - [ - 'errorCode' => 'BackendServer.ServerRegionIdNotEqual', - 'errorMessage' => 'The specified ServerRegionId must be equal.', - ], - [ - 'errorCode' => 'OperationFailed.InvalidCen', - 'errorMessage' => 'The cen related with this loadbalancer is invalid.', - ], - [ - 'errorCode' => 'IncorrectStatus.CenNotAssociated', - 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', - ], - [ - 'errorCode' => 'InvalidBackendServers.MissingCenBandWidth', - 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', - ], - [ - 'errorCode' => 'InvalidBackendServers.VpcNotInCen', - 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', - ], - [ - 'errorCode' => 'InvalidServerId.NotExist', - 'errorMessage' => 'The specified ServerId is not exist.', - ], - [ - 'errorCode' => 'MissingParameter.ServerRegionId', - 'errorMessage' => 'The parameter ServerRegionId is required.', - ], - [ - 'errorCode' => 'MissingParameter.VbrId', - 'errorMessage' => 'The parameter VbrId is required.', - ], - [ - 'errorCode' => 'InvalidParameter.ServerRegionId', - 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', - ], - [ - 'errorCode' => 'InvalidVbrId.NotInCen', - 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'MasterSlaveServerConflict', - 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', - ], - [ - 'errorCode' => 'OperationFailed.ServiceGroupProcessing', - 'errorMessage' => 'The specified service group is processing.', - ], - [ - 'errorCode' => 'NetworkConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], - [ - 'errorCode' => 'SignatureNonceUsed', - 'errorMessage' => 'Specified signature nonce was used already.', - ], - [ - 'errorCode' => 'VpcSystemBusy', - 'errorMessage' => 'Invoke vpc system busy, please retry later.', - ], - [ - 'errorCode' => 'OperationDeny.LbNotSupportIPv6Server', - 'errorMessage' => 'The specified loadbalancer does not support ipv6 server.', - ], - [ - 'errorCode' => 'OperationBusy', - 'errorMessage' => 'The operation is busy.', - ], + ['errorCode' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', 'description' => '当前操作不被允许,当前地域的秒级监控已经被开启。'], + ['errorCode' => 'UnsupportedFeature.User', 'errorMessage' => 'The feature of HighDefinationMonitor is not supported.', 'description' => '当前用户不支持秒级监控功能'], + ['errorCode' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'description' => '您没有权限创建服务关联角色,角色名:AliyunServiceRoleForSlbLogDelivery,服务名:logdelivery.slb.aliyuncs.com。请确保已授予当前用户ram:CreateServiceLinkedRole权限。'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.vServers', - 'errorMessage' => 'The specified enis %s does not exist.', - ], - [ - 'errorCode' => 'ResourceNotFound.Cen', - 'errorMessage' => 'The specified resource Cen %s not Exists.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '开启实例的秒级监控', + 'summary' => '启用当前地域的秒级监控功能。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableHighDefinationMonitor'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:EnableHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j******\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"后端服务器组\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<AddVServerGroupBackendServersResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <VServerGroupId>rsp-cige6*****</VServerGroupId>\\n <BackendServers>\\n <BackendServer>\\n <ServerId>vm-233</ServerId>\\n <Port>80</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n <BackendServer>\\n <ServerId>vm-232</ServerId>\\n <Port>90</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n <BackendServer>\\n <ServerId>vm-231</ServerId>\\n <Port>70</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n </BackendServers>\\n</AddVServerGroupBackendServersResponse>","errorExample":""}]', - 'title' => '向指定的虚拟服务器组中添加后端服务器', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"2F398FF5-B349-5C01-8638-8E9A0BF1DBE6\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableHighDefinationMonitorResponse>\\n <Success>true</Success>\\n <RequestId>2F398FF5-B349-5C01-8638-8E9A0BF1DBE6</RequestId>\\n</EnableHighDefinationMonitorResponse>","errorExample":""}]', ], - 'ModifyVServerGroupBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTLSCipherPolicies' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6j****', - ], - ], - [ - 'name' => 'OldBackendServers', + 'name' => 'TLSCipherPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => '要被替换的后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]', - ], + 'schema' => ['description' => 'TLS策略ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'tls-bp17elso1h323r****'], ], [ - 'name' => 'NewBackendServers', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => '新的后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]', - ], + 'schema' => ['description' => 'TLS策略名称。长度为2~200个英文或中文字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => 'TLSPolicy-test****'], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => '服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08******', - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。', - 'type' => 'array', - 'items' => [ - 'description' => '后端服务器列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '后端服务器描述。', - 'type' => 'string', - 'example' => '后端服务器描述。', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => 'ECS实例ID或ENI的实例ID。', - 'type' => 'string', - 'example' => 'i-bp1ge5hrp****', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified BackendServers contain duplicated value of ServerID and Port.', - ], - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], - [ - 'errorCode' => 'InvalidBackendServers.ServerIpConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationUnsupported.ModifyVServerGroupBackendServers', - 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', - ], - [ - 'errorCode' => 'IncorrectStatus.RSByPassToas', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'BackendServer.InvalidType', - 'errorMessage' => 'The specified Type is invalid.', - ], - [ - 'errorCode' => 'BackendServer.ServerRegionIdNotEqual', - 'errorMessage' => 'The specified ServerRegionId must be equal.', - ], - [ - 'errorCode' => 'OperationFailed.InvalidCen', - 'errorMessage' => 'The cen related with this loadbalancer is invalid.', - ], - [ - 'errorCode' => 'IncorrectStatus.CenNotAssociated', - 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', - ], - [ - 'errorCode' => 'InvalidBackendServers.MissingCenBandWidth', - 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', - ], - [ - 'errorCode' => 'InvalidBackendServers.VpcNotInCen', - 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', - ], - [ - 'errorCode' => 'InvalidServerId.NotExist', - 'errorMessage' => 'The specified ServerId is not exist.', - ], - [ - 'errorCode' => 'MissingParameter.ServerRegionId', - 'errorMessage' => 'The parameter ServerRegionId is required.', - ], - [ - 'errorCode' => 'MissingParameter.VbrId', - 'errorMessage' => 'The parameter VbrId is required.', - ], - [ - 'errorCode' => 'InvalidParameter.ServerRegionId', - 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', - ], - [ - 'errorCode' => 'InvalidVbrId.NotInCen', - 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', - ], - [ - 'errorCode' => 'InvalidParameter.ZoneNotSupport', - 'errorMessage' => 'The zone does not support the parameter %s.', - ], - [ - 'errorCode' => 'MasterSlaveServerConflict', - 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', - ], - [ - 'errorCode' => 'NetworkConflict', - 'errorMessage' => '%s.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"后端服务器描述。\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"i-bp1ge5hrp****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ModifyVServerGroupBackendServersResponse>\\n<VServerGroupId>rsp-cige6j****</VServerGroupId>\\n<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n<BackendServers>\\n <BackendServer>\\n <Type>ecs</Type>\\n <Description>后端服务器描述。</Description>\\n <ServerId>i-bp1ge5hrp****</ServerId>\\n <Port>70</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n</BackendServers>\\n</ModifyVServerGroupBackendServersResponse>","errorExample":""}]', - 'title' => '替换虚拟服务器组中的后端服务器', - 'summary' => '替换虚拟服务器组中的后端服务器。', - 'description' => '该接口只用于替换虚拟服务器组中的后端服务器,如果您需要修改后端服务器的权重等配置,请参见[SetVServerGroupAttribute](~~2401723~~)。', - ], - 'RemoveVServerGroupBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', + 'name' => 'IncludeListener', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '是否返回关联的监听信息。取值:'."\n" + ."\n" + .'- **true**:返回。'."\n" + .'- **false**(默认):不返回。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], [ - 'name' => 'VServerGroupId', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6****', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], ], [ - 'name' => 'BackendServers', + 'name' => 'MaxItems', 'in' => 'query', - 'schema' => [ - 'description' => '后端服务器列表,包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" - ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" - ."\n" - .'示例说明如下:'."\n" - ."\n" - .'* 挂载ECS示例:'."\n" - .' '."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* 挂载ENI多IP:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" - ."\n" - .'* 挂载ECI:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]', - ], + 'schema' => ['description' => '本次读取的最大TLS策略数,取值:**1**~**100**。设置为空时,默认值为**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ @@ -15240,177 +9247,208 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => '虚拟服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******', - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => '后端服务器列表。', - 'type' => 'array', - 'items' => [ - 'description' => '后端服务器列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ServerId' => [ - 'description' => '后端服务器实例ID。', - 'type' => 'string', - 'example' => 'eni-hhshhs****', - ], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], + 'TotalCount' => ['description' => '本次请求条件下的TLS策略总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'IsTruncated' => ['description' => '是否结束。取值:'."\n" + ."\n" + .'- **true**:表示当前页是最后一页。'."\n" + ."\n" + .'- **false**:表示还有下一页。', 'type' => 'boolean', 'example' => 'false'], + 'TLSCipherPolicies' => [ + 'description' => 'TLS策略列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'TLS策略实例状态。取值:'."\n" + ."\n" + .'- **configuring**:配置中。'."\n" + ."\n" + .'- **normal**: 正常。', 'type' => 'string', 'example' => 'normal'], + 'InstanceId' => ['description' => 'TLS策略实例ID。', 'type' => 'string', 'example' => 'tls-bp17elso1h323r****'], + 'Name' => ['description' => 'TLS策略名称。', 'type' => 'string', 'example' => 'TLSPolicy-test****'], + 'CreateTime' => ['description' => '创建时间的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1608273800000'], + 'RelateListeners' => [ + 'description' => '关联的监听。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => '监听端口。取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'Protocol' => ['description' => '监听协议。取值:'."\n" + .'- **TCP** '."\n" + .'- **UDP**'."\n" + .'- **HTTP**'."\n" + .'- **HTTPS**', 'type' => 'string', 'example' => 'HTTPS'], + 'LoadBalancerId' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa08ex****'], + ], + 'description' => '', ], ], + 'TLSVersions' => [ + 'type' => 'array', + 'items' => ['description' => '支持的TLS协议版本。', 'type' => 'string', 'example' => 'TLSv1.0'], + 'description' => '', + ], + 'Ciphers' => [ + 'type' => 'array', + 'items' => ['description' => '支持的加密套件,具体依赖TLSVersions的取值。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持: '."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA '."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + .'- ECDHE-RSA-AES128-SHA '."\n" + .'- ECDHE-RSA-AES256-SHA '."\n" + .'- AES128-SHA AES256-SHA '."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA '."\n" + .'- ECDHE-ECDSA-AES256-SHA '."\n" + .'- ECDHE-RSA-AES128-SHA '."\n" + .'- ECDHE-RSA-AES256-SHA '."\n" + .'- AES128-SHA 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 AES256-SHA256'."\n" + ."\n" + .'TLSv1.3支持: '."\n" + ."\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'], + 'description' => '', + ], ], + 'description' => '', ], ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'LbStatusNotSupport', - 'errorMessage' => 'The status of specified loadbalancer does not support..', - ], + ['errorCode' => 'QueryTokenInvalid', 'errorMessage' => 'The specified token is invalid.', 'description' => '指定的Token无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'QueryTokenNotExist', 'errorMessage' => 'The specified token is not exist.', 'description' => '指定的Token不存在。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B0******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80,\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RemoveVServerGroupBackendServersResponse>\\n<VServerGroupId>rsp-cige6j****</VServerGroupId>\\n<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n<BackendServers>\\n <BackendServer>\\n <Type>ecs</Type>\\n <ServerId>vm-230</ServerId>\\n <Port>80</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n</BackendServers>\\n</RemoveVServerGroupBackendServersResponse>","errorExample":""}]', - 'title' => '从指定的虚拟服务器组中移除后端服务器', - 'summary' => '从指定的虚拟服务器组中移除后端服务器。', - 'description' => '> 如果**BackendServers**中参数的某些后端服务器不存在于这个虚拟服务器组中,会直接忽略,不会报错。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"TotalCount\\": 1000,\\n \\"IsTruncated\\": false,\\n \\"TLSCipherPolicies\\": [\\n {\\n \\"Status\\": \\"normal\\",\\n \\"InstanceId\\": \\"tls-bp17elso1h323r****\\",\\n \\"Name\\": \\"TLSPolicy-test****\\",\\n \\"CreateTime\\": 1608273800000,\\n \\"RelateListeners\\": [\\n {\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"HTTPS\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa08ex****\\"\\n }\\n ],\\n \\"TLSVersions\\": [\\n \\"TLSv1.0\\"\\n ],\\n \\"Ciphers\\": [\\n \\"ECDHE-ECDSA-AES128-SHA\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTLSCipherPoliciesResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <TotalCount>1000</TotalCount>\\n <IsTruncated>false</IsTruncated>\\n <TLSCipherPolicies>\\n <Status>normal</Status>\\n <InstanceId>tls-bp17elso1h323r****</InstanceId>\\n <Name>TLSPolicy-test****</Name>\\n <CreateTime>1608273800000</CreateTime>\\n <RelateListeners>\\n <Port>80</Port>\\n <Protocol>HTTPS</Protocol>\\n <LoadBalancerId>lb-bp1b6c719dfa08ex****</LoadBalancerId>\\n </RelateListeners>\\n <TLSVersions>TLSv1.0</TLSVersions>\\n <Ciphers>ECDHE-ECDSA-AES128-SHA</Ciphers>\\n </TLSCipherPolicies>\\n</ListTLSCipherPoliciesResponse>","errorExample":""}]', + 'title' => '查询TLS策略', + 'summary' => '查询TLS策略。', + 'description' => '该功能默认不开放,建议您使用 ALB 或 NLB。特殊情况请联系销售或提交工单。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateMasterSlaveServerGroup' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTLSCipherPolicies'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:ListTLSCipherPolicies', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:tlspolicy/*'], + ], + ], + ], + ], + ], + 'ListTagResources' => [ + 'summary' => '查询实例已经绑定的标签列表。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1hv944r69al4j******', - ], + 'schema' => ['description' => '资源类型定义,取值:'."\n" + ."\n" + .'- **instance**:负载均衡实例。'."\n" + ."\n" + .'- **certificate**:证书。'."\n" + ."\n" + .'- **acl**:访问控制。'."\n" + ."\n" + .'- **listener**:监听。'."\n" + ."\n" + .'- **vservergroup**:虚拟服务器组。'."\n" + ."\n" + .'- **masterslaveservergroup**:主备服务器组。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'instance'], ], [ - 'name' => 'MasterSlaveServerGroupName', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'Group1', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], ], [ - 'name' => 'MasterSlaveBackendServers', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '主备服务器组列表。一个主备服务器组只能包含2个后端服务器。'."\n" - ."\n" - .'包含以下参数:'."\n" - ."\n" - .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" - ."\n" - .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" - .'如果值为0,则不会将请求转发给该后端服务器。'."\n" - ."\n" - .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" - ."\n" - .'- **Type**:后端服务器类型,取值:'."\n" - ."\n" - .' - **ecs**:ECS实例(默认)。'."\n" - .' '."\n" - .' - **eni**:弹性网卡实例。'."\n" - ."\n" - .' - **eci**:弹性容器实例。'."\n" - ."\n" - .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" - ."\n" - .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + 'description' => '资源ID。最多支持添加20个资源。'."\n" ."\n" - .'* **Port**:用来接收请求的后端端口。'."\n" + .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1qnnvj18yy6h****\\_http\\_80。', + 'type' => 'array', + 'items' => ['description' => '资源ID。最多支持添加20个资源。'."\n" ."\n" - .'* **ServerType**:String类型,表示后端服务器的主备类型,取值:'."\n" - .' * **Master**:主服务器。'."\n" - .' * **Slave**:备服务器。', - 'type' => 'string', + .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1qnnvj18yy6h****\\_http\\_80。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1qnnvj18yy6h****'], 'required' => false, - 'docRequired' => true, - 'example' => '[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"82","ServerType":"Master","Description":"test-112" }, { "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"84","ServerType":"Slave","Description":"test-112" }]', + 'example' => 'lb-bp1qnnvj18yy6h******', + 'maxItems' => 51, ], ], [ 'name' => 'Tag', 'in' => 'query', - 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ 'description' => '标签列表。', @@ -15419,26 +9457,17 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '资源标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'Key' => ['description' => '资源的标签键。最多支持添加20个标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], + 'Value' => ['description' => '资源的标签值。最多支持添加20个标签值。一旦传入该值,不可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], ], 'required' => false, ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 21, ], ], ], @@ -15447,196 +9476,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'MasterSlaveServerGroupId' => [ - 'description' => '主备服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-bp19au4******', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '7CA4DB76-4D32-523B-822E-5C9******', - ], - 'MasterSlaveBackendServers' => [ + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512'], + 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'MasterSlaveBackendServer' => [ - 'description' => '主备服务器组列表。', + 'TagResource' => [ + 'description' => '绑定标签的资源信息。', 'type' => 'array', 'items' => [ - 'description' => '主备服务器组列表。', + 'description' => '绑定标签的资源信息。', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**:ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '主备服务器组描述。', - 'type' => 'string', - 'example' => 'test-112', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '82', - ], - 'ServerId' => [ - 'description' => '要添加的后端服务器实例ID。', - 'type' => 'string', - 'example' => 'i-bp1fq61enf4loa5i****', - ], - 'ServerType' => [ - 'description' => '服务器类型。'."\n" - ."\n" - .'取值:**Master**或**Slave**。', - 'type' => 'string', - 'example' => 'Master', - ], + 'TagValue' => ['description' => '标签值。', 'type' => 'string', 'example' => 'FinanceJoshua'], + 'ResourceType' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'instance'], + 'ResourceId' => ['description' => '资源ID。', 'type' => 'string', 'example' => 'lb-bp16qjewdsunr4****'], + 'TagKey' => ['description' => '标签键。', 'type' => 'string', 'example' => 'FinanceDept'], ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'BACKEND_SERVERS_NUM_MUST_BE_TWO', - 'errorMessage' => 'Backend servers num must be 2.', - ], - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], - [ - 'errorCode' => 'BACKEND_SERVERS_HAVE_SAME_PORT_AND_SERVERID', - 'errorMessage' => 'Backend servers have same port and serverId.', - ], - [ - 'errorCode' => 'BACKEND_SERVERS_CAN_ONLY_CONTAIN_ONE_MASTER_AND_ONE_SLAVE', - 'errorMessage' => 'Backend servers can only contain one master and one slave.', - ], - [ - 'errorCode' => 'BACKEND_SERVER_ID_CAN_NOT_EMPTY', - 'errorMessage' => 'Backend server id can not empty.', - ], - [ - 'errorCode' => 'INVALID_SERVER_TYPE', - 'errorMessage' => 'Invalid server type.', - ], - [ - 'errorCode' => 'BACKEND_SERVER_PORT_CAN_NOT_EMPTY', - 'errorMessage' => 'Backend server port can not empty.', - ], - [ - 'errorCode' => 'RealServerPortNotSupport', - 'errorMessage' => 'Real server port not support.', - ], - [ - 'errorCode' => 'OperationUnsupported.CreateMasterSlaveServerGroup', - 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', - ], - [ - 'errorCode' => 'IncorrectStatus.RSByPassToas', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'OperationFailed.ActionNotSupport', - 'errorMessage' => 'The loadbalancer does not support such action.', - ], - [ - 'errorCode' => 'RsTunnelIp2VmNameConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'NetworkConflict', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], + ['errorCode' => 'TagTypeNotSame', 'errorMessage' => 'The category of tags in the same request must be the same.', 'description' => '同一请求中的标签类别必须相同。'], + ['errorCode' => 'ResourceNotExist', 'errorMessage' => '%s.', 'description' => '指定的资源不存在。'], + ['errorCode' => 'QueryTokenNotExist', 'errorMessage' => 'The specified NextToken does not exist.', 'description' => '指定的NextToken 不存在。'], + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => '指定的NextToken无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.Scope', 'errorMessage' => 'The specified Scope is invalid.', 'description' => '指定的Scope无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.ResourceType', 'errorMessage' => 'The specified ResourceType is invalid.', 'description' => '指定的ResourceType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => '指定的TagValue无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagKeyOrValue', 'errorMessage' => 'The specified TagKey or TagValue is invalid.', 'description' => '指定的TagKey Or Value无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagOwnerUid', 'errorMessage' => 'The specified TagOwnerUid is invalid.', 'description' => '指定的TagOwnerUid无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagOwnerBid', 'errorMessage' => 'The specified TagOwnerBid is invalid.', 'description' => '指定的TagOwnerBid无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.Scope', 'errorMessage' => 'The parameter Scope is required.', 'description' => '参数Scope缺失。'], + ['errorCode' => 'MissingParam.TagOwnerUid', 'errorMessage' => 'The parameter TagOwnerUid is required.', 'description' => '参数TagOwnerUid缺失。'], + ['errorCode' => 'MissingParam.TagOwnerBid', 'errorMessage' => 'The parameter TagOwnerBid is required.', 'description' => '参数TagOwnerBid缺失。'], + ['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => '指定的RegionId不存在。'], + ['errorCode' => 'MissingParam.TagOrResourceId', 'errorMessage' => 'The parameter Tag or ResourceId is required at least one.', 'description' => '参数TagOrResourceId缺失。'], + ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum size of ResourceId is exceeded.', 'description' => '指定的ResourceId长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => 'The maximum size of Tag is exceeded.', 'description' => '指定的Tag长度无效。请检查参数约束,并在修改后重试。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"MasterSlaveServerGroupId\\": \\"rsp-bp19au4******\\",\\n \\"RequestId\\": \\"7CA4DB76-4D32-523B-822E-5C9******\\",\\n \\"MasterSlaveBackendServers\\": {\\n \\"MasterSlaveBackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"test-112\\",\\n \\"Port\\": 82,\\n \\"ServerId\\": \\"i-bp1fq61enf4loa5i****\\",\\n \\"ServerType\\": \\"Master\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateMasterSlaveServerGroupResponse>\\n <MasterSlaveServerGroupId>rsp-bp19au4******</MasterSlaveServerGroupId>\\n <RequestId>7CA4DB76-4D32-523B-822E-5C9494613D46</RequestId>\\n <MasterSlaveBackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>test-112</Description>\\n <Port>82</Port>\\n <ServerId>i-bp1fq61enf4loa5i****</ServerId>\\n <ServerType>Master</ServerType>\\n </MasterSlaveBackendServers>\\n</CreateMasterSlaveServerGroupResponse>","errorExample":""}]', - 'title' => '创建主备服务器组', - 'summary' => '创建主备服务器组。一个主备服务器组只能包含两个后端服务器,一个为主服务器,另一个为备服务器。', + 'title' => '查询实例已绑定的标签列表', + 'description' => '- 请求中至少指定参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**),以确定检索对象。'."\n" + ."\n" + .'- **Tag.N**是资源的标签,由一个键值对组成。仅指定**Tag.N.Key**时,则返回该标签键关联的所有标签值。仅指定**Tag.N.Value**会报错。'."\n" + ."\n" + .'- 如果您同时指定**Tag.N**和**ResourceId.N**筛选标签,则**ResourceId.N**必须满足所有输入的标签键值对。'."\n" + ."\n" + .'- 如果您同时指定多个标签键值对,返回结果为同时包含被指定的多个键值对的资源。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteMasterSlaveServerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/{#ServerCertificateId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/{#CaCertificateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494AC512\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"ResourceId\\": \\"lb-bp16qjewdsunr4****\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a****</NextToken>\\n <RequestId>DE65F6B7-7566-4802-9007-96F2494AC512</RequestId>\\n <TagResources>\\n <TagValue>FinanceJoshua</TagValue>\\n <ResourceType>instance</ResourceType>\\n <ResourceId>lb-bp16qjewdsunr4****</ResourceId>\\n <TagKey>FinanceDept</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', + ], + 'ModifyHighDefinationMonitor' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', + 'abilityTreeCode' => '121167', + 'abilityTreeNodes' => ['FEATUREslbSG7ZOW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'MasterSlaveServerGroupId', + 'name' => 'LogProject', 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组ID。'."\n" - ."\n" - .'> 如果主备服务器组正在使用中,无法删除。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6******', - ], + 'schema' => ['description' => '修改后的日志服务LogProject的名称。日志服务LogProject的名称。长度为4~63个字符,支持数字、小写字母,可包含短划线(-),开头和结尾必须为数字或字母。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-project'], + ], + [ + 'name' => 'LogStore', + 'in' => 'query', + 'schema' => ['description' => '修改后的日志服务LogStore的名称。长度为2~64个字符,支持数字、小写字母,可包含短划线(-)和下划线(_),开头和结尾必须为数字或字母。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-log-store'], ], ], 'responses' => [ @@ -15644,71 +9608,102 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], + 'Success' => ['description' => '本次调用是否成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'string', 'example' => 'true'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RspoolVipExist', - 'errorMessage' => 'there are vips associating with this vServer group.', + ['errorCode' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', 'description' => '当前操作不被允许,当前地域的秒级监控已经被开启。'], + ['errorCode' => 'UnsupportedFeature.User', 'errorMessage' => 'The feature of HighDefinationMonitor is not supported.', 'description' => '当前用户不支持秒级监控功能'], + ['errorCode' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'description' => '您没有权限创建服务关联角色,角色名:AliyunServiceRoleForSlbLogDelivery,服务名:logdelivery.slb.aliyuncs.com。请确保已授予当前用户ram:CreateServiceLinkedRole权限。'], + ['errorCode' => 'OperationDenied.HdMonitorListenerExist', 'errorMessage' => 'The operation is denied because there are still listeners enabling HighDefinitionMnitor.', 'description' => '当前操作被拒绝,系统中存在启用秒级监控的监听。'], + ['errorCode' => 'OperationNotAllowed.HighDefinitionMonitorNotEnabled', 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is not enabled in this region.', 'description' => '当前操作不被允许,当前地域的秒级监控没有开启。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改秒级监控配置信息', + 'summary' => '修改高精度秒级监控的配置信息。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHighDefinationMonitor'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>\\n<DeleteMasterSlaveServerGroupResponse>\\n\\t<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</DeleteMasterSlaveServerGroupResponse>","errorExample":""}]', - 'title' => '删除指定的主备服务器组', - 'summary' => '删除指定的主备服务器组。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHighDefinationMonitorResponse>\\n <Success>true</Success>\\n <RequestId>8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E</RequestId>\\n</ModifyHighDefinationMonitorResponse>","errorExample":""}]', ], - 'DescribeMasterSlaveServerGroupAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyLoadBalancerInstanceChargeType' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'MasterSlaveServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '主备服务器组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6j******', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b3jus5hpenznuu****'], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => '变更后的公网计费方式。'."\n" + .'仅取值**paybytraffic**:按使用流量计费。'."\n" + ."\n" + .'> - 当**InstanceChargeType**参数的值为**PayByCLCU**时,只支持按使用流量计费。'."\n" + .'> - 如果公网计费方式从按固定带宽变更为按使用流量,则所有变配会在次日00:00:00生效。', 'type' => 'string', 'required' => false, 'example' => 'paybytraffic'], + ], + [ + 'name' => 'InstanceChargeType', + 'in' => 'query', + 'schema' => ['description' => '变更后的实例计费方式。'."\n" + .'仅取值**PayByCLCU**:按使用量计费。'."\n", 'type' => 'string', 'required' => true, 'example' => 'PayByCLCU'], + ], + [ + 'name' => 'LoadBalancerSpec', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的规格。'."\n" + ."\n" + .'您无需设置该参数。目前仅支持按规格计费转按使用量计费,不支持按使用量计费转按规格计费。'."\n", 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small'], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => '按带宽计费的公网型实例的带宽峰值。'."\n" + ."\n" + .'您无需设置该参数,按使用量计费实例的公网计费方式仅支持按使用流量计费。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'example' => '5', 'default' => '-1'], ], ], 'responses' => [ @@ -15716,226 +9711,105 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '关联的标签类型。', - 'type' => 'array', - 'items' => [ - 'description' => '关联的标签类型。', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => '实例的标签键。N的取值范围:**1**~**20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '实例的标签值。N的取值范围:**1**~**20**。一旦输入该值,可以为空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - 'LoadBalancerId' => [ - 'description' => '关联的传统型负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-14fadafw4343a******', - ], - 'MasterSlaveServerGroupName' => [ - 'description' => '主备服务器组的名称。', - 'type' => 'string', - 'example' => 'Group1', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => '主备服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'MasterSlaveBackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MasterSlaveBackendServer' => [ - 'description' => '主备服务器组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '主备服务器组列表。', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => '后端服务器类型,取值:'."\n" - ."\n" - .'* **ecs**(默认):ECS实例。'."\n" - ."\n" - .'* **eni**:弹性网卡实例。'."\n" - ."\n" - .'* **eci**:弹性容器实例。', - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => '后端服务器的权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => '主备服务器组描述。', - 'type' => 'string', - 'example' => '主备服务器组描述。', - ], - 'Port' => [ - 'description' => '后端服务器使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'ServerId' => [ - 'description' => '后端服务器实例ID。', - 'type' => 'string', - 'example' => 'eni-hhshhs****', - ], - 'ServerType' => [ - 'description' => '服务器类型,取值:**Master**或**Slave**。', - 'type' => 'string', - 'example' => 'Slave', - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => '传统型负载均衡实例创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2022-12-02T02:49:05Z', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B0******\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"LoadBalancerId\\": \\"lb-14fadafw4343a******\\",\\n \\"MasterSlaveServerGroupName\\": \\"Group1\\",\\n \\"MasterSlaveServerGroupId\\": \\"rsp-cige6******\\",\\n \\"MasterSlaveBackendServers\\": {\\n \\"MasterSlaveBackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"主备服务器组描述。\\",\\n \\"Port\\": 90,\\n \\"ServerId\\": \\"eni-hhshhs****\\",\\n \\"ServerType\\": \\"Slave\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-12-02T02:49:05Z\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeMasterSlaveServerGroupAttributeResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <LoadBalancerId>lb-14fadafw4343a******</LoadBalancerId>\\n <MasterSlaveServerGroupName>Group1</MasterSlaveServerGroupName>\\n <MasterSlaveServerGroupId>rsp-cige6******</MasterSlaveServerGroupId>\\n <MasterSlaveBackendServers>\\n <Type>ecs</Type>\\n <Weight>100</Weight>\\n <Description>主备服务器组描述。</Description>\\n <Port>90</Port>\\n <ServerId>vm-hrf******</ServerId>\\n <ServerType>Slave</ServerType>\\n </MasterSlaveBackendServers>\\n <CreateTime>2022-12-02T02:49:05Z</CreateTime>\\n</DescribeMasterSlaveServerGroupAttributeResponse>","errorExample":""}]', - 'title' => '查询指定主备服务器组的详细信息', - 'summary' => '查询指定主备服务器组的详细信息。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeMasterSlaveServerGroups' => [ - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'OperationFailed.UnpaidBillsExist', 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', 'description' => '操作失败,原因是当前账户下存在未支付账单。请先支付您的逾期账单。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied. Unfinished order exists.', 'description' => '操作被拒绝,原因是存在未完成的订单。'], + ['errorCode' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', 'errorMessage' => 'Your channel partner account does not have sufficient funds, please contact your channel partner to recharge the account.', 'description' => ''], + ['errorCode' => 'OperationDenied.PayByCLCU', 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', 'description' => '操作被拒绝,原因是为PayByCLCU类型实例。'], + ['errorCode' => 'IllegalParam.InstanceChargeType', 'errorMessage' => 'The parameter InstanceChargeType is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.InternetChargeType', 'errorMessage' => 'The parameter InternetChargeType is illegal.', 'description' => ''], + ['errorCode' => 'InvalidAction.RegionNotSupport', 'errorMessage' => 'The region does not support this action.', 'description' => '当前地域不支持指定功能。'], + ['errorCode' => 'MissingParam.LoadBalancerSpec', 'errorMessage' => 'The param LoadBalancerSpec is required.', 'description' => '参数LoadBalancerSpec缺失。'], + ['errorCode' => 'OperationDenied.PayBySpec', 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayBySpec.', 'description' => ''], + ['errorCode' => 'InvalidParameterBandwidth', 'errorMessage' => 'The specified Bandwidth is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified LoadBalancerSpec is invalid.', 'description' => ''], + ['errorCode' => 'Forbidden.LcuToSpec', 'errorMessage' => 'User does not have permission modify InstanceChargeType to spec.', 'description' => '用户不允许lcu 转规格'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => '变更按量付费CLB实例的实例计费方式', + 'summary' => '变更按量付费CLB实例的实例计费方式。', + 'description' => '> - 按量付费实例中,仅支持按规格计费转按使用量计费,不支持按使用量计费转按规格计费。'."\n" + .'> - 目前,该接口不支持批量变更实例计费方式。', + 'changeSet' => [ + ['createdAt' => '2022-08-03T07:35:05.000Z', 'description' => '错误码发生变更、请求参数发生变更'], ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInstanceChargeType'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInstanceChargeType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyLoadBalancerInstanceChargeTypeResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n</ModifyLoadBalancerInstanceChargeTypeResponse>","errorExample":""}]', + ], + 'ModifyLoadBalancerInstanceSpec' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp14zi0n66zpg6o******', - ], - ], - [ - 'name' => 'IncludeListener', - 'in' => 'query', - 'schema' => [ - 'description' => '是否返回关联的监听信息,取值:'."\n" - ."\n" - .'- **true**:返回。'."\n" - .'- **false**:不返回。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719df*********'], ], [ - 'name' => 'Tag', + 'name' => 'LoadBalancerSpec', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => '资源标签。', - 'type' => 'array', - 'items' => [ - 'description' => '资源标签。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - 'example' => '[{"Key":"TestKey","Value":"TestValue"}]', - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '负载均衡实例的规格。取值:'."\n" + ."\n" + .' - **slb.s1.small**'."\n" + .' - **slb.s2.small**'."\n" + .' - **slb.s2.medium**'."\n" + .' - **slb.s3.small**'."\n" + .' - **slb.s3.medium**'."\n" + .' - **slb.s3.large**'."\n" + ."\n" + .'每个地域支持的规格不同。关于每种规格的说明,参见[性能保障型实例](~~85931~~)。 '."\n" + ."\n" + .'> 将共享型实例变更为保障型实例,SLB将有小概率可能性出现短暂的业务中断(10~30秒),建议您在业务低谷期进行变配,或者通过DNS实现实例间的负载均衡后,再进行变配操作。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'slb.s2.small'], ], [ - 'name' => 'Description', + 'name' => 'AutoPay', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '主备服务器组名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'Group3', - ], + 'schema' => ['description' => '是否自动付费。取值:'."\n" + ."\n" + .'- **true**:自动支付订单。'."\n" + .'- **false**(默认值):在订单中心中进行支付。'."\n" + ."\n" + .'> 该参数仅对预付费实例有效。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], ], 'responses' => [ @@ -15943,235 +9817,243 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'MasterSlaveServerGroups' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'MasterSlaveServerGroup' => [ - 'description' => '主备服务器组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '主备服务器组列表。', - 'type' => 'object', - 'properties' => [ - 'MasterSlaveServerGroupId' => [ - 'description' => '主备服务器组ID。', - 'type' => 'string', - 'example' => 'rsp-0bfuc******', - ], - 'MasterSlaveServerGroupName' => [ - 'description' => '主备服务器组的名称。', - 'type' => 'string', - 'example' => 'Group3', - ], - 'AssociatedObjects' => [ - 'description' => '关联信息。', - 'type' => 'object', - 'properties' => [ - 'Listeners' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Listener' => [ - 'description' => '监听列表。', - 'type' => 'array', - 'items' => [ - 'description' => '监听列表。', - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => '监听端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => '监听协议。', - 'type' => 'string', - 'example' => 'tcp', - ], - ], - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => '传统型负载均衡实例创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2022-12-02T02:49:05Z', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '资源的标签值。', - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'OrderId' => ['description' => '预付费实例的订单ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '201429619788910'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param of TagKey is missing.', - ], + ['errorCode' => 'ModifySpecNotAllowed', 'errorMessage' => 'LoadBalancerSpec not allowed for this instance', 'description' => ''], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied, Your account does not have enough balance.', 'description' => '操作被拒绝,原因是账户余额不足。'], + ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The param Bandwidth is invalid.', 'description' => '指定的Bandwidth无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ChangeLbSpecNotAllowed', 'errorMessage' => 'You cannot change the specification for the specified load balancer.', 'description' => '指定的实例不支持修改规格。'], + ['errorCode' => 'OperationDenied.PayByCLCU', 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', 'description' => '操作被拒绝,原因是为PayByCLCU类型实例。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"MasterSlaveServerGroups\\": {\\n \\"MasterSlaveServerGroup\\": [\\n {\\n \\"MasterSlaveServerGroupId\\": \\"rsp-0bfuc******\\",\\n \\"MasterSlaveServerGroupName\\": \\"Group3\\",\\n \\"AssociatedObjects\\": {\\n \\"Listeners\\": {\\n \\"Listener\\": [\\n {\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"tcp\\"\\n }\\n ]\\n }\\n },\\n \\"CreateTime\\": \\"2022-12-02T02:49:05Z\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeMasterSlaveServerGroupsResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n <MasterSlaveServerGroups>\\n <MasterSlaveServerGroupId>rsp-0bfuc******</MasterSlaveServerGroupId>\\n <MasterSlaveServerGroupName>Group3</MasterSlaveServerGroupName>\\n <AssociatedObjects>\\n <Listeners>\\n <Port>80</Port>\\n <Protocol>tcp</Protocol>\\n </Listeners>\\n </AssociatedObjects>\\n <CreateTime>2022-12-02T02:49:05Z</CreateTime>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n </MasterSlaveServerGroups>\\n</DescribeMasterSlaveServerGroupsResponse>","errorExample":""}]', - 'title' => '查询主备服务器组列表', - 'summary' => '查询主备服务器组列表。', + 'title' => '修改负载均衡的实例规格', + 'summary' => '修改负载均衡的实例规格。', + 'description' => '<props="china">仅按规格计费实例支持调用ModifyLoadBalancerInstanceSpec接口,按使用量计费实例不支持调用该接口。</props>'."\n" + ."\n" + .'<props="intl">CLB按规格计费实例已于2025年06月01日00:00:00(北京时间,UTC+8)停止售卖。详情请参见[传统型负载均衡CLB按规格计费实例停售公告](~~2872003~~)。'."\n" + .'</props>', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCACertificate' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2024-11-15T07:46:52.000Z', 'description' => 'OpenAPI 下线'], + ['createdAt' => '2022-04-28T14:56:30.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInstanceSpec', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderId\\": 201429619788910,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyLoadBalancerInstanceSpecResponse>\\n <OrderId>201429619788910</OrderId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n</ModifyLoadBalancerInstanceSpecResponse>","errorExample":""}]', + ], + 'ModifyLoadBalancerInternetSpec' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'CACertificateId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '123157908xxxxxxx_15c73d77203_-986300114_-2110544xxx', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex******'], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => '公网类型实例的付费方式。取值:'."\n" + ."\n" + .'- **paybybandwidth**:按带宽计费。'."\n" + ."\n" + .'- **paybytraffic**:按流量计费 。'."\n", 'type' => 'string', 'required' => false, 'example' => 'paybytraffic'], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => '按固定带宽计费方式的公网类型实例的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'取值范围:**1**~**5000**(各地域的带宽峰值会有不同)。'."\n" + ."\n" + .'>按流量计费(即**InternetChargeType**取值为**paybytraffic**)的实例不需要指定该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'example' => '10', 'default' => '-1'], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => ['description' => '是否是自动支付预付费公网实例的账单。取值:'."\n" + ."\n" + .'- **true**(默认值):自动支付订单。'."\n" + .'- **false**:在订单中心进行支付。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '修改公网负载均衡实例的计费方式。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'OrderId' => ['description' => '预付费实例的订单ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '20142961978****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'CertificateAndPrivateKeyIsRefered', - 'errorMessage' => 'The specified certificate is bound to listeners. You cannot delete it.', - ], + ['errorCode' => 'OperationFailed.UnpaidBillsExist', 'errorMessage' => 'The account has unpaid bills. Please pay your overdue bill first.', 'description' => '操作失败,原因是当前账户下存在未支付账单。请先支付您的逾期账单。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied. Unfinished order exists.', 'description' => '操作被拒绝,原因是存在未完成的订单。'], + ['errorCode' => 'Instance.ShareSlbNotSupportPay95', 'errorMessage' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', 'description' => '共享型实例不支持PayBy95或PayByOld95。'], + ['errorCode' => 'Instance.Pay95RateInvalid', 'errorMessage' => 'Illegal parameter. The rate is illegal.', 'description' => '指定的Rate无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Instance.Pay95BandwidthIllegal', 'errorMessage' => 'Illegal parameter. The bandwidth is illegal.', 'description' => '指定的Bandwidth无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Instance.InternetChargeTypeNotAllowed', 'errorMessage' => 'Illegal parameter. The specified InternetChargeType not allowed.', 'description' => '参数非法,指定的InternetChargeType不支持。'], + ['errorCode' => 'PAYFOR.ACCOUNT_MONEY_VALIDATE_ERROR', 'errorMessage' => 'Your channel partner account does not have sufficient funds, please contact your channel partner to recharge the account.', 'description' => ''], + ['errorCode' => 'OperationDenied.PayByCLCU', 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', 'description' => '操作被拒绝,原因是为PayByCLCU类型实例。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => '删除CA证书', - 'summary' => '删除CA证书。', - 'description' => '<note>无法删除正在使用的CA证书。</note>', + 'title' => '修改公网负载均衡实例的计费方式', + 'summary' => '修改公网负载均衡实例的计费方式。', + 'description' => '<props="china">- 仅按规格计费实例支持调用ModifyLoadBalancerInternetSpec接口,按使用量计费实例不支持调用该接口。</props>'."\n" + ."\n" + .'- 如果只调整按带宽计费实例的带宽峰值,修改完成后,立即生效。'."\n" + ."\n" + .'- 如果涉及公网计费方式的变更(例如公网计费方式从按固定带宽变更为按流量),则所有变配会在次日00:00:00生效。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteServerCertificate' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2021-09-24T02:58:01.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInternetSpec'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInternetSpec', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": 0,\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'ModifyLoadBalancerPayType' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'operationType' => 'write', + 'deprecated' => true, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88634', + 'abilityTreeNodes' => ['FEATUREslbMMPQ1U'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '服务器证书ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '123157xxxxxxx_166f8204689_1714763408_7099*******', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex*****'], + ], + [ + 'name' => 'PayType', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例付费模式,取值:'."\n" + ."\n" + .'<props="china">- **PrePay**:包年包月。</props>'."\n" + ."\n" + .'- **PayOnDemand**(默认值):按量付费。'."\n" + ."\n" + .'按量计费转为包年包月计费,该参数取值只能为**PrePay**,且该实例之前的计费模式必须为**PayOnDemand**。', 'type' => 'string', 'required' => false, 'example' => 'PrePay', 'default' => 'PrePay'], + ], + [ + 'name' => 'PricingCycle', + 'in' => 'query', + 'schema' => ['description' => '计费周期。'."\n" + ."\n" + .'取值:**year**或**month** 。'."\n" + ."\n" + .'>只有当**PayType**的参数取值为**PrePay**时有效,即仅对按量计费实例有效。', 'type' => 'string', 'required' => false, 'example' => 'month'], + ], + [ + 'name' => 'Duration', + 'in' => 'query', + 'schema' => ['description' => '计费时长。'."\n" + ."\n" + .'* 如果**PricingCycle**为**month**,取值**1**~**9**。'."\n" + ."\n" + .'* 如果**PricingCycle**为**year**,取值**1**~**5**。'."\n" + ."\n" + .'>只有当**PayType**的参数取值为**PrePay**时有效,即仅对按量计费实例有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1'], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => ['description' => '是否自动付费。取值:'."\n" + ."\n" + .'- **true**:自动付费。'."\n" + ."\n" + .'- **false(默认值)**:不自动付费。'."\n" + ."\n" + .'>只有当**PayType**的参数取值为**PrePay**时有效,即仅对按量计费实例有效。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], ], 'responses' => [ @@ -16179,87 +10061,169 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'OrderId' => ['description' => '预付费实例的订单ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '20212961978891'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'CertificateRelatedDomainExtensionExist', - 'errorMessage' => 'The domainExtension related with this ServerCertificate exists.', - ], - [ - 'errorCode' => 'CertificateAndPrivateKeyIsRefered', - 'errorMessage' => 'The specified certificate is bound to listeners. You cannot delete it.', - ], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Cannot change internet payByTraffic loadBalancer from PayOnDemand to PrePay.', 'description' => '按流量计费的公网实例不支持由后付费转为预付费。'], + ['errorCode' => 'OperationDenied.PayByCLCU', 'errorMessage' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', 'description' => '操作被拒绝,原因是为PayByCLCU类型实例。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DeleteServerCertificateResponse>\\n\\t\\t<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId></DeleteServerCertificateResponse>","errorExample":""}]', - 'title' => '删除服务器证书', - 'summary' => '删除服务器证书。', - 'description' => '> 如果指定删除的证书被引用,无法删除。', + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => '将按量计费实例转换为包年包月实例(已废弃)', + 'summary' => '将按量计费实例转换为包年包月实例。', + 'description' => '<props="china">'."\n" + ."\n" + .'> CLB包年包月实例2024年12月01日00:00:00起停止新购。详细信息请参见[传统型负载均衡CLB包年包月停售公告](https://help.aliyun.com/zh/slb/product-overview/announcement-of-suspension-of-traditional-load-balancing-clb-package-year-and-month?spm=a2c4g.11186623.help-menu-27537.d_0_1_2.29f5f9f2WbxpDz)。'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">仅按规格计费(公网为按固定带宽计费)的实例支持调用ModifyLoadBalancerPayType接口,按使用量计费实例不支持调用该接口。</props>', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetCACertificateName' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-04-28T14:56:30.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerPayType'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerPayType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": 20212961978891,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","type":"json"}]', + ], + 'ModifyVServerGroupBackendServers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-east-hangzhou-01', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'CACertificateId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'required' => true, - 'example' => '139a0******-cn-east-hangzhou-01', - ], + 'schema' => ['description' => '服务器组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6j****'], ], [ - 'name' => 'CACertificateName', + 'name' => 'OldBackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书名称。'."\n" - ."\n" - .'名称长度为1~80个英文或中文字符,必须以大小字母或中文开头,可包含数字,英文句号(.),下划线(_)和短横线(-)。', - 'type' => 'string', - 'required' => true, - 'example' => 'mycacert02', - ], + 'schema' => ['description' => '要被替换的后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]'], + ], + [ + 'name' => 'NewBackendServers', + 'in' => 'query', + 'schema' => ['description' => '新的后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]'], ], ], 'responses' => [ @@ -16267,392 +10231,328 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984', + 'VServerGroupId' => ['description' => '服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08******'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => '后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '后端服务器描述。', 'type' => 'string', 'example' => 'The description of the backend server.'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '70'], + 'ServerId' => ['description' => 'ECS实例ID或ENI的实例ID。', 'type' => 'string', 'example' => 'i-bp1ge5hrp****'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<SetCACertificateNameResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FE7BA984</RequestId>\\n</SetCACertificateNameResponse>"}]', - 'title' => '设置CA证书名称', - 'summary' => '设置CA证书名称。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetServerCertificateName' => [ - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified BackendServers contain duplicated value of ServerID and Port.', 'description' => '指定的后端服务器包含重复的服务ID和端口值。'], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ['errorCode' => 'InvalidBackendServers.ServerIpConflict', 'errorMessage' => '%s.', 'description' => '存在相同TunnelId和RsIp配置的后端服务器。'], + ['errorCode' => 'OperationUnsupported.ModifyVServerGroupBackendServers', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => '这种类型的后端服务器不允许附加到 singleTunnel 或 anyTunnel lb。'], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => '指定后端服务器的BypassToa配置无效。'], + ['errorCode' => 'BackendServer.InvalidType', 'errorMessage' => 'The specified Type is invalid.', 'description' => '后端服务器类型非法。'], + ['errorCode' => 'BackendServer.ServerRegionIdNotEqual', 'errorMessage' => 'The specified ServerRegionId must be equal.', 'description' => '后端服务器必须属于同一个地域。'], + ['errorCode' => 'OperationFailed.InvalidCen', 'errorMessage' => 'The cen related with this loadbalancer is invalid.', 'description' => '操作失败,原因是指定负载均衡实例关联的Cen信息缺失。'], + ['errorCode' => 'IncorrectStatus.CenNotAssociated', 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', 'description' => '该操作无效,因为当前负载均衡实例未与cen关联。'], + ['errorCode' => 'InvalidBackendServers.MissingCenBandWidth', 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'description' => 'Cen中的负载均衡实例所在的地域和挂载的目标地域之间要有带宽包。'], + ['errorCode' => 'InvalidBackendServers.VpcNotInCen', 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'description' => '后端服务器不在与负载均衡关联的cen中。'], + ['errorCode' => 'InvalidServerId.NotExist', 'errorMessage' => 'The specified ServerId is not exist.', 'description' => '指定的后端服务器不存在。'], + ['errorCode' => 'MissingParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is required.', 'description' => '参数ServerRegionId缺失。'], + ['errorCode' => 'MissingParameter.VbrId', 'errorMessage' => 'The parameter VbrId is required.', 'description' => '参数VbrId缺失。'], + ['errorCode' => 'InvalidParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', 'description' => '指定的ServerRegionId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidVbrId.NotInCen', 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', 'description' => '指定的Vbr不在实例关联的Cen内。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => '主备服务器组的后端服务器冲突。'], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', 'description' => '虚拟服务器组和ECS配置信息不一致。'], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"The description of the backend server.\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"i-bp1ge5hrp****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ModifyVServerGroupBackendServersResponse>\\n<VServerGroupId>rsp-cige6j****</VServerGroupId>\\n<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n<BackendServers>\\n <BackendServer>\\n <Type>ecs</Type>\\n <Description>后端服务器描述。</Description>\\n <ServerId>i-bp1ge5hrp****</ServerId>\\n <Port>70</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n</BackendServers>\\n</ModifyVServerGroupBackendServersResponse>","errorExample":""}]', + 'title' => '替换虚拟服务器组中的后端服务器', + 'summary' => '替换虚拟服务器组中的后端服务器。', + 'description' => '该接口只用于替换虚拟服务器组中的后端服务器,如果您需要修改后端服务器的权重等配置,请参见[SetVServerGroupAttribute](~~2401723~~)。', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVServerGroupBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyVServerGroupBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'MoveResourceGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88639', + 'abilityTreeNodes' => ['FEATUREslbPXSOQX'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域。您可以通过调用[DescribeRegions](~~2401682~~) 接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing'], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'ResourceId', 'in' => 'query', - 'schema' => [ - 'description' => '服务器证书ID。', - 'type' => 'string', - 'required' => true, - 'example' => ' 123157xxxxxxx_166f8204689_1714763408_7099*******', - ], + 'schema' => ['description' => '需要修改资源组的目标资源的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-uf6ghek7ds2btzt65****'], ], [ - 'name' => 'ServerCertificateName', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => '要上传的非阿里云签发的服务器证书的名称。长度限制为1~80个字符,允许包含中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)、下划线(_)和星号(*)。', + 'description' => '资源类型定义,取值:'."\n" + ."\n" + .'- **loadbalancer**:传统型负载均衡实例。'."\n" + ."\n" + .'- **certificate**:证书。'."\n" + ."\n" + .'- **acl**:访问控制。', 'type' => 'string', 'required' => true, - 'example' => 'mycert01', + 'docRequired' => true, + 'enumValueTitles' => ['loadbalancer' => 'loadbalancer', 'certificate' => 'certificate', 'acl' => 'acl'], + 'example' => 'loadbalancer', ], ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '新资源组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rg-aek2rpsek5h****'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2dmxj56z****'], + ], + [ + 'name' => 'access_key_id', + 'in' => 'query', + 'schema' => ['description' => '阿里云颁发给用户的访问服务所用的密钥ID。', 'type' => 'string', 'required' => false, 'example' => 'yourAccessKeyID'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '18CAE30A-79CF-544C-86DB-EB36C739642E'], ], + 'description' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","type":"json"}]', - 'title' => '设置服务器证书名称', - 'summary' => '设置服务器证书名称。', - ], - 'DescribeCACertificates' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'title' => '修改资源组', + 'summary' => '修改云资源所属的资源组。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:MoveResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#AclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#ServerCertificateId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"18CAE30A-79CF-544C-86DB-EB36C739642E\\"\\n}","type":"json"}]', + ], + 'RemoveAccessControlListEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '访问控制策略组的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'CACertificateId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'required' => false, - 'example' => '139a00604bd-cn-east-hangzho****', - ], + 'schema' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43k******'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'AclEntrys', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtop****', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '设置访问控制策略组。取值:'."\n" + ."\n" + .'* **entry**:访问控制策略组中的IP条目,可以指定IP地址或IP地址段(CIDR block),多个IP地址或地址段之间用半角逗号(,)隔开。'."\n" + ."\n" + .'* **comment**:访问控制策略组备注说明。'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"entry":"10.0.10.0/24","comment":"privaterule1"}]'], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF******', - ], - 'CACertificates' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CACertificate' => [ - 'description' => 'CA证书信息。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => 'CA证书创建的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'ExpireTime' => [ - 'description' => 'CA证书的过期时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2024-11-21T06:04:25Z', - ], - 'CreateTime' => [ - 'description' => 'CA证书的创建时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2021-08-31T02:49:05Z', - ], - 'ExpireTimeStamp' => [ - 'description' => 'CA证书过期的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1732169065000', - ], - 'CACertificateId' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'example' => '139a00604bd-cn-east-hangzho****', - ], - 'RegionId' => [ - 'description' => 'CA证书所属地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Fingerprint' => [ - 'description' => ' CA证书的指纹。 ', - 'type' => 'string', - 'example' => '79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3rtop****', - ], - 'CommonName' => [ - 'description' => 'CA证书的域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'CACertificateName' => [ - 'description' => ' CA证书名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签。', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '资源的标签值。', - 'type' => 'string', - 'example' => '1', - ], - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Abs.CACertificateIdAndResourceGroupId.MissMatch', - 'errorMessage' => 'CACertificateId or ResourceGroupId miss match.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF******\\",\\n \\"CACertificates\\": {\\n \\"CACertificate\\": [\\n {\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"ExpireTime\\": \\"2024-11-21T06:04:25Z\\",\\n \\"CreateTime\\": \\"2021-08-31T02:49:05Z\\",\\n \\"ExpireTimeStamp\\": 1732169065000,\\n \\"CACertificateId\\": \\"139a00604bd-cn-east-hangzho****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Fingerprint\\": \\"79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"CACertificateName\\": \\"test\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"1\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCACertificatesResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <CACertificates>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <ExpireTime>2024-11-21T06:04:25Z</ExpireTime>\\n <CreateTime>2021-08-31T02:49:05Z</CreateTime>\\n <ExpireTimeStamp>1732169065000</ExpireTimeStamp>\\n <CACertificateId>139a00604bd-cn-east-hangzho****</CACertificateId>\\n <RegionId>cn-hangzhou</RegionId>\\n <Fingerprint>79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89</Fingerprint>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <CommonName>www.example.com</CommonName>\\n <CACertificateName>test</CACertificateName>\\n <Tags>\\n <TagValue>1</TagValue>\\n <TagKey>test</TagKey>\\n </Tags>\\n </CACertificates>\\n</DescribeCACertificatesResponse>","errorExample":""}]', - 'title' => '查询CA证书列表', - 'summary' => '查询CA证书列表。', - 'description' => '> 为了保证安全性,只返回证书的指纹和名称,不返回证书的内容。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除访问控制策略组中的IP条目', + 'summary' => '删除访问控制策略组中的IP条目。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeServerCertificates' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-27T08:30:15.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveAccessControlListEntry'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveAccessControlListEntry', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveAccessControlListEntryResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA49</RequestId>\\n</RemoveAccessControlListEntryResponse>","errorExample":""}]', + ], + 'RemoveBackendServers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n" - ."\n" - .'> 当您所选地域的Enpoint(服务地址)为slb.aliyuncs.com时,`RegionId`必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => '服务器证书ID。', - 'type' => 'string', - 'required' => false, - 'example' => '12315790*******_166f8204689_1714763408_709981430', - ], - ], - [ - 'name' => 'ResourceGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtop****', - ], + 'schema' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp15lbk8uja8rvm4a****'], ], [ - 'name' => 'Tag', + 'name' => 'BackendServers', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '要移除的后端服务器。'."\n" + ."\n" + .'- **ServerId**:后端服务器ID,必填,String类型。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + .' - **ecs**(默认值): 云服务器ECS实例。'."\n" + ."\n" + .' - **eni**:弹性网卡ENI实例。'."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值范围:**0**~**100**,Integer类型。'."\n" + ."\n" + .'一次调用最多可以移除20个后端服务器。示例说明如下:'."\n" + ."\n" + .'- 移除ECS:'."\n" + ."\n" + .' `[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]`'."\n" + ."\n" + .'- 移除ENI:'."\n" + .' '."\n" + .' `[{"ServerId":"eni-2ze1sdp5****","Type": "eni","Weight":"100"}]`'."\n" + ."\n" + .'- 移除ECI:'."\n" + .' '."\n" + .' `[{"ServerId":"eci-2ze1sdp5****","Type": "eci","Weight":"100"}]`', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]'], ], ], 'responses' => [ @@ -16660,172 +10560,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'ServerCertificates' => [ + 'LoadBalancerId' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp15lbk8uja8rvm4a****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34******'], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ServerCertificate' => [ - 'description' => '服务器证书列表。', + 'BackendServer' => [ + 'description' => '后端服务器列表。 ', 'type' => 'array', 'items' => [ + 'description' => '后端服务器列表。 ', 'type' => 'object', 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => '服务器证书上传的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'AliCloudCertificateName' => [ - 'description' => '阿里云证书服务的服务器证书名称。', - 'type' => 'string', - 'example' => 'testcertkey', - ], - 'ExpireTime' => [ - 'description' => '过期时间。', - 'type' => 'string', - 'example' => '2023-01-26T23:59:59Z', - ], - 'CreateTime' => [ - 'description' => '服务器证书上传的时间。', - 'type' => 'string', - 'example' => '2021-08-31T02:49:05Z', - ], - 'ServerCertificateId' => [ - 'description' => '服务器证书ID。', - 'type' => 'string', - 'example' => '123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02', - ], - 'ExpireTimeStamp' => [ - 'description' => '过期时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15041477450', - ], - 'RegionId' => [ - 'description' => '服务器证书的地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ServerCertificateName' => [ - 'description' => '服务器证书名称。', - 'type' => 'string', - 'example' => 'slb', - ], - 'Fingerprint' => [ - 'description' => '服务器证书的指纹。', - 'type' => 'string', - 'example' => '68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d', - ], - 'CommonName' => [ - 'description' => '域名,对应证书的`CommonName`字段。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'ResourceGroupId' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3rtop****', - ], - 'IsAliCloudCertificate' => [ - 'description' => '是否是阿里云证书服务中的证书:'."\n" - ."\n" - .'- **1**:是。'."\n" - .'- **0**:不是。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'AliCloudCertificateId' => [ - 'description' => '阿里云证书服务的服务器证书ID。', - 'type' => 'string', - 'example' => '7309********_15d97e7709a_71445759hr_789289731', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '资源标签。', - 'type' => 'array', - 'items' => [ - 'description' => '资源标签。', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '资源的标签值。', - 'type' => 'string', - 'example' => '1', - ], - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], - 'SubjectAlternativeNames' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SubjectAlternativeName' => [ - 'description' => '数组格式,返回证书的备用域名列表,对应证书的`Subject Alternative Name`字段。', - 'type' => 'array', - 'items' => [ - 'description' => '数组格式,返回证书的备用域名列表,对应证书的`Subject Alternative Name`字段。', - 'type' => 'string', - 'example' => '["demo.aliyundoc.com","example.aliyundoc.com"]', - ], - ], - ], - ], + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**:ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重,范围为**0~100**。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '后端服务器组描述。', 'type' => 'string', 'example' => 'BackendServer1'], + 'ServerId' => ['description' => '后端服务器的实例ID。', 'type' => 'string', 'example' => 'i-bp1fq61enf4loa5i****'], ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Abs.ServerCertificateIdAndResourceGroupId.MissMatch', - 'errorMessage' => 'ServerCertificateId or ResourceGroupId miss match.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"ServerCertificates\\": {\\n \\"ServerCertificate\\": [\\n {\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"AliCloudCertificateName\\": \\"testcertkey\\",\\n \\"ExpireTime\\": \\"2023-01-26T23:59:59Z\\",\\n \\"CreateTime\\": \\"2021-08-31T02:49:05Z\\",\\n \\"ServerCertificateId\\": \\"123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02\\",\\n \\"ExpireTimeStamp\\": 15041477450,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServerCertificateName\\": \\"slb\\",\\n \\"Fingerprint\\": \\"68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"IsAliCloudCertificate\\": 0,\\n \\"AliCloudCertificateId\\": \\"7309********_15d97e7709a_71445759hr_789289731\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"1\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n },\\n \\"SubjectAlternativeNames\\": {\\n \\"SubjectAlternativeName\\": [\\n \\"[\\\\\\"demo.aliyundoc.com\\\\\\",\\\\\\"example.aliyundoc.com\\\\\\"]\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeServerCertificatesResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <ServerCertificates>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <AliCloudCertificateName>testcertkey</AliCloudCertificateName>\\n <ExpireTime>2023-01-26T23:59:59Z</ExpireTime>\\n <CreateTime>2021-08-31T02:49:05Z</CreateTime>\\n <ServerCertificateId>123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02</ServerCertificateId>\\n <ExpireTimeStamp>15041477450</ExpireTimeStamp>\\n <RegionId>cn-hangzhou</RegionId>\\n <ServerCertificateName>slb</ServerCertificateName>\\n <Fingerprint>68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d</Fingerprint>\\n <CommonName>www.example.com</CommonName>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <IsAliCloudCertificate>0</IsAliCloudCertificate>\\n <AliCloudCertificateId>7309********_15d97e7709a_71445759hr_789289731</AliCloudCertificateId>\\n <Tags>\\n <TagValue>1</TagValue>\\n <TagKey>test</TagKey>\\n </Tags>\\n <SubjectAlternativeNames>[\\"demo.aliyundoc.com\\",\\"example.aliyundoc.com\\"]</SubjectAlternativeNames>\\n </ServerCertificates>\\n</DescribeServerCertificatesResponse>","errorExample":""}]', - 'title' => '查询指定地域的服务器证书列表', - 'summary' => '查询指定地域的服务器证书列表。', - 'description' => '> 为了保证安全性,只返回证书的指纹和名称,不返回证书和私钥的内容。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '移除后端服务器', + 'summary' => '移除后端服务器。', + 'description' => '> 如果要移除的后端服务器不在指定的负载均衡实例的服务器列表中,调用时会直接忽略,不会报错。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UploadCACertificate' => [ - 'summary' => '上传CA证书。', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2022-12-27T08:30:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-09-20T12:11:15.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'ecs:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"LoadBalancerId\\": \\"lb-bp15lbk8uja8rvm4a****\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"BackendServer1\\",\\n \\"ServerId\\": \\"i-bp1fq61enf4loa5i****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'RemoveListenerWhiteListItem' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16833,91 +10645,38 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88694', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Tag', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '实例的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => false, - 'example' => 'UploadCACertificate', - 'maxItems' => 20, - ], + 'schema' => ['description' => '负载均衡实例的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'lb-8vb86hxixo8lvsja8****'], ], [ - 'name' => 'CACertificate', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '要上传CA证书的内容。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => '监听端口。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'CACertificateName', + 'name' => 'SourceItems', 'in' => 'query', - 'schema' => [ - 'description' => 'CA证书名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'mycacert01', - ], + 'schema' => ['description' => '访问控制列表。支持输入IP地址或IP地址段(CIDR block形式),多个IP地址或地址段用逗号(,)分隔。'."\n" + ."\n" + .'> 如果所有IP都被删除,则无法访问该监听。', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atst******', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + ."\n" + .'>相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], ], 'responses' => [ @@ -16925,492 +10684,296 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => 'CA证书上传的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF******', - ], - 'ExpireTime' => [ - 'description' => 'CA证书的过期时间。', - 'type' => 'string', - 'example' => '2024-11-21T06:04:25Z', - ], - 'Fingerprint' => [ - 'description' => 'CA证书的指纹。', - 'type' => 'string', - 'example' => '02:DF:AB:ED', - ], - 'CreateTime' => [ - 'description' => 'CA证书上传的时间。', - 'type' => 'string', - 'example' => '2017-08-31T02:49:05Z', - ], - 'CommonName' => [ - 'description' => 'CA证书的域名。', - 'type' => 'string', - 'example' => 'example.com', - ], - 'ResourceGroupId' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3******', - ], - 'CACertificateName' => [ - 'description' => 'CA证书的名称。', - 'type' => 'string', - 'example' => 'mycacert01', - ], - 'ExpireTimeStamp' => [ - 'description' => 'CA证书的过期时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1732169065000', - ], - 'CACertificateId' => [ - 'description' => 'CA证书ID。', - 'type' => 'string', - 'example' => '139a0******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF******\\",\\n \\"ExpireTime\\": \\"2024-11-21T06:04:25Z\\",\\n \\"Fingerprint\\": \\"02:DF:AB:ED\\",\\n \\"CreateTime\\": \\"2017-08-31T02:49:05Z\\",\\n \\"CommonName\\": \\"example.com\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3******\\",\\n \\"CACertificateName\\": \\"mycacert01\\",\\n \\"ExpireTimeStamp\\": 1732169065000,\\n \\"CACertificateId\\": \\"139a0******\\"\\n}","type":"json"}]', - 'title' => '上传CA证书', - 'description' => '一次只能上传一份CA证书内容。添加成功后,返回该用户的该证书的ID、名称和指纹。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除监听白名单中的IP', + 'summary' => '删除监听白名单中的IP。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UploadServerCertificate' => [ - 'summary' => '上传服务器证书。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveListenerWhiteListItem'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveListenerWhiteListItem', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<RemoveListenerWhiteListItemResponse>\\n\\t\\t<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</RemoveListenerWhiteListItemResponse>","errorExample":""}]', + ], + 'RemoveTags' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '88695', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ - 'name' => 'Tag', - 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '服务器证书部署的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例所属地域的ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)获取地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AliCloudCertificateId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '阿里云签发证书ID。'."\n" - ."\n" - .'>如果使用阿里云签发证书,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => '775****', - ], + 'schema' => ['description' => '负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1l5j******'], ], [ - 'name' => 'AliCloudCertificateName', + 'name' => 'Tags', 'in' => 'query', + 'schema' => ['description' => '需要解绑的Tag列表。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '阿里云签发证书名称。'."\n" - ."\n" - .'您可以通过调用[GetUserCertificateDetail - 获取证书详情](~~465112~~)接口查询证书名称。'."\n" - ."\n" - .'>如果使用阿里云签发证书,该参数必选。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cloudcertificate', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF3******'], + ], + 'description' => '', ], ], - [ - 'name' => 'AliCloudCertificateRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云签发证书所属的地域ID。'."\n" - .'>如果使用阿里云签发证书,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified tag key is invalid.', 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '解绑指定负载均衡实例下的标签', + 'summary' => '解绑指定负载均衡实例下的标签。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveTags'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveTags', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\"\\n}","type":"json"}]', + ], + 'RemoveVServerGroupBackendServers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ServerCertificate', - 'in' => 'query', - 'schema' => [ - 'description' => '需要上传的公钥证书。'."\n" - ."\n" - .'>如果上传非阿里云签发证书,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN CERTIFICATE----- MIIGDTCC****** -----END CERTIFICATE-----', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], + 'parameters' => [ [ - 'name' => 'PrivateKey', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '需要上传的私钥。 '."\n" - ."\n" - .'>如果上传非阿里云签发证书,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN RSA PRIVATE KEY----- MIIEogIB****** -----END RSA PRIVATE KEY-----', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ServerCertificateName', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '要上传的非阿里云签发的服务器证书的名称。长度限制为1~80个字符,允许包含中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)、下划线(_)和星号(*)。'."\n" - ."\n" - .'>如果上传非阿里云签发证书,该参数必选。', - 'type' => 'string', - 'required' => false, - 'example' => 'mycert01', - ], + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。 ', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rto****', - ], + 'schema' => ['description' => '后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '返回数据结构体。', 'type' => 'object', 'properties' => [ - 'AliCloudCertificateName' => [ - 'description' => '阿里云签发证书名称。'."\n", - 'type' => 'string', - 'example' => 'cloudcertificate****', - ], - 'CreateTimeStamp' => [ - 'description' => '证书创建的时间戳。 ', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'ExpireTime' => [ - 'description' => '证书过期时间。', - 'type' => 'string', - 'example' => '2022-10-18T23:59:59Z', - ], - 'CreateTime' => [ - 'description' => '证书创建时间。 ', - 'type' => 'string', - 'example' => '2022-02-21T02:49:05Z', - ], - 'ServerCertificateId' => [ - 'description' => '服务器证书ID。', - 'type' => 'string', - 'example' => '1321932713******_17f1b4b696b_1114720822_-1671******', - ], - 'ExpireTimeStamp' => [ - 'description' => '证书过期的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'RegionId' => [ - 'description' => '服务器证书部署的地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'Fingerprint' => [ - 'description' => '服务器证书的指纹。', - 'type' => 'string', - 'example' => '8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60', - ], - 'ServerCertificateName' => [ - 'description' => '非阿里云签发的服务器证书的名称。', - 'type' => 'string', - 'example' => 'mycert01', - ], - 'CommonName' => [ - 'description' => '域名,对应证书的`Common Name`字段。', - 'type' => 'string', - 'example' => 'example.com', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-atstuj3rt****', - ], - 'AliCloudCertificateId' => [ - 'description' => '阿里云签发证书ID。', - 'type' => 'string', - 'example' => '775****', - ], - 'IsAliCloudCertificate' => [ - 'description' => '是否为阿里云证书服务中的证书。'."\n" - ."\n" - .'- **0**:不是阿里云证书。'."\n" - .'- **1**:是阿里云证书。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SubjectAlternativeNames' => [ + 'VServerGroupId' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6j****'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******'], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'SubjectAlternativeName' => [ - 'description' => '返回证书的备用域名列表。', + 'BackendServer' => [ + 'description' => '后端服务器列表。', 'type' => 'array', 'items' => [ - 'description' => '数组格式,返回证书的备用域名列表,对应证书的`Subject Alternative Name`字段。', - 'type' => 'string', - 'example' => '["example.com","www.example.com"]', + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'eni'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'ServerId' => ['description' => '后端服务器实例ID。', 'type' => 'string', 'example' => 'eni-hhshhs****'], + ], ], ], ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IllegalParam.ServerCertificate', - 'errorMessage' => 'The specified server certificate is illegal.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified ServerCertificate and PrivateKey fail to validate.', - ], - [ - 'errorCode' => 'ServerCertificate.NotSupport', - 'errorMessage' => 'The specified Region Not support ServerCertificate.', - ], - [ - 'errorCode' => 'InvalidParameter.AliCloudCertificateId', - 'errorMessage' => 'The specified AliCloudCertificateId is invalid.', - ], - [ - 'errorCode' => 'OperationDenied.IllegalKeyLength', - 'errorMessage' => 'The operation is not allowed because the key length of certificate is illegal.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], - [ - 'errorCode' => 'EccCertificateNotSupport', - 'errorMessage' => 'The ECC certificate is not support.', - ], - [ - 'errorCode' => 'CertificateFormatInvalid', - 'errorMessage' => 'The certificate format is invalid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], + ['errorCode' => 'LbStatusNotSupport', 'errorMessage' => 'The status of specified loadbalancer does not support..', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AliCloudCertificateName\\": \\"cloudcertificate****\\",\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"ExpireTime\\": \\"2022-10-18T23:59:59Z\\",\\n \\"CreateTime\\": \\"2022-02-21T02:49:05Z\\",\\n \\"ServerCertificateId\\": \\"1321932713******_17f1b4b696b_1114720822_-1671******\\",\\n \\"ExpireTimeStamp\\": 1504147745000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Fingerprint\\": \\"8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60\\",\\n \\"ServerCertificateName\\": \\"mycert01\\",\\n \\"CommonName\\": \\"example.com\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rt****\\",\\n \\"AliCloudCertificateId\\": \\"775****\\",\\n \\"IsAliCloudCertificate\\": 0,\\n \\"SubjectAlternativeNames\\": {\\n \\"SubjectAlternativeName\\": [\\n \\"[\\\\\\"example.com\\\\\\",\\\\\\"www.example.com\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<UploadServerCertificateResponse>\\n <AliCloudCertificateName>cloudcertificate****</AliCloudCertificateName>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <ExpireTime>2022-10-18T23:59:59Z</ExpireTime>\\n <CreateTime>2022-02-21T02:49:05Z</CreateTime>\\n <ServerCertificateId>1321932713******_17f1b4b696b_1114720822_-1671******</ServerCertificateId>\\n <ExpireTimeStamp>1504147745000</ExpireTimeStamp>\\n <RegionId>cn-hangzhou</RegionId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Fingerprint>8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60</Fingerprint>\\n <ServerCertificateName>mycert01</ServerCertificateName>\\n <CommonName>example.com</CommonName>\\n <ResourceGroupId>rg-atstuj3rt****</ResourceGroupId>\\n <AliCloudCertificateId>775****</AliCloudCertificateId>\\n <IsAliCloudCertificate>0</IsAliCloudCertificate>\\n <SubjectAlternativeNames>[\\"example.com\\",\\"www.example.com\\"]</SubjectAlternativeNames>\\n</UploadServerCertificateResponse>","errorExample":""}]', - 'title' => '上传服务器证书', - 'description' => '- 一次只能上传一份服务器证书和对应的私钥。'."\n" - ."\n" - .'- 上传成功后,返回该用户的所有服务器证书列表的指纹信息。', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '从指定的虚拟服务器组中移除后端服务器', + 'summary' => '从指定的虚拟服务器组中移除后端服务器。', + 'description' => '> 如果**BackendServers**中参数的某些后端服务器不存在于这个虚拟服务器组中,会直接忽略,不会报错。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => '## 相关文档'."\n" - .'- [UploadCACertificate](~~34935~~):上传CA证书。'."\n" - .'- [证书要求](~~85968~~)'."\n" - .'- [上传证书失败FAQ](~~372506~~)', - ], - 'CreateDomainExtension' => [ - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2021-10-13T14:14:43.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveVServerGroupBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveVServerGroupBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6j****\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B0******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": 100,\\n \\"Port\\": 80,\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RemoveVServerGroupBackendServersResponse>\\n<VServerGroupId>rsp-cige6j****</VServerGroupId>\\n<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n<BackendServers>\\n <BackendServer>\\n <Type>ecs</Type>\\n <ServerId>vm-230</ServerId>\\n <Port>80</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n</BackendServers>\\n</RemoveVServerGroupBackendServersResponse>","errorExample":""}]', + ], + 'SetAccessControlListAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6earrxxxxxx', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例HTTPS监听的前端端口。'."\n" - ."\n" - .'取值:**1-65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '443', - ], + 'schema' => ['description' => '访问控制策略组的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Domain', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '域名。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '*.example1.com', - ], + 'schema' => ['description' => '访问控制策略组ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43k******'], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'AclName', 'in' => 'query', - 'schema' => [ - 'description' => '与域名对应的证书ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '123157xxxxxxx_166f820xxxxxx_1714763408_709981xxxx', - ], + 'schema' => ['description' => '访问控制策略组名称。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1'], ], ], 'responses' => [ @@ -17418,158 +10981,82 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ListenerPort' => [ - 'description' => '负载均衡实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A6E7EFC9-0938-40CA-877D-9BE******', - ], - 'DomainExtensionId' => [ - 'description' => '创建的扩展域名ID。', - 'type' => 'string', - 'example' => 'de-bp1rp7ta19******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidAction.RegionNotSupport', - 'errorMessage' => 'The region does not support this action.', - ], - [ - 'errorCode' => 'InvalidParameter.ServerCertificateId', - 'errorMessage' => 'The specified ServerCertificateId does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.Domain', - 'errorMessage' => 'The specified Domain exists.', - ], - [ - 'errorCode' => 'DomainExtensionProcessing', - 'errorMessage' => 'A previous configuration of the DomainExtension is pending, please try again later.', - ], - [ - 'errorCode' => 'DomainExtensionNumberOverLimit', - 'errorMessage' => 'The number of domainExtension has reached to the quota limit of this listener.', - ], - [ - 'errorCode' => 'DomainExtensionNotSupport', - 'errorMessage' => 'The instance with shared loadBalancerSpec does not support domainExtension.', - ], - [ - 'errorCode' => 'InvalidParameter.CertificateId', - 'errorMessage' => 'The specified CertificateId contains duplicate certificate EncryptionAlgorithm.', - ], - [ - 'errorCode' => 'InvalidParamSize.CertificateId', - 'errorMessage' => 'The size of parameter CertificateId is invalid.', - ], - [ - 'errorCode' => 'MissingParameter.CertificateId', - 'errorMessage' => 'The parameter CertificateId is required.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'CertificateTypeMismatched', - 'errorMessage' => 'The certificate type does not match.', - ], - [ - 'errorCode' => 'SPEC_NOT_SUPPORT_PARAMETER', - 'errorMessage' => 'The loadbalancer with share spec does not support the parameter.', - ], - [ - 'errorCode' => 'CnCertificateNotSupport', - 'errorMessage' => 'The cn certificate is not support.', - ], - [ - 'errorCode' => 'InvalidParam.CertificateBindingType', - 'errorMessage' => 'The param is invalid.', - ], - [ - 'errorCode' => 'MissingParam.ServerCertificates', - 'errorMessage' => 'The param ServerCertificates is missing.', - ], - [ - 'errorCode' => 'InvalidParamSize.ServerCertificates', - 'errorMessage' => 'The size of param ServerCertificates is invalid.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ListenerPort\\": 80,\\n \\"RequestId\\": \\"A6E7EFC9-0938-40CA-877D-9BE******\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp7ta19******\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateDomainExtensionResponse>\\n\\t<RequestId>A6E7EFC9-0938-40CA-877D-9BEDBD21D357</RequestId>\\n\\t<DomainExtensionId>de-bp1rp7t******</DomainExtensionId>\\n\\t<ListenerPort>443</ListenerPort>\\n</CreateDomainExtensionResponse>\\n\\t","errorExample":""}]', - 'title' => '创建扩展域名', - 'summary' => '创建扩展域名。', - 'description' => '>性能共享型实例的监听不支持扩展域名。', + 'title' => '修改访问控制策略组的名称', + 'summary' => '修改访问控制策略组的名称。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetDomainExtensionAttribute' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-02-23T07:54:30.000Z', 'description' => '响应参数发生变更、错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetAccessControlListAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetAccessControlListAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAccessControlListAttributeResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA49</RequestId>\\n</SetAccessControlListAttributeResponse>","errorExample":""}]', + ], + 'SetAccessLogsDownloadAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => '需要修改的扩展域名ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'de-bp1rp7ta*****', - ], + 'schema' => ['description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。'."\n" + ."\n" + .'一次请求中,绑定的标签列表中最多支持10个标签。', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]'], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '新的证书ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '1231579xxxxxxxx_166f8204689_1714763408_709981xxx', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1b6c719dfa08ex*****'], + ], + [ + 'name' => 'LogsDownloadAttributes', + 'in' => 'query', + 'schema' => ['description' => '访问日志转发规则。组成参数:'."\n" + ."\n" + .'- **LogProject**:日志服务LogProject的名称。'."\n" + .'- **LogStore**:日志服务LogStore的名称。'."\n" + .'- **LoadBalancerId**:传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]'], ], ], 'responses' => [ @@ -17577,123 +11064,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '149A2470-F010-4437-BF68-343******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.DomainExtensionId', - 'errorMessage' => 'The specified DomainExtensionId does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.ServerCertificateId', - 'errorMessage' => 'The specified ServerCertificateId does not exist.', - ], - [ - 'errorCode' => 'DomainExtensionProcessing', - 'errorMessage' => 'A previous configuration of the DomainExtension is pending, please try again later.', - ], - [ - 'errorCode' => 'IncorrectStatus.DomainExtension', - 'errorMessage' => 'The listener to which the domain extension belongs is being configured, please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.CertificateId', - 'errorMessage' => 'The specified CertificateId contains duplicate certificate EncryptionAlgorithm.', - ], - [ - 'errorCode' => 'InvalidParamSize.CertificateId', - 'errorMessage' => 'The size of parameter CertificateId is invalid.', - ], - [ - 'errorCode' => 'MissingParameter.CertificateId', - 'errorMessage' => 'The parameter CertificateId is required.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionNotSupport', - 'errorMessage' => 'The region does not support the parameter: %s.', - ], - [ - 'errorCode' => 'CertificateTypeMismatched', - 'errorMessage' => 'The certificate type does not match.', - ], - [ - 'errorCode' => 'SPEC_NOT_SUPPORT_PARAMETER', - 'errorMessage' => 'The loadbalancer with share spec does not support the parameter.', - ], - [ - 'errorCode' => 'CnCertificateNotSupport', - 'errorMessage' => 'The cn certificate is not support.', - ], - [ - 'errorCode' => 'InvalidParam.CertificateBindingType', - 'errorMessage' => 'The param is invalid.', - ], - [ - 'errorCode' => 'MissingParam.ServerCertificates', - 'errorMessage' => 'The param ServerCertificates is missing.', - ], - [ - 'errorCode' => 'InvalidParamSize.ServerCertificates', - 'errorMessage' => 'The size of param ServerCertificates is invalid.', + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The AccessLogDownloadAttribute already exists.', 'description' => ''], + ['errorCode' => 'InvalidProject.NotExist', 'errorMessage' => 'The specified project does not exist.', 'description' => ''], + ['errorCode' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'description' => '您没有权限创建服务关联角色,角色名:AliyunServiceRoleForSlbLogDelivery,服务名:logdelivery.slb.aliyuncs.com。请确保已授予当前用户ram:CreateServiceLinkedRole权限。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改访问日志的下载配置', + 'summary' => '为传统型负载均衡实例添加访问日志转发规则。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetAccessLogsDownloadAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"149A2470-F010-4437-BF68-343******\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<SetDomainExtensionAttributeResponse>\\n <RequestId>149A2470-F010-4437-BF68-xxxxx</RequestId>\\n</SetDomainExtensionAttributeResponse>\\n","errorExample":""}]', - 'title' => '修改扩展域名的证书', - 'summary' => '修改扩展域名的证书。', - 'description' => '>性能共享型实例的监听不支持扩展域名。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9C****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAccessLogsDownloadAttributeResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9C****</RequestId>\\n</SetAccessLogsDownloadAttributeResponse>","errorExample":""}]', ], - 'DeleteDomainExtension' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetBackendServers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的所属地域。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '要删除的扩展域名ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'de-bp1rp7ta1****', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3a******'], + ], + [ + 'name' => 'BackendServers', + 'in' => 'query', + 'schema' => ['description' => '要添加的后端服务器列表,包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]'], ], ], 'responses' => [ @@ -17701,80 +11176,107 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '149A2470-F010-4437-BF68-343******', + 'LoadBalancerId' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'example' => 'lb-bp1qjwo61pqz3a******'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7F******'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => ' 后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'eni'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'string', 'example' => '100'], + 'Description' => ['description' => '后端服务器描述。', 'type' => 'string', 'example' => 'The description of the backend server.'], + 'ServerId' => ['description' => '后端服务器ID。', 'type' => 'string', 'example' => 'eni-hhshhs****'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.DomainExtensionId', - 'errorMessage' => 'The specified DomainExtensionId does not exist.', - ], - [ - 'errorCode' => 'DomainExtensionProcessing', - 'errorMessage' => 'A previous configuration of the DomainExtension is pending, please try again later.', - ], - [ - 'errorCode' => 'DomainExtensionRelatedRuleExist', - 'errorMessage' => 'The DomainExtension is related with rules.', - ], - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"LoadBalancerId\\": \\"lb-bp1qjwo61pqz3a******\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7F******\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"eni\\",\\n \\"Weight\\": \\"100\\",\\n \\"Description\\": \\"The description of the backend server.\\",\\n \\"ServerId\\": \\"eni-hhshhs****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<SetBackendServersResponse>\\n <LoadBalancerId>lb-bp1qjwo61pqz3a******</LoadBalancerId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <BackendServers>\\n <Type>eni</Type>\\n <Weight>100</Weight>\\n <Description>后端服务器</Description>\\n <ServerId>eni-hhshhs****</ServerId>\\n </BackendServers>\\n</SetBackendServersResponse>","errorExample":""}]', + 'title' => '设置后端服务器权重', + 'summary' => '设置后端服务器权重。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'ecs:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"149A2470-F010-4437-BF68-343******\\"\\n}","type":"json"}]', - 'title' => '删除扩展域名', - 'summary' => '删除扩展域名。', ], - 'DescribeDomainExtensionAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetCACertificateName' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'CA证书的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-east-hangzhou-01'], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '扩展域名ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'de-bp1r******', - ], + 'schema' => ['description' => 'CA证书ID。', 'type' => 'string', 'required' => true, 'example' => '139a0******-cn-east-hangzhou-01'], + ], + [ + 'name' => 'CACertificateName', + 'in' => 'query', + 'schema' => ['description' => 'CA证书名称。'."\n" + ."\n" + .'名称长度为1~80个英文或中文字符,必须以大小字母或中文开头,可包含数字,英文句号(.),下划线(_)和短横线(-)。', 'type' => 'string', 'required' => true, 'example' => 'mycacert02'], ], ], 'responses' => [ @@ -17782,123 +11284,68 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Domain' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '48C1B671-C6DB-4DDE-9B30-1055******', - ], - 'LoadBalancerId' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1o95i6*****', - ], - 'ListenerPort' => [ - 'description' => '负载均衡实例HTTPS监听的前端端口,取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'ServerCertificateId' => [ - 'description' => '域名使用的服务器证书ID。', - 'type' => 'string', - 'example' => '231579085529123_166f82******_1714763408_709981430', - ], - 'DomainExtensionId' => [ - 'description' => '扩展域名ID。', - 'type' => 'string', - 'example' => 'de-bp1rp******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.DomainExtensionId', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParameter.DomainExtensionId', - 'errorMessage' => 'The param DomainExtensionId is missing', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Domain\\": \\"www.example.com\\",\\n \\"RequestId\\": \\"48C1B671-C6DB-4DDE-9B30-1055******\\",\\n \\"LoadBalancerId\\": \\"lb-bp1o95i6*****\\",\\n \\"ListenerPort\\": 443,\\n \\"ServerCertificateId\\": \\"231579085529123_166f82******_1714763408_709981430\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp******\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainExtensionAttributeResponse>\\n<ListenerPort>443</ListenerPort>\\n<DomainExtensionId>de-bp1rp7ta191dv</DomainExtensionId>\\n<RequestId>48C1B671-C6DB-4DDE-9B30-10557E36CDE0</RequestId>\\n<ServerCertificateId>231579085529123_166f82******_1714763408_709981430</ServerCertificateId>\\n<LoadBalancerId>lb-bp1o94dp5i6*****earr9g6d1l</LoadBalancerId>\\n<Domain>www.example.com</Domain>\\n</DescribeDomainExtensionAttributeResponse>","errorExample":""}]', - 'title' => '查询已添加的扩展域名属性', - 'summary' => '查询已添加的扩展域名属性。', + 'errorCodes' => [], + 'title' => '设置CA证书名称', + 'summary' => '设置CA证书名称。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainExtensions' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetCACertificateName'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetCACertificateName', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<SetCACertificateNameResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FE7BA984</RequestId>\\n</SetCACertificateNameResponse>"}]', + ], + 'SetDomainExtensionAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c08ex****', - ], - ], - [ - 'name' => 'ListenerPort', + 'name' => 'DomainExtensionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例HTTPS监听的前端端口,取值:**1-65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '443', - ], + 'schema' => ['description' => '需要修改的扩展域名ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'de-bp1rp7ta*****'], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '扩展域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'de-bp1rp7ta1****', - ], + 'schema' => ['description' => '新的证书ID。', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1231579xxxxxxxx_166f8204689_1714763408_709981xxx'], ], ], 'responses' => [ @@ -17906,207 +11353,106 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '48C1B671-C6DB-4DDE-9B30-1055*****', - ], - 'DomainExtensions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DomainExtension' => [ - 'description' => '扩展域名列表。', - 'type' => 'array', - 'items' => [ - 'description' => '扩展域名列表。', - 'type' => 'object', - 'properties' => [ - 'ServerCertificateId' => [ - 'description' => '域名使用的证书ID。', - 'type' => 'string', - 'example' => '12315790****3_166f8****9_1714****08_70998****', - ], - 'Domain' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'DomainExtensionId' => [ - 'description' => '扩展域名ID。', - 'type' => 'string', - 'example' => 'de-bp1rp7ta1****', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '149A2470-F010-4437-BF68-343******'], ], + 'description' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"48C1B671-C6DB-4DDE-9B30-1055*****\\",\\n \\"DomainExtensions\\": {\\n \\"DomainExtension\\": [\\n {\\n \\"ServerCertificateId\\": \\"12315790****3_166f8****9_1714****08_70998****\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp7ta1****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>48C1B671-C6DB-4DDE-9B30-10557E36CDE0</RequestId>\\n<DomainExtensions>\\n <DomainExtension>\\n <DomainExtensionId>de-bp1rp7ta1****</DomainExtensionId>\\n <ServerCertificateId>1231579085529123_166f8204689_1714763408_70998****</ServerCertificateId>\\n <Domain>www.example.com</Domain>\\n </DomainExtension>\\n</DomainExtensions>","errorExample":""}]', - 'title' => '查询已添加的扩展域名', - 'summary' => '查询已添加的扩展域名。', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.DomainExtensionId', 'errorMessage' => 'The specified DomainExtensionId does not exist.', 'description' => '指定的扩展域名不存在。'], + ['errorCode' => 'InvalidParameter.ServerCertificateId', 'errorMessage' => 'The specified ServerCertificateId does not exist.', 'description' => '指定的服务证书不存在。'], + ['errorCode' => 'DomainExtensionProcessing', 'errorMessage' => 'A previous configuration of the DomainExtension is pending, please try again later.', 'description' => '指定的扩展域名正在变配中, 请稍后重试。'], + ['errorCode' => 'IncorrectStatus.DomainExtension', 'errorMessage' => 'The listener to which the domain extension belongs is being configured, please try again later.', 'description' => '指定扩展域名所属监听正在变配中, 请稍后重试。'], + ['errorCode' => 'InvalidParameter.CertificateId', 'errorMessage' => 'The specified CertificateId contains duplicate certificate EncryptionAlgorithm.', 'description' => '指定的证书包含重复的证书加密算法。'], + ['errorCode' => 'InvalidParamSize.CertificateId', 'errorMessage' => 'The size of parameter CertificateId is invalid.', 'description' => '指定的CertificateId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParameter.CertificateId', 'errorMessage' => 'The parameter CertificateId is required.', 'description' => '参数CertificateId缺失。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'CertificateTypeMismatched', 'errorMessage' => 'The certificate type does not match.', 'description' => '指定证书的类型不匹配。'], + ['errorCode' => 'SPEC_NOT_SUPPORT_PARAMETER', 'errorMessage' => 'The loadbalancer with share spec does not support the parameter.', 'description' => ''], + ['errorCode' => 'CnCertificateNotSupport', 'errorMessage' => 'The cn certificate is not support.', 'description' => '不支持国密证书。'], + ['errorCode' => 'InvalidParam.CertificateBindingType', 'errorMessage' => 'The param is invalid.', 'description' => '指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'The param ServerCertificates is missing.', 'description' => '参数ServerCertificates缺失。'], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => '指定的ServerCertificates长度无效。请检查参数约束,并在修改后重试。'], + ], + ], + 'title' => '修改扩展域名的证书', + 'summary' => '修改扩展域名的证书。', + 'description' => '>性能共享型实例的监听不支持扩展域名。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateTLSCipherPolicy' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetDomainExtensionAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetDomainExtensionAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"149A2470-F010-4437-BF68-343******\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<SetDomainExtensionAttributeResponse>\\n <RequestId>149A2470-F010-4437-BF68-xxxxx</RequestId>\\n</SetDomainExtensionAttributeResponse>\\n","errorExample":""}]', + ], + 'SetListenerAccessControlStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例所在的地域ID。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Name', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'TLS 策略名称。长度为 2~200 个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'TLSPolicy-test', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-8vb86hxixo8lvsja8****'], ], [ - 'name' => 'Ciphers', + 'name' => 'ListenerPort', 'in' => 'query', - '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" - ."\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**'."\n", - '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" - ."\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**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECDHE-ECDSA-AES128-SHA', - ], - 'required' => true, - 'example' => 'AES256-SHA256', - 'maxItems' => 30, - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1-65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'TLSVersions', + 'name' => 'AccessControlStatus', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '支持的TLS协议版本。取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', - 'type' => 'array', - 'items' => [ - 'description' => '支持的TLS协议版本。取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLSv1.0', - ], - 'required' => true, - 'example' => 'TLSv1.0', - 'maxItems' => 5, - ], + 'schema' => ['description' => '是否开启访问控制。取值:'."\n" + ."\n" + .'- **open_white_list**:开启白名单访问控制。'."\n" + ."\n" + .'- **close**:关闭白名单访问控制。'."\n" + ."\n" + .'> 如果开启访问控制后,没有设置白名单则无法访问负载均衡服务。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'open_white_list'], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + .'> 相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], ], 'responses' => [ @@ -18114,106 +11460,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TLSCipherPolicyId' => [ - 'description' => '策略ID。', - 'type' => 'string', - 'example' => 'tls-bp14bb1e7dll4f****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.Name', - 'errorMessage' => 'The param Name is missing.', - ], - [ - 'errorCode' => 'MissingParam.TlsVersions', - 'errorMessage' => 'The param TlsVersions is missing.', - ], - [ - 'errorCode' => 'MissingParam.Ciphers', - 'errorMessage' => 'The param Ciphers is missing.', - ], - [ - 'errorCode' => 'ParamDuplicateError.TlsVersions', - 'errorMessage' => 'The param TlsVersions is duplicate in request.', - ], - [ - 'errorCode' => 'ParamDuplicateError.Ciphers', - 'errorMessage' => 'The param Ciphers is duplicate in request.', - ], - [ - 'errorCode' => 'TLSPolicyNoSupportVersion', - 'errorMessage' => 'The specified TLS version is not supported.', - ], - [ - 'errorCode' => 'TLSPolicyNoSupportCipher', - 'errorMessage' => 'The specified TLS cipher is not supported.', - ], - [ - 'errorCode' => 'TLSCipherPolicyOverLimit', - 'errorMessage' => 'The TLSCipherPolicy is over the limit.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer of ipv6 does not support such action.', 'description' => '操作失败,原因是Ipv6类型负载均衡实例不支持此操作。'], + ['errorCode' => 'OperationUnsupported.SetAccessControl', 'errorMessage' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', 'description' => '操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TLSCipherPolicyId\\": \\"tls-bp14bb1e7dll4f****\\",\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateTLSCipherPolicyResponse>\\n <TLSCipherPolicyId>tls-bp14bb1e7dll4f****</TLSCipherPolicyId>\\n <RequestId>D7A8875F-373A-5F48-8484-25B07A61F2AF</RequestId>\\n</CreateTLSCipherPolicyResponse>","errorExample":""}]', - 'title' => '创建TLS策略', - 'summary' => '创建TLS策略。', - 'description' => '该功能默认不开放,建议您使用ALB或NLB。特殊情况请联系销售或提交工单。', + 'title' => '是否开启指定监听的白名单访问控制', + 'summary' => '是否开启指定监听的白名单访问控制。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteTLSCipherPolicy' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetListenerAccessControlStatus'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetListenerAccessControlStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetListenerAccessControlStatusResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetListenerAccessControlStatusResponse>","errorExample":""}]', + ], + 'SetLoadBalancerDeleteProtection' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例所在的地域ID。'."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~2401682~~) 接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TLSCipherPolicyId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'TLS策略实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tls-bp1lp2076qx4ebridp******', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e*****'], + ], + [ + 'name' => 'DeleteProtection', + 'in' => 'query', + 'schema' => ['description' => '负载均衡删除保护状态。取值:'."\n" + ."\n" + .'- **on**:开启删除保护。'."\n" + .'- **off**:关闭删除保护。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'off'], ], ], 'responses' => [ @@ -18221,215 +11537,340 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '791D8B68-AE0F-4174-AF54-088C8B3C5D54'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.TLSCipherPolicyId', - 'errorMessage' => 'The param TLSCipherPolicyId is missing.', - ], - [ - 'errorCode' => 'TLSPolicyConfiguring', - 'errorMessage' => 'The specified TLS cipher policy is configuring.', - ], - [ - 'errorCode' => 'TLSPolicyBeingUsed', - 'errorMessage' => 'The specified TLS cipher policy is being used.', - ], - [ - 'errorCode' => 'InvalidTLSPolicyId.NotExist', - 'errorMessage' => 'The specified TLS cipher policy does not exist.', - ], - [ - 'errorCode' => 'TLSPolicyRelated', - 'errorMessage' => 'The specified TLS cipher policy is related with listeners.', + ['errorCode' => 'OperationUnsupported.DeleteProtectionForPrePayInstance', 'errorMessage' => 'The operation failed because prepay instance does not support delete protection.', 'description' => '操作失败,预付费负载均衡实例不支持开启删除保护。'], + ], + ], + 'title' => '设置实例删除保护状态', + 'summary' => '设置实例删除保护状态。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerDeleteProtection'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerDeleteProtection', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteTLSCipherPolicyResponse>\\r\\n<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\r\\n</DeleteTLSCipherPolicyResponse>","errorExample":""}]', - 'title' => '删除TLS策略', - 'summary' => '删除TLS策略。', - 'description' => '该功能默认不开放,建议您使用ALB或NLB。特殊情况请联系销售或提交工单。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"791D8B68-AE0F-4174-AF54-088C8B3C5D54\\"\\n}","type":"json"}]', ], - 'SetTLSCipherPolicyAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetLoadBalancerHTTPListenerAttribute' => [ + 'summary' => '修改HTTP监听的配置。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88668', + 'abilityTreeNodes' => ['FEATUREslbPXBZ65'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~27585~~)列表或通过调用[DescribeRegions](~~27584~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TLSCipherPolicyId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'TLS策略ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tls-bp1lp2076qx4e******bridp', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3ah*****'], ], [ - 'name' => 'Name', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'TLS策略名称。长度为2~200个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tls-policy*****-test', - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'TLSVersions', + 'name' => 'Bandwidth', 'in' => 'query', - '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**。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLSv1.0', - ], - 'required' => true, - 'example' => 'TLSv1.0', - 'maxItems' => 5, - ], + 'schema' => ['description' => '监听的带宽峰值。单位:Mbps。取值:'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" + ."\n" + .'<props="china">- **1**~**5120**(Mbps):对于按带宽计费的公网负载均衡实例,可以为每个监听设置带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。详情参见[共享实例带宽](~~85930~~)。</props>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1'], ], [ - 'name' => 'Ciphers', + 'name' => 'XForwardedFor', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '支持的加密套件,具体依赖TLSVersions的取值。'."\n" - ."\n" - .'Cipher只要被任何一个传入的TLSVersions支持即可,例如选择了TLSv1.3,那么Cipher列表必须包含TLSv1.3支持的Cipher。'."\n" - ."\n" - .'TLSv1.0和TLSv1.1 支持:'."\n" - ."\n" - .'- ECDHE-ECDSA-AES128-SHA'."\n" - .'- ECDHE-ECDSA-AES256-SHA'."\n" - .'- ECDHE-RSA-AES128-SHA'."\n" - .'- ECDHE-RSA-AES256-SHA'."\n" - .'- AES128-SHA AES256-SHA'."\n" - .'- DES-CBC3-SHA'."\n" - ."\n" - .'TLSv1.2支持:'."\n" - ."\n" - .'- ECDHE-ECDSA-AES128-SHA'."\n" - .'- ECDHE-ECDSA-AES256-SHA'."\n" - .'- ECDHE-RSA-AES128-SHA'."\n" - .'- ECDHE-RSA-AES256-SHA'."\n" - .'- AES128-SHA 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 AES256-SHA256'."\n" - ."\n" - .'TLSv1.3支持:'."\n" - ."\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' => '支持的加密套件,具体依赖TLSVersions的取值。'."\n" - ."\n" - .'Cipher只要被任何一个传入的TLSVersions支持即可,例如选择了TLSv1.3,那么Cipher列表必须包含TLSv1.3支持的Cipher。'."\n" - ."\n" - .'TLSv1.0和TLSv1.1 支持:'."\n" - ."\n" - .'- ECDHE-ECDSA-AES128-SHA'."\n" - .'- ECDHE-ECDSA-AES256-SHA'."\n" - .'- ECDHE-RSA-AES128-SHA'."\n" - .'- ECDHE-RSA-AES256-SHA'."\n" - .'- AES128-SHA AES256-SHA'."\n" - .'- DES-CBC3-SHA'."\n" - ."\n" - .'TLSv1.2支持:'."\n" - ."\n" - .'- ECDHE-ECDSA-AES128-SHA'."\n" - .'- ECDHE-ECDSA-AES256-SHA'."\n" - .'- ECDHE-RSA-AES128-SHA'."\n" - .'- ECDHE-RSA-AES256-SHA'."\n" - .'- AES128-SHA 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 AES256-SHA256'."\n" - ."\n" - .'TLSv1.3支持:'."\n" - ."\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, - 'example' => 'DES-CBC3-SHA', - 'maxItems' => 30, - ], + 'schema' => ['description' => '是否通过`X-Forwarded-For`头字段获取客户端请求的真实IP。取值:'."\n" + .'- **on**(默认值):是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], + ], + [ + 'name' => 'StickySession', + 'in' => 'query', + 'schema' => ['description' => '是否开启会话保持。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'StickySessionType', + 'in' => 'query', + 'schema' => ['description' => 'Cookie的处理方式。取值:'."\n" + ."\n" + .'- **insert**:植入Cookie。'."\n" + ."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'- **server**:重写Cookie。'."\n" + .' '."\n" + .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + .' '."\n" + .'> 当**StickySession**的值为**on**时,必须指定该参数。', 'type' => 'string', 'required' => false, 'example' => 'insert'], + ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'Cookie超时时间。'."\n" + ."\n" + .'取值:**1**~**86400**秒。'."\n" + ."\n" + .'>当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500'], + ], + [ + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元符号($)开头。'."\n" + .' '."\n" + ."\n" + .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'testCookie'], + ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'HealthCheckMethod', + 'in' => 'query', + 'schema' => ['description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" + ."\n" + .'> **HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => 'get'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的域名,取值:'."\n" + .' '."\n" + .'* **$_ip**: 后端服务器的私网IP。当指定了**$_ip**或**HealthCheckDomain**未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.16'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'长度限制为1~80字符,只能使用字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => '/test/index.html'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。在**HealthCheck**值为**on**时才会有效。'."\n" + ."\n" + .'取值:**1**~**300**秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => '健康检查的时间间隔。'."\n" + ."\n" + .'取值:**1**~**50**秒。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => '健康检查使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。'."\n" + ."\n" + .'> 当**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" + ."\n" + .'取值:**http_2xx**、**http_3xx**、**http_4xx**或**http_5xx**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。'."\n", 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx'], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => '是否使用虚拟服务器组。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j*****'], + ], + [ + 'name' => 'XForwardedFor_SLBIP', + 'in' => 'query', + 'schema' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'XForwardedFor_SLBID', + 'in' => 'query', + 'schema' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'XForwardedFor_proto', + 'in' => 'query', + 'schema' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => ['description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jw******'], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => ['description' => '访问控制类型:'."\n" + ."\n" + .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + .' '."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'>当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => '指定连接空闲超时时间,取值范围为**1~60**秒,默认值为**15**秒。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '12'], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => '指定请求超时时间,取值范围为**1~180**秒,默认值为**60**秒。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '3'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '设置监听的描述信息。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'XForwardedFor_SLBPORT', + 'in' => 'query', + 'schema' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'XForwardedFor_ClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false'], ], ], 'responses' => [ @@ -18437,170 +11878,430 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => '异步任务ID。', - 'type' => 'string', - 'example' => '72dcd26b-f12d-4c27-b3af****-18f6aed5', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876*******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.Name', - 'errorMessage' => 'The param Name is missing.', - ], - [ - 'errorCode' => 'MissingParam.TlsVersions', - 'errorMessage' => 'The param TlsVersions is missing.', - ], - [ - 'errorCode' => 'MissingParam.Ciphers', - 'errorMessage' => 'The param Ciphers is missing.', - ], - [ - 'errorCode' => 'ParamDuplicateError.TlsVersions', - 'errorMessage' => 'The param TlsVersions is duplicate in request.', - ], - [ - 'errorCode' => 'ParamDuplicateError.Ciphers', - 'errorMessage' => 'The param Ciphers is duplicate in request.', - ], - [ - 'errorCode' => 'TLSPolicyNoSupportVersion', - 'errorMessage' => 'The specified TLS version is not supported.', - ], - [ - 'errorCode' => 'TLSPolicyNoSupportCipher', - 'errorMessage' => 'The specified TLS cipher is not supported.', - ], - [ - 'errorCode' => 'MissingParam.TLSCipherPolicyId', - 'errorMessage' => 'The param TLSCipherPolicyId is missing.', - ], - [ - 'errorCode' => 'TLSPolicyConfiguring', - 'errorMessage' => 'The specified TLS cipher policy is configuring.', - ], - [ - 'errorCode' => 'TLSPolicyBeingUsed', - 'errorMessage' => 'The specified TLS cipher policy is being used.', - ], - [ - 'errorCode' => 'InvalidTLSPolicyId.NotExist', - 'errorMessage' => 'The specified TLS cipher policy does not exist.', - ], - [ - 'errorCode' => 'TLSPolicyUnchanged', - 'errorMessage' => 'The specified TLS cipher policy is unchanged.', - ], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied. The HTTP listener does not support this action.', 'description' => '操作被拒绝,原因是HTTP 类型监听不支持此操作。'], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => '指定的IdleTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => '指定的RequestTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => 'Ipv6负载均衡实例不支持X-Forward-For。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'OperationFailed.ServerGroupInUse', 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', 'description' => '操作失败,原因是当前监听不支持关闭服务器组。'], + ['errorCode' => 'InvalidParameter.VServerGroupId', 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'description' => 'HTTP或HTTPS监听不支持挂载主备服务器组。'], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => '参数HealthCheckDomain缺失。'], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => '指定的HealthCheckHttpVersion无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'InvalidParameter.ForwardCode', 'errorMessage' => 'The specified ForwardCode is invalid.', 'description' => '指定的ForwardCode无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"72dcd26b-f12d-4c27-b3af****-18f6aed5\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876*******\\"\\n}","errorExample":""},{"type":"xml","example":"<SetTLSCipherPolicyAttributeReaponse>\\n<TaskId>72dcd26b-f12d-4c27-b3af****-18f6aed5</TaskId>\\n<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetTLSCipherPolicyAttributeReaponse>","errorExample":""}]', - 'title' => '设置TLS策略', - 'summary' => '设置TLS策略。', - 'description' => '该功能默认不开放,建议您使用ALB或NLB。特殊情况请联系销售或提交工单。', + 'title' => '修改HTTP监听的配置', + 'description' => '### 前提条件'."\n" + ."\n" + .'- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + .'- 您已经创建HTTP监听,具体操作,请参见[CreateLoadBalancerHTTPListener](~~27592~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListTLSCipherPolicies' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<SetLoadBalancerHTTPListenerAttributeResponse>\\n\\t<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerHTTPListenerAttributeResponse>","errorExample":""}]', + ], + 'SetLoadBalancerHTTPSListenerAttribute' => [ + 'summary' => '修改HTTPS监听的配置', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88669', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'TLSCipherPolicyId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'TLS策略ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'tls-bp17elso1h323r****', - ], + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-sjhfdji****'], ], [ - 'name' => 'Name', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'TLS策略名称。长度为2~200个英文或中文字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLSPolicy-test****', - ], + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], ], [ - 'name' => 'IncludeListener', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => '是否返回关联的监听信息。取值:'."\n" - ."\n" - .'- **true**:返回。'."\n" - .'- **false**(默认):不返回。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => '监听的带宽峰值。单位:Mbps。'."\n" + ."\n" + .'取值:'."\n" + ."\n" + .'- **-1**:不限制带宽峰值。'."\n" + ."\n" + .'<props="china"> '."\n" + ."\n" + .'- **1**~**5120**:监听的带宽峰值,所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n" + .'</props>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1'], ], [ - 'name' => 'NextToken', + 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', - 'type' => 'string', - 'required' => false, - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], + 'schema' => ['description' => '是否开启通过`X-Forwarded-For`头字段获取来访者真实IP。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], ], [ - 'name' => 'MaxItems', + 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => '本次读取的最大TLS策略数,取值:**1**~**100**。设置为空时,默认值为**20**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的-概率也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], + ], + [ + 'name' => 'StickySession', + 'in' => 'query', + 'schema' => ['description' => '是否开启会话保持。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'StickySessionType', + 'in' => 'query', + 'schema' => ['description' => 'cookie的处理方式。取值:'."\n" + ."\n" + .'* **insert**:植入Cookie。'."\n" + ."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP/HTTPS响应报文中插入SERVERID),下次客户端携带此Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器上。'."\n" + ."\n" + .'* **server**:重写Cookie。'."\n" + ."\n" + .' 负载均衡发现用户自定义了Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'> 当**StickySession**的值为**on**时,必须指定该参数。', 'type' => 'string', 'required' => false, 'example' => 'insert'], + ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'Cookie超时时间。'."\n" + ."\n" + .'取值:**1**~**86400**(秒)。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时,该参数必选。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500'], + ], + [ + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,不能以$开头。'."\n" + ."\n" + .'>当**StickySession**为**on**且**StickySessionType**为**server**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'testCookie'], + ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'HealthCheckMethod', + 'in' => 'query', + 'schema' => ['description' => '监听HTTP类型健康检查的健康检查方法。取值:**head**或**get**。'."\n" + ."\n" + .'> **HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => 'get'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的域名,取值:'."\n" + ."\n" + .'* **$_ip**: 后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.16'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'长度限制为1~80字符,支持英文字母、数字、短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)字符。URI不能只包含正斜线(/),但必须以正斜线(/)开头。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => '/test/index.html'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值:**2**~**10**。'."\n" + ."\n" + .'>在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值:**1**~**300**。'."\n" + ."\n\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值:**1**~**50**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => '健康检查使用的端口。'."\n" + ."\n" + .'取值:**1**~**65535**。'."\n" + ."\n" + .'> 当**HealthCheck**值为**on**时才会有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" + ."\n" + .'取值:**http_2xx**或**http_3xx**或**http_4xx**或**http_5xx**。'."\n" + ."\n" + .'> 在**HealthCheck**值为**on**时才会有效。', 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx'], + ], + [ + 'name' => 'ServerCertificateId', + 'in' => 'query', + 'schema' => ['description' => '服务器证书的ID。', 'type' => 'string', 'required' => false, 'example' => 'idkp-123-cn-te****'], + ], + [ + 'name' => 'CACertificateId', + 'in' => 'query', + 'schema' => ['description' => 'CA证书ID。'."\n" + ."\n" + .'- 若既上传CA证书又上传服务器证书,即采用双向认证。'."\n" + ."\n" + .'- 若用户只上传服务器证书,即为单向认证。', 'type' => 'string', 'required' => false, 'example' => '139a00604ad-cn-east-****'], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => '是否使用服务器组。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j****'], + ], + [ + 'name' => 'XForwardedFor_SLBIP', + 'in' => 'query', + 'schema' => ['description' => '是否通过`SLB-IP`头字段获取客户端请求的VIP(Virtual IP address)。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'XForwardedFor_SLBID', + 'in' => 'query', + 'schema' => ['description' => '是否通过`SLB-ID`头字段获取负载均衡实例ID。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'XForwardedFor_proto', + 'in' => 'query', + 'schema' => ['description' => '是否通过`X-Forwarded-Proto`头字段获取负载均衡实例的监听协议。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => ['description' => '是否开启`Gzip`压缩,对特定文件类型进行压缩。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'acl-a2do9e413e0spzasx****'], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => ['description' => '访问控制类型:'."\n" + ."\n" + .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + .' '."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**: 来自所选访问控制策略组中设置的IP地址或地址段的所有请求都不会转发,黑名单适用于只限制某些特定IP访问的场景。'."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'>当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => '指定连接空闲超时时间,取值范围为**1~60**秒,默认值为**15**秒。'."\n" + ."\n" + .'在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '23'], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => '指定请求超时时间,取值范围为**1~180**秒,默认值为**60**秒。'."\n" + ."\n" + .'在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,给客户端返回HTTP 504错误码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '223'], + ], + [ + 'name' => 'EnableHttp2', + 'in' => 'query', + 'schema' => ['description' => '是否开启`HTTP 2.0`特性。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n", 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'TLSCipherPolicy', + 'in' => 'query', + 'schema' => ['description' => '安全策略包含HTTPS可选的TLS协议版本和配套的加密算法套件。'."\n" + ."\n" + .'- **tls_cipher_policy_1_0**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.0、TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_1**:'."\n" + ."\n" + .' 支持TLS版本: TLSv1.1和TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_2**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件: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-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA、AES128-SHA、AES256-SHA和DES-CBC3-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_2_strict**'."\n" + ."\n" + .' 支持TLS版本:TLSv1.2。'."\n" + ."\n" + .' 支持加密算法套件:ECDHE-RSA-AES128-GCM-SHA256、ECDHE-RSA-AES256-GCM-SHA384、ECDHE-RSA-AES128-SHA256、ECDHE-RSA-AES256-SHA384、ECDHE-RSA-AES128-SHA和ECDHE-RSA-AES256-SHA。'."\n" + ."\n" + .'- **tls_cipher_policy_1_2_strict_with_1_3**'."\n" + .' '."\n" + .' 支持TLS版本:TLSv1.2及TLSv1.3。'."\n" + .' '."\n" + .' 支持的加密算法套件:TLS_AES_128_GCM_SHA256、TLS_AES_256_GCM_SHA384、TLS_CHACHA20_POLY1305_SHA256、TLS_AES_128_CCM_SHA256、TLS_AES_128_CCM_8_SHA256、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、ECDHE-ECDSA-AES128-SHA、ECDHE-ECDSA-AES256-SHA、ECDHE-RSA-AES128-SHA、ECDHE-RSA-AES256-SHA。 ', 'type' => 'string', 'required' => false, 'example' => 'tls_cipher_policy_1_2'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'https_80'], + ], + [ + 'name' => 'XForwardedFor_SLBPORT', + 'in' => 'query', + 'schema' => ['description' => '是否通过`XForwardedFor_SLBPORT`头字段获取负载均衡实例的监听端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'XForwardedFor_ClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => '是否通过`XForwardedFor_ClientSrcPort`头字段获取访问负载均衡实例客户端的端口。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false'], ], ], 'responses' => [ @@ -18608,267 +12309,127 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'TotalCount' => [ - 'description' => '本次请求条件下的TLS策略总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'IsTruncated' => [ - 'description' => '是否结束。取值:'."\n" - ."\n" - .'- **true**:表示当前页是最后一页。'."\n" - ."\n" - .'- **false**:表示还有下一页。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'TLSCipherPolicies' => [ - 'description' => 'TLS策略列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'TLS策略实例状态。取值:'."\n" - ."\n" - .'- **configuring**:配置中。'."\n" - ."\n" - .'- **normal**: 正常。', - 'type' => 'string', - 'example' => 'normal', - ], - 'InstanceId' => [ - 'description' => 'TLS策略实例ID。', - 'type' => 'string', - 'example' => 'tls-bp17elso1h323r****', - ], - 'Name' => [ - 'description' => 'TLS策略名称。', - 'type' => 'string', - 'example' => 'TLSPolicy-test****', - ], - 'CreateTime' => [ - 'description' => '创建时间的时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1608273800000', - ], - 'RelateListeners' => [ - 'description' => '关联的监听。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => '监听端口。取值:**1**~**65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => '监听协议。取值:'."\n" - .'- **TCP** '."\n" - .'- **UDP**'."\n" - .'- **HTTP**'."\n" - .'- **HTTPS**', - 'type' => 'string', - 'example' => 'HTTPS', - ], - 'LoadBalancerId' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa08ex****', - ], - ], - ], - ], - 'TLSVersions' => [ - 'type' => 'array', - 'items' => [ - 'description' => '支持的TLS协议版本。', - 'type' => 'string', - 'example' => 'TLSv1.0', - ], - ], - 'Ciphers' => [ - 'type' => 'array', - 'items' => [ - 'description' => '支持的加密套件,具体依赖TLSVersions的取值。'."\n" - ."\n" - .'TLSv1.0和TLSv1.1 支持: '."\n" - ."\n" - .'- ECDHE-ECDSA-AES128-SHA '."\n" - .'- ECDHE-ECDSA-AES256-SHA'."\n" - .'- ECDHE-RSA-AES128-SHA '."\n" - .'- ECDHE-RSA-AES256-SHA '."\n" - .'- AES128-SHA AES256-SHA '."\n" - .'- DES-CBC3-SHA'."\n" - ."\n" - .'TLSv1.2支持:'."\n" - ."\n" - .'- ECDHE-ECDSA-AES128-SHA '."\n" - .'- ECDHE-ECDSA-AES256-SHA '."\n" - .'- ECDHE-RSA-AES128-SHA '."\n" - .'- ECDHE-RSA-AES256-SHA '."\n" - .'- AES128-SHA 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 AES256-SHA256'."\n" - ."\n" - .'TLSv1.3支持: '."\n" - ."\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', - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'QueryTokenInvalid', - 'errorMessage' => 'The specified token is invalid.', - ], - [ - 'errorCode' => 'QueryTokenNotExist', - 'errorMessage' => 'The specified token is not exist.', - ], + ['errorCode' => 'ParamDuplicateError', 'errorMessage' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', 'description' => '参数XForwardedFor_ClientCertSubjectDNAlias重复。'], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => '指定的IdleTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => '指定的RequestTimeout无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => 'Ipv6负载均衡实例不支持X-Forward-For。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'InvalidParameter.SpecNotSupport', 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter: %s.', 'description' => '共享型负载均衡实例不支持当前参数。'], + ['errorCode' => 'OperationFailed.ServerGroupInUse', 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', 'description' => '操作失败,原因是当前监听不支持关闭服务器组。'], + ['errorCode' => 'InvalidParameter.VServerGroupId', 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'description' => 'HTTP或HTTPS监听不支持挂载主备服务器组。'], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => '参数HealthCheckDomain缺失。'], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => '指定的HealthCheckHttpVersion无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'CertificateNotExist', 'errorMessage' => 'The specified CertificateId does not exist.', 'description' => '指定的证书不存在。'], + ['errorCode' => 'InvalidTLSPolicyId.NotExist', 'errorMessage' => 'The specified TLS cipher policy does not exist.', 'description' => '指定的TLS策略不存在。'], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => '指定的TLSCipherPolicy正在变配中。'], + ['errorCode' => 'TLSCipherPolicyVipRelationOverLimit', 'errorMessage' => 'The number of listeners associated with a policy has exceeded.', 'description' => '监听关联TLSCipherPolicy的数量已达到配额上限。'], + ['errorCode' => 'TooManyCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => '证书的数量不得大于1个。'], + ['errorCode' => 'CertificateTypeMismatched', 'errorMessage' => 'The certificate type does not match.', 'description' => '指定证书的类型不匹配。'], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'Server certificates are required.', 'description' => '参数ServerCertificates缺失。'], + ['errorCode' => 'CnCertificateNotSupport', 'errorMessage' => 'The cn certificate is not support.', 'description' => '不支持国密证书。'], + ['errorCode' => 'InvalidParam.CertificateBindingType', 'errorMessage' => 'The param CertificateBindingType is invalid.', 'description' => '指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => '指定的ServerCertificates长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'TooManyCertificates.ServerCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => '证书的数量不得大于1个。'], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.Certificate', 'errorMessage' => 'The specified resource is not found.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"TotalCount\\": 1000,\\n \\"IsTruncated\\": false,\\n \\"TLSCipherPolicies\\": [\\n {\\n \\"Status\\": \\"normal\\",\\n \\"InstanceId\\": \\"tls-bp17elso1h323r****\\",\\n \\"Name\\": \\"TLSPolicy-test****\\",\\n \\"CreateTime\\": 1608273800000,\\n \\"RelateListeners\\": [\\n {\\n \\"Port\\": 80,\\n \\"Protocol\\": \\"HTTPS\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa08ex****\\"\\n }\\n ],\\n \\"TLSVersions\\": [\\n \\"TLSv1.0\\"\\n ],\\n \\"Ciphers\\": [\\n \\"ECDHE-ECDSA-AES128-SHA\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListTLSCipherPoliciesResponse>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <TotalCount>1000</TotalCount>\\n <IsTruncated>false</IsTruncated>\\n <TLSCipherPolicies>\\n <Status>normal</Status>\\n <InstanceId>tls-bp17elso1h323r****</InstanceId>\\n <Name>TLSPolicy-test****</Name>\\n <CreateTime>1608273800000</CreateTime>\\n <RelateListeners>\\n <Port>80</Port>\\n <Protocol>HTTPS</Protocol>\\n <LoadBalancerId>lb-bp1b6c719dfa08ex****</LoadBalancerId>\\n </RelateListeners>\\n <TLSVersions>TLSv1.0</TLSVersions>\\n <Ciphers>ECDHE-ECDSA-AES128-SHA</Ciphers>\\n </TLSCipherPolicies>\\n</ListTLSCipherPoliciesResponse>","errorExample":""}]', - 'title' => '查询TLS策略', - 'summary' => '查询TLS策略。', - 'description' => '该功能默认不开放,建议您使用ALB或NLB。特殊情况请联系销售或提交工单。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerHTTPSListenerAttributeResponse>\\r\\n<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\r\\n</SetLoadBalancerHTTPSListenerAttributeResponse>","errorExample":""}]', + 'title' => '修改HTTPS监听的配置', + 'description' => '- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + .'- 您已经创建HTTPS监听,具体操作,请参见[CreateLoadBalancerHTTPSListener](~~27593~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateAccessControlList' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:58.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-12-08T15:30:49.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'SetLoadBalancerModificationProtection' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [], - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclName', - 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组名称,长度限制为1~80个字符,只支持中文、字母、数字和半角句号(.)、短划线(-)、正斜线(/)和下划线(_)。访问控制策略组名称必须为地域内唯一。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rule1', - ], - ], - [ - 'name' => 'AddressIPVersion', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'IP版本,可以设置为**ipv4**或者**ipv6**。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'ipv4', - 'default' => 'ipv4', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e*****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ModificationProtectionStatus', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组所在的资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rt******', - ], + 'schema' => ['description' => '传统型负载均衡修改保护状态:'."\n" + ."\n" + .'- **NonProtection**:不限制修改保护,设置后会清空之前设置的**ModificationProtectionReason**。'."\n" + ."\n" + .'- **ConsoleProtection**:实例控制台修改保护状态。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ConsoleProtection'], ], [ - 'name' => 'Tag', + 'name' => 'ModificationProtectionReason', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '设置修改保护状态的原因,长度为1~80个字符,必须以字母或中文开头,支持数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在**ModificationProtectionStatus**为**ConsoleProtection**时有效。', 'type' => 'string', 'required' => false, 'example' => 'Configuration-change'], ], ], 'responses' => [ @@ -18876,128 +12437,77 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclId' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'example' => 'acl-rj9xpxzcwxrukois****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '791D8B68-AE0F-4174-AF54-088C8B3C5D54'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidAction.RegionNotSupport', - 'errorMessage' => 'The region does not support this action.', - ], - [ - 'errorCode' => 'AclNumberOverLimit', - 'errorMessage' => 'The Acl number has reached to the max quota limit.', - ], - [ - 'errorCode' => 'InvalidResourceGroupId.NotFound', - 'errorMessage' => 'The specified ResourceGroupId is not found.', - ], - [ - 'errorCode' => 'ResourceInConfiguring.Acl', - 'errorMessage' => 'The specified resource is configuring, please try again later.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue ', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param MissingParam.TagKey is missing.', - ], + ['errorCode' => 'OperationUnsupported.SetLoadBalancerStatus', 'errorMessage' => 'The zone of the loadBalancer does not support this operation.', 'description' => '当前负载均衡实例不支持此操作。'], + ['errorCode' => 'InvalidParam.ModificationProtectionStatus', 'errorMessage' => 'The param ModificationProtectionStatus is invalid.', 'description' => '指定的ModificationProtectionStatus无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.ModificationProtectionReason', 'errorMessage' => 'The param ModificationProtectionReason is invalid.', 'description' => '指定的ModificationProtectionReason无效。请检查参数约束,并在修改后重试。'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AclId\\": \\"acl-rj9xpxzcwxrukois****\\",\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', - 'title' => '创建访问控制策略组', - 'summary' => '创建访问控制策略组。', - 'description' => '您可以创建多个访问控制策略组,每个策略组可包含多个IP地址条目或IP地址段条目。访问控制策略组的限制如下:'."\n" - ."\n" - .'- 每个地域单账号最多可创建50个访问控制策略组。'."\n" - ."\n" - .'- 单账号每次最多可添加50个IP地址或IP地址段条目。'."\n" - ."\n" - .'- 每个访问控制策略组最多可添加300个IP地址或IP地址段条目。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"791D8B68-AE0F-4174-AF54-088C8B3C5D54\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerModificationProtectionResponse>\\n <RequestId>791D8B68-AE0F-4174-AF54-088C8B3C5D54</RequestId>\\n</SetLoadBalancerModificationProtectionResponse>","errorExample":""}]', + 'title' => '设置实例修改保护状态', + 'summary' => '设置负载均衡实例修改保护状态。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddAccessControlListEntry' => [ - 'summary' => '在访问控制策略组中添加IP条目。', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerModificationProtection'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerModificationProtection', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'SetLoadBalancerName' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43kze*****', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e******'], ], [ - 'name' => 'AclEntrys', + 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'description' => '设置访问控制策略组。取值:'."\n" - ."\n" - .'* **entry**:访问控制策略组中要添加的IP条目,可以指定IP地址段(CIDR block),多个IP地址段之间用半角逗号(,)隔开。'."\n" - ."\n" - .'* **comment**:访问控制策略组备注说明。'."\n" - ."\n" - .'>每次最多可添加50个条目,如果添加的IP条目重复,则只会添加一条,其余重复条目会被忽略。IP条目必须是IP地址段。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"entry":"10.0.**.**/24","comment":"privaterule1"},{"entry":"192.168.**.**/16","comment":"privaterule2"}]', - ], + 'schema' => ['description' => '传统型负载均衡实例的新名称。'."\n" + ."\n" + .'长度为1~80个英文、数字或中文字符,可包含半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1'], ], ], 'responses' => [ @@ -19005,106 +12515,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA4', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParam.AclEntryExists', - 'errorMessage' => 'The specified aclEntry already exists in the acl.', - ], - [ - 'errorCode' => 'IllegalEntry', - 'errorMessage' => 'Entry version is conflict to the acl version.', - ], - [ - 'errorCode' => 'AclEntryIllegal', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidEntry', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.Comment', - 'errorMessage' => 'The specified comment is invalid.', - ], - [ - 'errorCode' => 'AclEntryExceedLimit', - 'errorMessage' => 'The maximum number of ACL entries is exceeded.', - ], - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], - ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'Service is unavailable now.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA4\\"\\n}","errorExample":""},{"type":"xml","example":"<AddAccessControlListEntryResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA4</RequestId>\\n</AddAccessControlListEntryResponse>","errorExample":""}]', - 'title' => '在访问控制策略组中添加IP条目', - 'description' => '每个策略组可包含多个IP地址条目或IP地址段条目,访问控制策略组的条目限制如下:'."\n" - ."\n" - .'- 单账号每次可添加的IP地址条目个数:50'."\n" - ."\n" - .'- 每个访问控制策略组可包含的条目个数:300', + 'errorCodes' => [], + 'title' => '修改负载均衡实例的名称', + 'summary' => '修改负载均衡实例的名称。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteAccessControlList' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerName'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerName', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerNameResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerNameResponse>","errorExample":""}]', + ], + 'SetLoadBalancerStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43kz******', - ], + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e******'], + ], + [ + 'name' => 'LoadBalancerStatus', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例状态。取值:**active**或**inactive**。'."\n" + ."\n" + .'- **active**(默认值)'."\n" + ."\n" + .' '."\n" + .' 当负载均衡实例的状态为**active**时,实例中的监听可以根据规则转发接收的流量。'."\n" + ."\n" + .' 传统型实例创建后的状态默认为**active**。'."\n" + .' '."\n" + .'- **inactive**'."\n" + ."\n" + .' 当负载均衡实例的状态为**inactive**时,实例中的监听不会再转发接收的流量。'."\n" + ."\n\n" + .'> 当一个实例下的所有监听都被删除后,实例状态会自动变更为**inactive**。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'active'], ], ], 'responses' => [ @@ -19112,84 +12600,295 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OperationFailed.AclBindedWithVip', - 'errorMessage' => 'The ACL has binded with vip.', + ['errorCode' => 'OperationUnsupported.SetLoadBalancerStatus', 'errorMessage' => 'The zone of the loadBalancer does not support this operation.', 'description' => '当前负载均衡实例不支持此操作。'], + ], + ], + 'title' => '设置负载均衡实例的状态', + 'summary' => '设置负载均衡实例的状态。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerStatus'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', - 'title' => '删除访问控制策略组', - 'summary' => '删除访问控制策略组。', - 'description' => '<note>只有当要删除的访问控制策略组没有绑定任何监听时,才可以删除。</note>', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', ], - 'SetAccessControlListAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetLoadBalancerTCPListenerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88674', + 'abilityTreeNodes' => ['FEATUREslbOL61C3'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ygod3yctvg1y****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => '监听的带宽峰值。单位:Mbps。取值:**-1**或**1**~**5120**。'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" + .'- **1**~**5120**:对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '43'], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + .'- **sch**:基于源IP地址的一致性哈希,相同的源地址会调度到相同的后端服务器。'."\n" + .'- **tch**:基于四元组的一致性哈希(源IP、目的IP、源端口和目的端口),相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'> - 仅性能保障型实例支持**sch**和**tch**一致性哈希算法。'."\n" + .'> - CLB不支持**wrr**和**rr**算法变更为一致性哈希算法,也不支持一致性哈希算法互转。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], + ], + [ + 'name' => 'PersistenceTimeout', + 'in' => 'query', + 'schema' => ['description' => '会话保持的超时时间。单位:秒,取值范围:**0**~**3600**。'."\n" + ."\n" + .'默认值:**0**,表示关闭会话保持。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '0', 'example' => '0'], + ], + [ + 'name' => 'EstablishedTimeout', + 'in' => 'query', + 'schema' => ['description' => '连接超时时间。单位:秒。取值范围:**10**~**900**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '900', 'minimum' => '10', 'example' => '500'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" + ."\n" + .'取值范围:**2**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。单位:秒,取值范围:**1**~**300**。'."\n" + ."\n" + .'如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。'."\n" + ."\n" + .'> 如果该值小于**HealthCheckInterval**的值,则该值无效,超时时间为**HealthCheckInterval**的值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '100'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => '健康检查使用的端口。取值范围:**1**~**65535**。'."\n" + ."\n" + .'不设置此参数时,表示使用**BackendServerPort**(后端服务端口)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '8080'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**50**。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的域名。当TCP监听需要使用HTTP健康检查时可配置此参数,如不配置则按TCP健康检查。'."\n" + ."\n" + .'* **$_ip**:后端服务器的私网IP。当指定了IP或该参数未指定时,负载均衡会使用后端服务器的私网IP当做健康检查使用的域名。'."\n" + .'* **domain**:域名,长度为1~80个字符,支持字母、数字、半角句号(.)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的URI。长度为1~80个字符,支持字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)这些字符。URI不能只为正斜线(/),但必须以正斜线(/)开头。'."\n" + ."\n" + .'当TCP监听需要使用HTTP健康检查时,可配置此参数。'."\n" + ."\n" + .'如不配置,则使用TCP健康检查。', 'type' => 'string', 'required' => false, 'example' => '/test/index.html'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" + ."\n" + .'取值:**http_2xx**、**http_3xx**、**http_4xx**或**http_5xx**。', 'type' => 'string', 'required' => false, 'example' => 'http_2xx'], + ], + [ + 'name' => 'HealthCheckType', + 'in' => 'query', + 'schema' => ['description' => '健康检查类型。取值:**tcp**或**http**。'."\n", 'type' => 'string', 'required' => false, 'example' => 'tcp'], + ], + [ + 'name' => 'SynProxy', + 'in' => 'query', + 'schema' => ['description' => '是否开启负载均衡的攻击防护功能SynProxy。取值:'."\n" + ."\n" + .'- **enable**:开启。'."\n" + .'- **disable**:不开启。'."\n" + ."\n" + .'建议一般情况下不要调整这个参数,由负载均衡控制。', 'type' => 'string', 'required' => false, 'example' => 'enable'], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => '是否使用虚拟服务器组。取值:'."\n" + ."\n" + .'- **on**:使用。'."\n" + .'- **off**:不使用。'."\n" + ."\n" + .'> **VserverGroup**和**MasterSlaveServerGroup**只允许一个值为**on**。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j5****'], + ], + [ + 'name' => 'MasterSlaveServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '主备服务器组ID。'."\n" + ."\n" + .'>虚拟服务器组ID和主备服务器组ID只能选择一个。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige****'], + ], + [ + 'name' => 'MasterSlaveServerGroup', + 'in' => 'query', + 'schema' => ['description' => '是否使用主备服务器组。取值:'."\n" + ."\n" + .'- **on**:使用。'."\n" + .'- **off**:不使用。'."\n" + ."\n" + .'**VserverGroup**和**MasterSlaveServerGroup**只允许一个值为**on**。', 'type' => 'string', 'required' => false, 'example' => 'on'], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43k******', - ], + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'当**AclStatus**参数值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => '12333'], ], [ - 'name' => 'AclName', + 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], + 'schema' => ['description' => '访问控制类型。取值:'."\n" + ."\n" + .'- **white**:仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。'."\n" + .' '."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**:不会转发来自所选访问控制策略组中设置的IP地址或地址段,黑名单适用于只限制某些特定IP访问的场景。 '."\n" + ."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + ."\n" + .'- **on**:开启访问控制。'."\n" + .'- **off**:关闭访问控制。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'tcp_80'], + ], + [ + 'name' => 'ConnectionDrain', + 'in' => 'query', + 'schema' => ['description' => '是否开启连接优雅中断。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:不开启。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'ConnectionDrainTimeout', + 'in' => 'query', + 'schema' => ['description' => '设置连接优雅中断超时时间。当**ConnectionDrain**取值为**on**时,该选项必选。单位:秒。'."\n" + ."\n" + .'取值范围:**10**~**900**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300'], + ], + [ + 'name' => 'ProxyProtocolV2Enabled', + 'in' => 'query', + 'schema' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'HealthCheckSwitch', + 'in' => 'query', + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:不开启。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false'], ], ], 'responses' => [ @@ -19197,101 +12896,288 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAccessControlListAttributeResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA49</RequestId>\\n</SetAccessControlListAttributeResponse>","errorExample":""}]', - 'title' => '修改访问控制策略组的名称', - 'summary' => '修改访问控制策略组的名称。', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameterValue.SpecNotSupport', 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', 'description' => '共享型负载均衡实例不支持指定的参数取值。'], + ['errorCode' => 'OperationNotSupport.Acl', 'errorMessage' => 'The cloud box instance does not support acl.', 'description' => '云盒实例不支持配置访问控制。'], + ['errorCode' => 'InvalidParameterValue.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter value, %s.', 'description' => '当前地域不支持指定的参数取值。'], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameterValue.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter value, %s.', 'description' => '当前可用区不支持指定参数取值。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'OperationFailed.ServerGroupInUse', 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', 'description' => '操作失败,原因是当前监听不支持关闭服务器组。'], + ['errorCode' => 'InvalidParam.VServerGroupId', 'errorMessage' => 'The specified VServerGroupId is invalid.', 'description' => '指定的VServerGroupId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => '参数HealthCheckConnectPort缺失。'], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => '指定的ListenerPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => '指定的StartPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => '指定的EndPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.PortRange', 'errorMessage' => 'The specified PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => '指定的服务器组不存在。'], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => '指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => '指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => '主备服务器组的后端服务器冲突。'], + ['errorCode' => 'MissingParam.VServerGroupId', 'errorMessage' => 'The parameter VServerGroupId is missing.', 'description' => '参数VServerGroupId缺失。'], + ['errorCode' => 'OperationDenied.HealthCheckClosedForMasterSlaveMode', 'errorMessage' => 'The operation is denied because of HealthCheckClosedForMasterSlaveMode.', 'description' => '操作被拒绝,原因是主备模式下要求必须开启健康检查。'], + ['errorCode' => 'InvalidParam.HealthCheck', 'errorMessage' => 'The param of HealthCheck is illegal.', 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'OperationDenied.MasterSlaveGroupLogEnabled', 'errorMessage' => 'The operation is denied because of MasterSlaveGroupLogEnabled.', 'description' => '操作被拒绝,原因是主备服务器组日志已启用。'], + ['errorCode' => 'OperationDenied.NotSupportAcl', 'errorMessage' => 'The operation is denied because The single Tunnel or any Tunnel loadbalancer does not support config AccessControlList.', 'description' => '操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。'], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => '操作被拒绝,原因是不支持FullNat模式。'], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => '操作被拒绝,原因是只有IPV4实例支持开启FULL NAT模式。'], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', 'description' => '共享型实例不支持FullNatEnabled参数。'], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', 'description' => '虚拟服务组ID或者主备服务器组ID缺失,请检查输入参数。'], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'], + ], + ], + 'title' => '修改TCP监听的配置', + 'summary' => '修改TCP监听的配置。', + 'description' => '- 您已经创建传统型负载均衡。具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + ."\n" + .'- 您已经创建TCP监听。具体操作,请参见[CreateLoadBalancerTCPListener](~~27594~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAccessControlListAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:01:00.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-11-03T13:09:53.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-07-27T09:50:35.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerTCPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerTCPListenerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerTCPListenerAttributeResponse>","errorExample":""}]', + ], + 'SetLoadBalancerUDPListenerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeNodes' => [ - 'FEATUREslbEDXHGI', - 'FEATUREslb3KZE2S', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88677', + 'abilityTreeNodes' => ['FEATUREslbMJNWX5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1rtfnodmywb43ecu4sf-c****'], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => '传统型负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => '监听的带宽峰值,单位:Mbps。取值:'."\n" + ."\n" + .'- **-1**:对于按流量计费的公网负载均衡实例,可以将带宽峰值设置为**-1**,即不限制带宽峰值。'."\n" + .' '."\n" + .'- **1**~**5120**: 对于按带宽计费的公网负载均衡实例,可以设置每个监听的带宽峰值,但所有监听的带宽峰值之和不能超过实例的带宽峰值。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1'], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'- **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。当权重值相同时,当前连接数越小的后端服务器被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'- **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'- **sch**:基于源IP地址的一致性哈希算法,相同的源地址会调度到相同的后端服务器。'."\n" + ."\n" + .'- **tch**:基于四元组的一致性哈希算法(源IP、目的IP、源端口和目的端口),相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'- **qch**:基于QUIC Connection ID一致性哈希算法,相同的QUIC Connection ID会调度到相同的后端服务器。'."\n" + ."\n" + .'> - 仅有性能保障型实例支持**sch**、**tch**和**qch**的调度算法。'."\n" + .'> - CLB不支持**wrr**和**rr**算法变更为一致性哈希算法,也不支持一致性哈希算法互转。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**fail**判定为**success**。'."\n" + ."\n" + .'取值范围:**1**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**success**判定为**fail**。'."\n" + ."\n" + .'取值范围:**1**~**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**300**。'."\n" + ."\n" + .'> 如果**HealthCheckConnectTimeout**的值小于**HealthCheckInterval**的值,则**HealthCheckConnectTimeout**无效,超时时间为**HealthCheckInterval**的值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '100'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => '健康检查使用的端口。'."\n" + ."\n" + .'取值范围:**1**~**65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => '健康检查的时间间隔,单位:秒。'."\n" + ."\n" + .'取值范围:**1**~**50**。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5'], + ], + [ + 'name' => 'healthCheckReq', + 'in' => 'query', + 'schema' => ['description' => 'UDP监听健康检查的请求串,只允许包含字母、数字,最大长度限制为64个字符。', 'type' => 'string', 'required' => false, 'example' => 'hello'], + ], + [ + 'name' => 'healthCheckExp', + 'in' => 'query', + 'schema' => ['description' => 'UDP监听健康检查的响应串,只允许包含字母、数字,最大长度限制为64个字符。', 'type' => 'string', 'required' => false, 'example' => 'ok'], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => '是否使用虚拟服务器组。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n" + ."\n" + .'> **VserverGroup**和**MasterSlaveServerGroup**只允许一个值为**on**。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '虚拟服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6****'], + ], + [ + 'name' => 'MasterSlaveServerGroupId', + 'in' => 'query', + 'schema' => ['description' => '主备服务器组ID。'."\n" + ."\n" + .'> 虚拟服务器组ID和主备服务器组ID只能选择一个。', 'type' => 'string', 'required' => false, 'example' => 'rsp-0bfuc****'], + ], + [ + 'name' => 'MasterSlaveServerGroup', + 'in' => 'query', + 'schema' => ['description' => '是否使用主备服务器组。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。'."\n" + ."\n" + .'> **VserverGroup**和**MasterSlaveServerGroup**只允许取值为**on**。', 'type' => 'string', 'required' => false, 'example' => 'on'], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => '要查询的访问控制策略组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1ut10zzvh1y8dfs****', - ], + 'schema' => ['description' => '监听绑定的访问策略组ID。'."\n" + ."\n" + .'> 当**AclStatus**参数的值为**on**时,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ - 'name' => 'AclEntryComment', + 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的条目的备注信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '访问控制类型。取值:'."\n" + ."\n" + .'- **white**: 仅转发来自所选访问控制策略组中设置的IP地址或地址段的请求,白名单适用于只允许特定IP访问的场景。设置白名单存在一定业务风险。一旦设置白名单,就只有白名单中的IP可以访问负载均衡监听。 '."\n" + ."\n" + .' 如果开启了白名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'- **black**: 不会转发来自所选访问控制策略组中设置的IP地址或地址段,黑名单适用于只限制某些特定IP访问的场景。 '."\n" + .' '."\n" + .' 如果开启了黑名单访问,但访问策略组中没有添加任何IP,则负载均衡监听会转发全部请求。'."\n" + ."\n" + .'>当**AclStatus**参数的值为**on**时,该参数有效。', 'type' => 'string', 'required' => false, 'example' => 'white'], ], [ - 'name' => 'Page', + 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '是否开启访问控制功能。取值:'."\n" + .'- **on**:是。'."\n" + .'- **off**:否。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ - 'name' => 'PageSize', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为1~256个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。', 'type' => 'string', 'required' => false, 'example' => 'udp_80'], + ], + [ + 'name' => 'ProxyProtocolV2Enabled', + 'in' => 'query', + 'schema' => ['description' => '是否支持通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:是。'."\n" + .'- **false**(默认值):否。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'HealthCheckSwitch', + 'in' => 'query', + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**(默认值):开启。'."\n" + ."\n" + .'- **off**:不开启。', 'type' => 'string', 'required' => false, 'example' => 'on'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false'], ], ], 'responses' => [ @@ -19299,272 +13185,281 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclId' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'example' => 'acl-bp1ut10zzvh1y8dfs****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'ACL的标签集合。', - 'type' => 'array', - 'items' => [ - 'description' => 'ACL的标签集合。', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'ACL的标签键。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'ACL的标签值。', - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - 'AddressIPVersion' => [ - 'description' => '关联的实例的IP类型。', - 'type' => 'string', - 'example' => 'ipv4', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C9906A1D-86F7-4C9C-A369-54DA42EF206A', - ], - 'ResourceGroupId' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'example' => 'rg-acfmz3jksig****', - ], - 'AclName' => [ - 'description' => '访问控制策略组名称。', - 'type' => 'string', - 'example' => 'doctest', - ], - 'AclEntrys' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclEntry' => [ - 'description' => '访问控制策略组的信息列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AclEntryComment' => [ - 'description' => '访问控制条目备注。', - 'type' => 'string', - 'example' => '访问控制条目。', - ], - 'AclEntryIP' => [ - 'description' => '访问控制条目IP。', - 'type' => 'string', - 'example' => '192.168.0.1', - ], - ], - ], - ], - ], - ], - 'RelatedListeners' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RelatedListener' => [ - 'description' => '该访问控制策略组已绑定的监听列表。', - 'type' => 'array', - 'items' => [ - 'description' => '该访问控制策略组已绑定的监听列表。', - 'type' => 'object', - 'properties' => [ - 'ListenerPort' => [ - 'description' => '绑定的监听的前端端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'AclType' => [ - 'description' => '访问控制的类型:'."\n" - ."\n" - .'- **black**:黑名单'."\n" - ."\n" - .'- **white**:白名单', - 'type' => 'string', - 'example' => 'white', - ], - 'Protocol' => [ - 'description' => '绑定的监听的协议类型。', - 'type' => 'string', - 'example' => 'https', - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'example' => 'lb-bp1qpzldlm38bnexl****', - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => '访问控制策略的创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], - 'TotalAclEntry' => [ - 'description' => '访问控制条目总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"AclId\\": \\"acl-bp1ut10zzvh1y8dfs****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ]\\n },\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"RequestId\\": \\"C9906A1D-86F7-4C9C-A369-54DA42EF206A\\",\\n \\"ResourceGroupId\\": \\"rg-acfmz3jksig****\\",\\n \\"AclName\\": \\"doctest\\",\\n \\"AclEntrys\\": {\\n \\"AclEntry\\": [\\n {\\n \\"AclEntryComment\\": \\"访问控制条目。\\",\\n \\"AclEntryIP\\": \\"192.168.0.1\\"\\n }\\n ]\\n },\\n \\"RelatedListeners\\": {\\n \\"RelatedListener\\": [\\n {\\n \\"ListenerPort\\": 443,\\n \\"AclType\\": \\"white\\",\\n \\"Protocol\\": \\"https\\",\\n \\"LoadBalancerId\\": \\"lb-bp1qpzldlm38bnexl****\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\",\\n \\"TotalAclEntry\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeAccessControlListAttributeResponse>\\n <AclId>acl-bp1ut10zzvh1y8dfs****</AclId>\\n <Tags>\\n <TagKey>TestKey</TagKey>\\n <TagValue>TestValue</TagValue>\\n </Tags>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <RequestId>C9906A1D-86F7-4C9C-A369-54DA42EF206A</RequestId>\\n <ResourceGroupId>rg-acfmz3jksig****</ResourceGroupId>\\n <AclName>doctest</AclName>\\n <AclEntrys>\\n <AclEntryComment>访问控制条目。</AclEntryComment>\\n <AclEntryIP>192.168.0.1</AclEntryIP>\\n </AclEntrys>\\n <RelatedListeners>\\n <ListenerPort>443</ListenerPort>\\n <AclType>white</AclType>\\n <Protocol>https</Protocol>\\n <LoadBalancerId>lb-bp1qpzldlm38bnexl****</LoadBalancerId>\\n </RelatedListeners>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n <TotalAclEntry>200</TotalAclEntry>\\n</DescribeAccessControlListAttributeResponse>","errorExample":""}]', - 'title' => '查询访问控制策略组的配置', - 'summary' => '查询访问控制策略组的配置。', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameterValue.SpecNotSupport', 'errorMessage' => 'The loadBalancer of shared spec does not support the parameter value, %s.', 'description' => '共享型负载均衡实例不支持指定的参数取值。'], + ['errorCode' => 'OperationNotSupport.Acl', 'errorMessage' => 'The cloud box instance does not support acl.', 'description' => '云盒实例不支持配置访问控制。'], + ['errorCode' => 'InvalidParameterValue.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter value, %s.', 'description' => '当前地域不支持指定的参数取值。'], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['errorCode' => 'InvalidParameterValue.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter value, %s.', 'description' => '当前可用区不支持指定参数取值。'], + ['errorCode' => 'OperationFailed.ServerGroupInUse', 'errorMessage' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', 'description' => '操作失败,原因是当前监听不支持关闭服务器组。'], + ['errorCode' => 'InvalidParam.VServerGroupId', 'errorMessage' => 'The specified VServerGroupId is invalid.', 'description' => '指定的VServerGroupId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => '参数HealthCheckConnectPort缺失。'], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => '指定的ListenerPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => '指定的StartPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => '指定的EndPort无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.PortRange', 'errorMessage' => 'The specified PortRange is invalid.', 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'InvalidParamLength.HealthCheckReq', 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', 'description' => '指定的HealthCheckReq无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParamLength.HealthCheckExp', 'errorMessage' => 'The length of the parameter HealthCheckExp is invalid.', 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.HealthCheckReq', 'errorMessage' => 'The param HealthCheckReq is invalid.', 'description' => '指定的HealthCheckReq无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.HealthCheckExp', 'errorMessage' => 'The param HealthCheckExp is invalid.', 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => '指定的服务器组不存在。'], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => '指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => '指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => '主备服务器组的后端服务器冲突。'], + ['errorCode' => 'MissingParam.VServerGroupId', 'errorMessage' => 'The parameter VServerGroupId is missing.', 'description' => '参数VServerGroupId缺失。'], + ['errorCode' => 'VipNotSupportQuicVersion', 'errorMessage' => 'The listener does not support the parameter of QuicVersion.', 'description' => '当前监听不支持QuicVersion参数。'], + ['errorCode' => 'IllegalParam.HealthCheckType', 'errorMessage' => 'The param of HealthCheckType is illegal.', 'description' => '指定的HealthCheckType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.HealthCheckMethod', 'errorMessage' => 'The param of HealthCheckMethod is illegal.', 'description' => '指定的HealthCheckMethod无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'IllegalParam.HealthCheck', 'errorMessage' => 'The param of HealthCheck is illegal.', 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'OperationDenied.MasterSlaveGroupLogEnabled', 'errorMessage' => 'The operation is denied because of MasterSlaveGroupLogEnabled.', 'description' => '操作被拒绝,原因是主备服务器组日志已启用。'], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => '操作被拒绝,原因是只有IPV4实例支持开启FULL NAT模式。'], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => '操作被拒绝,原因是不支持FullNat模式。'], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', 'description' => '共享型实例不支持FullNatEnabled参数。'], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', 'description' => '虚拟服务组ID或者主备服务器组ID缺失,请检查输入参数。'], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => 'Acl绑定监听数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => 'Acl条目数已达到配额上限。'], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], + ], + ], + 'title' => '修改UDP协议监听的配置', + 'summary' => '修改UDP协议监听的配置。', + 'description' => '- 您已经创建传统型负载均衡,具体操作,请参见[CreateLoadBalancer](~~27577~~)。'."\n" + .'- 您已经创建UDP监听,具体操作,请参见[CreateLoadBalancerUDPListener](~~27595~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAccessControlLists' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2022-11-03T13:09:53.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-07-27T09:50:35.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2021-09-23T04:15:14.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerUDPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetLoadBalancerUDPListenerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetLoadBalancerUDPListenerAttributeResponse>","errorExample":""}]', + ], + 'SetRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeNodes' => [ - 'FEATUREslbEDXHGI', - 'FEATUREslb3KZE2S', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR', 'FEATUREslbPXBZ65'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。'."\n" - ."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclName', + 'name' => 'RuleId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组名称。访问控制策略组名称。长度限制为1~80个字符,只支持中文、字母、数字和半角句号(.)、短划线(-)、正斜线(/)和下划线(_)。访问控制策略组名称必须为地域内唯一。访问控制策略组名称支持模糊查询。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rule1', - ], + 'schema' => ['description' => '转发规则ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rule-3ejhkt****'], ], [ - 'name' => 'AddressIPVersion', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组绑定的实例的IP类型。取值:'."\n" - ."\n" - .'- **ipv4**:负载均衡实例的IP地址是IPv4类型。'."\n" - ."\n" - .'- **ipv6**:负载均衡实例的IP地址是IPv6类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - ], + 'schema' => ['description' => '转发规则的目标服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6****'], ], [ - 'name' => 'PageSize', + 'name' => 'RuleName', 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时每页的行数,最大值:**50**,默认值:**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '转发规则名称,长度限制为1~40个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)这些字符。'."\n" + ."\n" + .'> 同一个监听内不同规则的名称必须唯一。', 'type' => 'string', 'required' => false, 'example' => 'doctest'], ], [ - 'name' => 'PageNumber', + 'name' => 'ListenerSync', 'in' => 'query', - 'schema' => [ - 'description' => '列表的页码,默认值:**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '是否继承监听的健康检查、会话保持和调度算法配置。取值:'."\n" + ."\n" + .'- **on**:继承监听配置。'."\n" + ."\n" + .'- **off**:不继承监听配置。转发规则自定义健康检查及会话保持配置。', 'type' => 'string', 'required' => false, 'example' => 'off'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => '企业资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtop4****', - ], + 'schema' => ['description' => '调度算法。取值:'."\n" + ."\n" + .'* **wrr**:权重值越高的后端服务器,被轮询到的次数(概率)也越高。'."\n" + ."\n" + .'* **rr**:按照访问顺序依次将外部请求依序分发到后端服务器。'."\n" + ."\n" + .'>在**ListenerSync**为**off**时必选且有效。', 'type' => 'string', 'required' => false, 'example' => 'wrr'], ], [ - 'name' => 'Tag', + 'name' => 'StickySession', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '是否开启会话保持,取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + ."\n" + .'- **off**:不开启。'."\n" + ."\n" + .'在**ListenerSync**为**off**时必选且有效。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'StickySessionType', + 'in' => 'query', + 'schema' => ['description' => 'Cookie的处理方式。取值:'."\n" + ."\n" + .'- **insert**:植入Cookie。'."\n" + .' 客户端第一次访问时,负载均衡会在返回请求中植入Cookie(即在HTTP或HTTPS响应报文中插入后端服务器ID),客户端下次携带此Cookie访问时,负载均衡服务会将请求定向转发给第一次访问时记录到的后端服务器上。'."\n" + ."\n" + .'- **server**:重写Cookie。'."\n" + .' 负载均衡发现用户自定义Cookie,将会对原来的Cookie进行重写,下次客户端携带新的Cookie访问时,负载均衡服务会将请求定向转发给之前记录到的后端服务器。'."\n" + ."\n" + .'>**StickySession**为**on**时必选且有效。', 'type' => 'string', 'required' => false, 'example' => 'insert'], + ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'Cookie超时时间。单位:秒。取值范围:**1**~**86400**。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**insert**时必选且有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '123'], + ], + [ + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => '服务器上配置的Cookie。'."\n" + ."\n" + .'长度为1~200个字符,只能包含ASCII英文字母和数字字符,不能包含半角逗号(,)、半角分号(;)或空格,也不能以美元($)开头。'."\n" + ."\n" + .'> 当**StickySession**为**on**且**StickySessionType**为**server**时必选且有效。', 'type' => 'string', 'required' => false, 'example' => '23ffsa'], + ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **on**:开启。'."\n" + .'- **off**:不开启。'."\n" + ."\n" + .'> **ListenerSync**为**off**时必选且有效,其他情况会忽略此参数。', 'type' => 'string', 'required' => false, 'example' => 'off'], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的域名,取值:'."\n" + ."\n" + .'* **$_ip**: 后端服务器的私网IP。当指定了$_ip或HealthCheckDomain未指定时,负载均衡会使用各后端服务器的私网IP当做健康检查使用的域名。'."\n" + ."\n" + .'* **domain**:域名长度为1~80字符,只能包含字母、数字、半角句号(.)和短划线(-)。'."\n" + ."\n" + .'>** HealthCheck**为**on**时有效。', 'type' => 'string', 'required' => false, 'example' => '$_ip'], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => '用于健康检查的URI。'."\n" + ."\n" + .'>**HealthCheck**为**on**时必选且有效。', 'type' => 'string', 'required' => false, 'example' => '/example'], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n" + ."\n" + .'取值范围:**2**~**10**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时必选且有效。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n" + ."\n" + .'取值范围:**2**~**10**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时必选且有效。'."\n" + ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4'], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => '接收来自运行状况检查的响应需要等待的时间。如果后端ECS在指定的时间内没有正确响应,则判定为健康检查失败。单位:秒。取值范围:**1**~**300**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时必选且有效。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '20'], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => '健康检查的时间间隔。单位:秒。取值范围:**1**~**50**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时必选且有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20'], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => '健康检查使用的端口。取值范围:**1**~**65535**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80'], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => '健康检查正常的HTTP状态码,多个状态码用半角逗号(,)分割。'."\n" + ."\n" + .'取值:**http_2xx**或**http_3x**x或**http_4xx**或**http_5xx**。'."\n" + ."\n" + .'> **HealthCheck**为**on**时必选且有效。', 'type' => 'string', 'required' => false, 'example' => 'http_2xx'], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false'], ], ], 'responses' => [ @@ -19572,304 +13467,246 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => '列表的页码,起始值**1**,默认值:**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => '分页查询时每页的行数,最大值:**50**,默认值:**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3CB646EF-6147-4566-A9D9-CE8FBE86F971', - ], - 'TotalCount' => [ - 'description' => '已创建的访问控制组策略组个数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Count' => [ - 'description' => '当前页展示的访问控制策略组个数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Acls' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Acl' => [ - 'description' => '查询到的访问控制策略组列表。', - 'type' => 'array', - 'items' => [ - 'description' => '查询到的访问控制策略组列表。', - 'type' => 'object', - 'properties' => [ - 'AclId' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'example' => 'acl-bp1l0kk4gxce43k*****', - ], - 'AddressIPVersion' => [ - 'description' => '关联的负载均衡实例的IP地址类型。', - 'type' => 'string', - 'example' => 'ipv4', - ], - 'AclName' => [ - 'description' => '访问控制策略组名称。', - 'type' => 'string', - 'example' => 'rule1', - ], - 'ResourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-jfenfbp1lhl0****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => '访问控制策略组标签列表。取值:是一个Json string,其结构是一个JsonList。', - 'type' => 'array', - 'items' => [ - 'description' => '访问控制策略组标签列表。取值:是一个Json string,其结构是一个JsonList。', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '资源的标签值。', - 'type' => 'string', - 'example' => '1', - ], - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'test', - ], - ], - 'example' => '{"Key":"test","Value":"value"}', - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => '传统型负载均衡实例的创建时间,格式为:`YYYY-MM-DDThh:mm:ssZ`。', - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidResourceGroupId.NotFound', - 'errorMessage' => 'The specified ResourceGroupId is not found.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified VServerGroupId does not belong to the LoadBalancerId of the rule.', 'description' => '指定的服务器组和当前转发规则不属于同一个负载均衡实例。'], + ['errorCode' => 'InvalidParameter.RegionNotSupport', 'errorMessage' => 'The region does not support the parameter: %s.', 'description' => '当前区域不支持指定参数。'], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"3CB646EF-6147-4566-A9D9-CE8FBE86F971\\",\\n \\"TotalCount\\": 1,\\n \\"Count\\": 1,\\n \\"Acls\\": {\\n \\"Acl\\": [\\n {\\n \\"AclId\\": \\"acl-bp1l0kk4gxce43k*****\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"AclName\\": \\"rule1\\",\\n \\"ResourceGroupId\\": \\"rg-jfenfbp1lhl0****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"TagValue\\": \\"1\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n },\\n \\"CreateTime\\": \\"2022-08-31T02:49:05Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAccessControlListsResponse>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n <RequestId>3CB646EF-6147-4566-A9D9-CE8FBE86F971</RequestId>\\n <TotalCount>1</TotalCount>\\n <Count>1</Count>\\n <Acls>\\n <AclId>acl-bp1l0kk4gxce43k*****</AclId>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <AclName>rule1</AclName>\\n <ResourceGroupId>rg-jfenfbp1lhl0****</ResourceGroupId>\\n <Tags>\\n <TagValue>1</TagValue>\\n <TagKey>test</TagKey>\\n </Tags>\\n <CreateTime>2022-08-31T02:49:05Z</CreateTime>\\n </Acls>\\n</DescribeAccessControlListsResponse>","errorExample":""}]', - 'title' => '查询已创建的访问控制策略组', - 'summary' => '查询已创建的访问控制策略组。', + 'title' => '修改目标虚拟服务器组的转发规则', + 'summary' => '修改目标虚拟服务器组的转发规则。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RemoveAccessControlListEntry' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetRule'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetRule', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","errorExample":""},{"type":"xml","example":"<SetRuleResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n</SetRuleResponse>","errorExample":""}]', + ], + 'SetServerCertificateName' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '传统型负载均衡实例的地域。您可以通过调用[DescribeRegions](~~2401682~~) 接口查询地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'AclId', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制策略组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43k******', - ], + 'schema' => ['description' => '服务器证书ID。', 'type' => 'string', 'required' => true, 'example' => ' 123157xxxxxxx_166f8204689_1714763408_7099*******'], ], [ - 'name' => 'AclEntrys', + 'name' => 'ServerCertificateName', 'in' => 'query', - 'schema' => [ - 'description' => '设置访问控制策略组。取值:'."\n" - ."\n" - .'* **entry**:访问控制策略组中的IP条目,可以指定IP地址或IP地址段(CIDR block),多个IP地址或地址段之间用半角逗号(,)隔开。'."\n" - ."\n" - .'* **comment**:访问控制策略组备注说明。'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"entry":"10.0.10.0/24","comment":"privaterule1"}]', - ], + 'schema' => ['description' => '要上传的非阿里云签发的服务器证书的名称。长度限制为1~80个字符,允许包含中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)、下划线(_)和星号(*)。', 'type' => 'string', 'required' => true, 'example' => 'mycert01'], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984'], ], + 'description' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], + 'errorCodes' => [], + 'title' => '设置服务器证书名称', + 'summary' => '设置服务器证书名称。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetServerCertificateName'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetServerCertificateName', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveAccessControlListEntryResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA49</RequestId>\\n</RemoveAccessControlListEntryResponse>","errorExample":""}]', - 'title' => '删除访问控制策略组中的IP条目', - 'summary' => '删除访问控制策略组中的IP条目。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","type":"json"}]', ], - 'SetListenerAccessControlStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetTLSCipherPolicyAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'TLSCipherPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-8vb86hxixo8lvsja8****', - ], + 'schema' => ['description' => 'TLS策略ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tls-bp1lp2076qx4e******bridp'], ], [ - 'name' => 'ListenerPort', + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => 'TLS策略名称。长度为2~200个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tls-policy*****-test'], + ], + [ + 'name' => 'TLSVersions', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1-65535**。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '支持的TLS协议版本。取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。', + 'type' => 'array', + 'items' => ['description' => '支持的TLS协议版本。取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。', 'type' => 'string', 'required' => false, 'example' => 'TLSv1.0'], 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', + 'example' => 'TLSv1.0', + 'maxItems' => 5, ], ], [ - 'name' => 'AccessControlStatus', + 'name' => 'Ciphers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否开启访问控制。取值:'."\n" + 'description' => '支持的加密套件,具体依赖TLSVersions的取值。'."\n" ."\n" - .'- **open_white_list**:开启白名单访问控制。'."\n" + .'Cipher只要被任何一个传入的TLSVersions支持即可,例如选择了TLSv1.3,那么Cipher列表必须包含TLSv1.3支持的Cipher。'."\n" ."\n" - .'- **close**:关闭白名单访问控制。'."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" ."\n" - .'> 如果开启访问控制后,没有设置白名单则无法访问负载均衡服务。'."\n", - 'type' => 'string', + .'- ECDHE-ECDSA-AES128-SHA'."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + .'- AES128-SHA AES256-SHA'."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + .'- AES128-SHA 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 AES256-SHA256'."\n" + ."\n" + .'TLSv1.3支持:'."\n" + ."\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' => '支持的加密套件,具体依赖TLSVersions的取值。'."\n" + ."\n" + .'Cipher只要被任何一个传入的TLSVersions支持即可,例如选择了TLSv1.3,那么Cipher列表必须包含TLSv1.3支持的Cipher。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + .'- AES128-SHA AES256-SHA'."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + .'- AES128-SHA 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 AES256-SHA256'."\n" + ."\n" + .'TLSv1.3支持:'."\n" + ."\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, - 'docRequired' => true, - 'example' => 'open_white_list', - ], - ], - [ - 'name' => 'ListenerProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - .'> 相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', + 'example' => 'DES-CBC3-SHA', + 'maxItems' => 30, ], ], ], @@ -19878,118 +13715,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'TaskId' => ['description' => '异步任务ID。', 'type' => 'string', 'example' => '72dcd26b-f12d-4c27-b3af****-18f6aed5'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876*******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', - ], - [ - 'errorCode' => 'OperationFailed.ActionNotSupport', - 'errorMessage' => 'The loadbalancer of ipv6 does not support such action.', - ], - [ - 'errorCode' => 'OperationUnsupported.SetAccessControl', - 'errorMessage' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', - ], + ['errorCode' => 'MissingParam.Name', 'errorMessage' => 'The param Name is missing.', 'description' => '参数Name缺失。'], + ['errorCode' => 'MissingParam.TlsVersions', 'errorMessage' => 'The param TlsVersions is missing.', 'description' => '参数TlsVersions缺失。'], + ['errorCode' => 'MissingParam.Ciphers', 'errorMessage' => 'The param Ciphers is missing.', 'description' => '参数Ciphers缺失。'], + ['errorCode' => 'ParamDuplicateError.TlsVersions', 'errorMessage' => 'The param TlsVersions is duplicate in request.', 'description' => '参数TlsVersions重复。'], + ['errorCode' => 'ParamDuplicateError.Ciphers', 'errorMessage' => 'The param Ciphers is duplicate in request.', 'description' => '参数Ciphers重复。'], + ['errorCode' => 'TLSPolicyNoSupportVersion', 'errorMessage' => 'The specified TLS version is not supported.', 'description' => '当前TLSCipherPolicy不支持指定的Version。'], + ['errorCode' => 'TLSPolicyNoSupportCipher', 'errorMessage' => 'The specified TLS cipher is not supported.', 'description' => '当前TLSCipherPolicy不支持指定的Cipher。'], + ['errorCode' => 'MissingParam.TLSCipherPolicyId', 'errorMessage' => 'The param TLSCipherPolicyId is missing.', 'description' => '参数TLSCipherPolicyId缺失。'], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => '指定的TLSCipherPolicy正在变配中。'], + ['errorCode' => 'TLSPolicyBeingUsed', 'errorMessage' => 'The specified TLS cipher policy is being used.', 'description' => '指定的TLSCipherPolicy正在使用中。'], + ['errorCode' => 'InvalidTLSPolicyId.NotExist', 'errorMessage' => 'The specified TLS cipher policy does not exist.', 'description' => '指定的TLS策略不存在。'], + ['errorCode' => 'TLSPolicyUnchanged', 'errorMessage' => 'The specified TLS cipher policy is unchanged.', 'description' => '指定的TLSCipherPolicy未变化。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<SetListenerAccessControlStatusResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetListenerAccessControlStatusResponse>","errorExample":""}]', - 'title' => '是否开启指定监听的白名单访问控制', - 'summary' => '是否开启指定监听的白名单访问控制。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TaskId\\": \\"72dcd26b-f12d-4c27-b3af****-18f6aed5\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876*******\\"\\n}","errorExample":""},{"type":"xml","example":"<SetTLSCipherPolicyAttributeReaponse>\\n<TaskId>72dcd26b-f12d-4c27-b3af****-18f6aed5</TaskId>\\n<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</SetTLSCipherPolicyAttributeReaponse>","errorExample":""}]', + 'title' => '设置TLS策略', + 'summary' => '设置TLS策略。', + 'description' => '该功能默认不开放,建议您使用 ALB 或 NLB。特殊情况请联系销售或提交工单。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RemoveListenerWhiteListItem' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetTLSCipherPolicyAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetTLSCipherPolicyAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#InstanceId}'], + ], + ], + ], ], + ], + 'SetVServerGroupAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡地域ID,不可更改。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'lb-8vb86hxixo8lvsja8****', - ], - ], - [ - 'name' => 'ListenerPort', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '监听端口。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => '虚拟服务器组ID,不可更改。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6****'], ], [ - 'name' => 'SourceItems', + 'name' => 'VServerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => '访问控制列表。支持输入IP地址或IP地址段(CIDR block形式),多个IP地址或地址段用逗号(,)分隔。'."\n" - ."\n" - .'> 如果所有IP都被删除,则无法访问该监听。', - 'type' => 'string', - 'required' => true, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => '虚拟服务器组名称,可自定义更改。', 'type' => 'string', 'required' => false, 'example' => 'Group1'], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - ."\n" - .'>相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => '后端服务器列表,该接口只能用于修改后端服务器的权重和虚拟服务器组名称。'."\n" + .'包含以下参数:'."\n" + ."\n" + .'- **ServerId**:String类型,必选,后端服务器的实例ID,分为ECS实例ID、ENI实例ID和ECI实例ID,当**ServerId**参数值为ENI实例ID或ECI实例ID时,**Type**参数值必选。'."\n" + ."\n" + .'- **Weight**:后端服务器的权重,取值:**0**~**100**。默认值:**100**。'."\n" + .'如果值为0,则不会将请求转发给该后端服务器。'."\n" + ."\n" + .'- **Description**:String类型,非必选,后端服务器描述,长度为1~80个字符,支持中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)和下划线(_)。'."\n" + ."\n" + .'- **Type**:后端服务器类型,取值:'."\n" + ."\n" + .' - **ecs**:ECS实例(默认)。'."\n" + .' '."\n" + .' - **eni**:弹性网卡实例。'."\n" + ."\n" + .' - **eci**:弹性容器实例。'."\n" + ."\n" + .'> 只有性能保障型实例支持添加eni和eci类型的后端服务器。'."\n" + ."\n" + .'* **ServerIp**:ENI或ECI的实例IP。'."\n" + ."\n" + .'* **Port**:用来接收请求的后端端口。'."\n" + ."\n" + .'示例说明如下:'."\n" + ."\n" + .'* 挂载ECS示例:'."\n" + .' '."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'* 挂载ENI多IP:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-113" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.166.**.**", "Port":"80","Description":"test-113" }]`'."\n" + ."\n" + .'* 挂载ECI:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> 必须是状态为运行中的后端服务器才可以加入负载均衡实例,每次调用最多可添加20个后端服务器。', 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.XX.XX.6", "Port":"80","Description":"test-112" },{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "172.XX.XX.6", "Port":"80","Description":"test-113" }]'], ], ], 'responses' => [ @@ -19997,117 +13847,119 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'VServerGroupId' => ['description' => '服务器组ID。', 'type' => 'string', 'example' => 'rsp-cige6****'], + 'VServerGroupName' => ['description' => ' 虚拟服务器组名称。', 'type' => 'string', 'example' => 'Group1'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C'], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => ' 后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => '后端服务器类型,取值:'."\n" + ."\n" + .'* **ecs**(默认):ECS实例。'."\n" + ."\n" + .'* **eni**:弹性网卡实例。'."\n" + ."\n" + .'* **eci**:弹性容器实例。', 'type' => 'string', 'example' => 'ecs'], + 'Weight' => ['description' => '后端服务器的权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'Description' => ['description' => '后端服务器组描述。', 'type' => 'string', 'example' => 'The description of the server group.'], + 'Port' => ['description' => '后端服务器使用的端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '70'], + 'ServerId' => ['description' => '后端服务器实例ID。', 'type' => 'string', 'example' => 'i-bp1ek6yd7jvkx****'], + ], + ], + ], + ], + 'description' => '', ], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The VServerGroupName or BackendServers is required at lease one.', 'description' => '参数VServerGroupName和BackendServers至少需要配置一个。'], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => '当前可用区不支持指定参数。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":"{\\"Code\\":\\"InvalidParameter\\",\\"Message\\":\\"The specified parameter is not valid.\\",\\"HostId\\":\\"slb-pop.aliyuncs.com\\",\\"RequestId\\":\\"0669D684-69D8-408E-A4FA-B9011E0F4E66\\"}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<RemoveListenerWhiteListItemResponse>\\n\\t\\t<RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</RemoveListenerWhiteListItemResponse>","errorExample":""}]', - 'title' => '删除监听白名单中的IP', - 'summary' => '删除监听白名单中的IP。', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VServerGroupId\\": \\"rsp-cige6****\\",\\n \\"VServerGroupName\\": \\"Group1\\",\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"BackendServers\\": {\\n \\"BackendServer\\": [\\n {\\n \\"Type\\": \\"ecs\\",\\n \\"Weight\\": 100,\\n \\"Description\\": \\"The description of the server group.\\",\\n \\"Port\\": 70,\\n \\"ServerId\\": \\"i-bp1ek6yd7jvkx****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerTCPListener>\\n<VServerGroupId>rsp-cige6****</VServerGroupId>\\n<RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C</RequestId>\\n<VServerGroupName>Group1</VServerGroupName>\\n<BackendServers>\\n <BackendServer>\\n <Type>ecs</Type>\\n <Description>后端服务器组描述。</Description>\\n <ServerId>i-bp1ek6yd7jvkx****</ServerId>\\n <Port>70</Port>\\n <Weight>100</Weight>\\n </BackendServer>\\n</BackendServers>\\n</CreateLoadBalancerTCPListener>","errorExample":""}]', + 'title' => '修改虚拟服务器组的配置', + 'summary' => '修改虚拟服务器组的配置。', + 'description' => '该接口只能用于修改后端服务器的权重和虚拟服务器组名称:'."\n" + ."\n" + .'- 如果您需要修改后端服务器,请参见接口[ModifyVServerGroupBackendServers](~~35220~~)。'."\n" + ."\n" + .'- 如果您需要添加后端服务器,请参见接口[AddVServerGroupBackendServers](~~35218~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddListenerWhiteListItem' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetVServerGroupAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetVServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + ], + 'StartLoadBalancerListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例所在的地域ID。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~36063~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6ea*******', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp13jaf5qli5*********'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'SourceItems', - 'in' => 'query', - 'schema' => [ - 'description' => '访问控制列表。'."\n" - ."\n" - .'监听的**AccessControlStatus**为**open_white_list**时有效。'."\n" - ."\n" - .'支持输入IP地址或IP地址段(CIDR block形式),多个IP地址或地址段用半角逗号(,)分割。'."\n" - ."\n" - .'不允许输入**0.0.0.0**或**0.0.0.0/0**。您可以通过调用[SetListenerAccessControlStatus](~~27599~~)接口将**AccessControlStatus**的值设置为**close**来关闭访问控制。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1-65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - ."\n" - .'>相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + ."\n" + .'> 相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], ], 'responses' => [ @@ -20115,108 +13967,96 @@ 'schema' => [ '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'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', - ], - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'WhiteList is Disabled while Acl is Enabled', - ], - [ - 'errorCode' => 'InvalidAddress', - 'errorMessage' => '%s,%s', - ], - [ - 'errorCode' => 'InvalidParameter.SourceItems', - 'errorMessage' => '%s.', - ], + ['errorCode' => 'Operation.Deny', 'errorMessage' => 'The specified listener is configuring, please try again later.', 'description' => '指定的监听正在配置中,请稍后重试。'], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified listener is not allowed to operate.', 'description' => '当前监听不支持变配。'], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => '系统繁忙'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<AddListenerWhiteListItemResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</AddListenerWhiteListItemResponse>","errorExample":""}]', - 'title' => '添加监听访问控制白名单', - 'summary' => '添加监听访问控制白名单。', + 'title' => '启动监听', + 'summary' => '启动监听。', + 'description' => '在调用该接口时,注意:'."\n" + ."\n" + .'* 监听状态必须为stopped时,才可以调用该接口。'."\n" + ."\n" + .'* 接口调用成功后,监听进入starting状态。'."\n" + ."\n" + .'* 当监听所属负载均衡实例的状态为locked时,调用此接口会失败。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeListenerAccessControlAttribute' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartLoadBalancerListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:StartLoadBalancerListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'StopLoadBalancerListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域。'."\n" - ."\n" - .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例的地域。'."\n" + ."\n" + .'您可以从[地域和可用区](~~40654~~)列表或通过调用[DescribeRegions](~~25609~~)接口查询地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'lb-8vb86hxixo8lvsja8****', - ], + 'schema' => ['description' => '负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp13jaf5qli5xmgl1miup'], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的端口。'."\n" - ."\n" - .'取值:**1~65535**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '80', - ], + 'schema' => ['description' => '负载均衡实例前端使用的端口。'."\n" + ."\n" + .'取值:**1-65535**。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80'], ], [ 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例前端使用的协议。'."\n" - ."\n" - .'> 相同端口存在不同协议监听时,此字段必填。', - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => '负载均衡实例前端使用的协议。'."\n" + ."\n" + .'> 相同端口存在不同协议监听时,此字段必填。', 'type' => 'string', 'required' => false, 'example' => 'https'], ], ], 'responses' => [ @@ -20224,93 +14064,135 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SourceItems' => [ - 'description' => '访问控制列表。', - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'AccessControlStatus' => [ - 'description' => '是否开启访问控制。取值:'."\n" - ."\n" - .'- **open_white_list**:开启白名单访问控制功能。'."\n" - ."\n" - .'- **close**:关闭访问控制功能。', - 'type' => 'string', - 'example' => 'open_white_list', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified listener is not allowed to operate.', 'description' => '当前监听不支持变配。'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"SourceItems\\": \\"192.168.XX.XX\\",\\n \\"AccessControlStatus\\": \\"open_white_list\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeListenerAccessControlAttributeResponse>\\n <SourceItems>192.168.XX.XX</SourceItems>\\n <AccessControlStatus>open_white_list</AccessControlStatus>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n</DescribeListenerAccessControlAttributeResponse>","errorExample":""}]', - 'title' => '查询监听的白名单配置', - 'summary' => '查询监听的白名单配置。', + 'title' => '停止监听', + 'summary' => '停止监听。', + 'description' => '在调用该接口时,注意:'."\n" + ."\n" + .'- 接口调用成功后,监听进入stopped状态。'."\n" + ."\n" + .'- 当监听所属负载均衡实例的状态为locked时,调用此接口会失败。'."\n" + ."\n" + .'> 停止监听会使访问中断,请谨慎操作。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddTags' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopLoadBalancerListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:StopLoadBalancerListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'summary' => '为指定的资源列表统一创建并绑定标签。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'ResourceType', 'in' => 'query', + 'schema' => ['description' => '资源类型定义,取值:'."\n" + ."\n" + .'- **instance**:负载均衡实例。'."\n" + ."\n" + .'- **certificate**:证书。'."\n" + ."\n" + .'- **acl**:访问控制。'."\n" + ."\n" + .'- **listener**:监听。'."\n" + ."\n" + .'- **vservergroup**:虚拟服务器组。'."\n" + ."\n" + .'- **masterslaveservergroup**:主备服务器组。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'instance'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', + 'description' => '资源ID,最多支持20个资源ID。'."\n" + .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1snb10sbml4****\\_http\\_80。', + 'type' => 'array', + 'items' => ['description' => '资源ID,最多支持20个资源ID。'."\n" + .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1snb10sbml4****\\_http\\_80。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp16qjewdsunr41m1****'], 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1kuzyb******', + 'example' => 'lb-bp16qjewdsunr41m1****', + 'maxItems' => 51, ], ], [ - 'name' => 'Tags', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '需要添加的Tag列表。', - 'type' => 'string', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。最多支持20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], + 'Value' => ['description' => '资源的标签值。最多支持20个标签值。一旦传入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], + ], + 'required' => false, + ], 'required' => true, - 'docRequired' => true, - 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', + 'maxItems' => 21, ], ], ], @@ -20319,166 +14201,155 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34******', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.TagValue', - 'errorMessage' => 'The specified tag value is illegal.', - ], - [ - 'errorCode' => 'QuotaExceeded.Tag', - 'errorMessage' => 'The number of Tag exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidParameter.TagKey', - 'errorMessage' => 'The specified tag key is invalid.', - ], - [ - 'errorCode' => 'MissingParameter.Tags', - 'errorMessage' => 'The parameter Tags should not be null.', - ], - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The Tag.N.Key contain duplicate key.', - ], - [ - 'errorCode' => 'NoPermission.Operator', - 'errorMessage' => 'The operator is not permission for this operate.', - ], - [ - 'errorCode' => 'QuotaExceed.TagsPerResource', - 'errorMessage' => 'The maximum number of tags for each resource is exceeded.', - ], - [ - 'errorCode' => 'InvalidOperation.ConcurrentModification', - 'errorMessage' => 'The resource %s is modified concurrently.', - ], - [ - 'errorCode' => 'InnerRateLimiting', - 'errorMessage' => 'Internal service rate limiting, please try again later.', - ], - [ - 'errorCode' => 'SystemError', - 'errorMessage' => 'The request processing has failed due to unknow error, exception or failure.', - ], - [ - 'errorCode' => 'InternalInvokeError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34******\\"\\n}","type":"json"}]', - 'title' => '为指定的负载均衡实例添加标签', - 'summary' => '为指定的负载均衡实例添加标签。', - 'description' => '为指定的负载均衡实例添加标签。'."\n" - ."\n" - .'调用该接口时,请注意:'."\n" - ."\n" - .'* 每个负载均衡实例最多可绑定10个Tag。'."\n" - ."\n" - .'* 单次绑定的标签数最多为5对。'."\n" - ."\n" - .'* 一个负载均衡实例下的所有Tag和Key不能重复。'."\n" - ."\n" - .'* 当添加的标签与原有标签Key相同,但Value不同时,则覆盖原有的标签。', + ['errorCode' => 'TagTypeNotSame', 'errorMessage' => 'The category of tags in the same request must be the same.', 'description' => '同一请求中的标签类别必须相同。'], + ['errorCode' => 'ResourceNotExist', 'errorMessage' => '%s.', 'description' => '指定的资源不存在。'], + ['errorCode' => 'DeniedForNoneTagCreator', 'errorMessage' => '%s.', 'description' => '当前用户不是系统标签的创建者。'], + ['errorCode' => 'DeniedForScopeNotEqual', 'errorMessage' => '%s.', 'description' => '同一个系统标签Key只能设置相同的Scope类型。'], + ['errorCode' => 'QuotaLimitExceeds', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.Scope', 'errorMessage' => 'The specified Scope is invalid.', 'description' => '指定的Scope无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.ResourceType', 'errorMessage' => 'The specified ResourceType is invalid.', 'description' => '指定的ResourceType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => '指定的TagValue无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagKeyOrValue', 'errorMessage' => 'The specified TagKey or TagValue is invalid.', 'description' => '指定的TagKey Or Value无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagOwnerUid', 'errorMessage' => 'The specified TagOwnerUid is invalid.', 'description' => '指定的TagOwnerUid无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagOwnerBid', 'errorMessage' => 'The specified TagOwnerBid is invalid.', 'description' => '指定的TagOwnerBid无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The parameter TagKey is required.', 'description' => '参数TagKey缺失。'], + ['errorCode' => 'MissingParam.Scope', 'errorMessage' => 'The parameter Scope is required.', 'description' => '参数Scope缺失。'], + ['errorCode' => 'MissingParam.TagOwnerUid', 'errorMessage' => 'The parameter TagOwnerUid is required.', 'description' => '参数TagOwnerUid缺失。'], + ['errorCode' => 'MissingParam.TagOwnerBid', 'errorMessage' => 'The parameter TagOwnerBid is required.', 'description' => '参数TagOwnerBid缺失。'], + ['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => '指定的RegionId不存在。'], + ['errorCode' => 'DeniedForOperateCustomTag', 'errorMessage' => '%s.', 'description' => '云服务账号不能更新或者删除用户标签。'], + ['errorCode' => 'MissingParam.ResourceId', 'errorMessage' => 'The parameter ResourceId is required.', 'description' => '参数ResourceId缺失。'], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The param TagKey has duplicate value.', 'description' => '参数TagKey重复。'], + ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum size of ResourceId is exceeded.', 'description' => '指定的ResourceId长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => 'The maximum size of Tag is exceeded.', 'description' => '指定的Tag长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.RegionId', 'errorMessage' => 'The parameter RegionId is required.', 'description' => '参数RegionID缺失,请检查。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '给资源添加标签', + 'description' => '> 单个实例最多可绑定20条标签。绑定标签前,阿里云会校验资源已有标签数量,超过限制值会返回报错信息。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeTags' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', + ], + 'UntagResources' => [ + 'summary' => '为指定的资源列表统一解绑标签。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。 ', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1kuzybm******', - ], + 'schema' => ['description' => '传统型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Tags', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '要查询的标签列表。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', - ], + 'schema' => ['description' => '资源类型定义,取值:'."\n" + ."\n" + .'- **instance**:负载均衡实例。'."\n" + ."\n" + .'- **certificate**:证书。'."\n" + ."\n" + .'- **acl**:访问控制。'."\n" + ."\n" + .'- **listener**:监听。'."\n" + ."\n" + .'- **vservergroup**:虚拟服务器组。'."\n" + ."\n" + .'- **masterslaveservergroup**:主备服务器组。'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'instance'], ], [ - 'name' => 'DistinctKey', + 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => '是否为DistinctKey。 '."\n" - ."\n" - .'取值:true或false。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => '是否全部删除,只针对**TagKey.N**为空时有效。'."\n" + ."\n" + .'取值:**true**或**false**。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'], ], [ - 'name' => 'PageSize', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '单页结果数量,接口默认50,最大100。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - 'default' => '50', + 'description' => '资源ID,最多支持20个资源ID。'."\n" + .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。', + 'type' => 'array', + 'items' => ['description' => '资源ID,最多支持20个资源ID。'."\n" + .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1snb10sbml4****\\_http\\_80。', 'type' => 'string', 'required' => false, 'example' => 'lb-bp16qjewdsunr41m1****'], + 'required' => true, + 'example' => 'lb-bp16qjewdsunr41m1****', + 'maxItems' => 51, ], ], [ - 'name' => 'PageNumber', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '实例列表页码,起始值1,默认值1。', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '资源的标签键。最多支持20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + .'> 如果不指定**TagKey**,这个实例的所有标签将被删除。', + 'type' => 'array', + 'items' => ['description' => '资源的标签键。最多支持20个标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" + .'> 如果不指定**TagKey**,这个实例的所有标签将被删除。', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept'], 'required' => false, - 'example' => '1', - 'default' => '1', + 'example' => 'FinanceDept', + 'maxItems' => 21, ], ], ], @@ -20487,183 +14358,210 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF3******', - ], - 'PageSize' => [ - 'description' => '默认50,最大100。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'PageNumber' => [ - 'description' => '实例列表页码,起始值1,默认值1。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => '根据过滤条件得到的实例总个数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TagSets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagSet' => [ - 'description' => 'Tag列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '标签Value。', - 'type' => 'string', - 'example' => 'api', - ], - 'InstanceCount' => [ - 'description' => '该标签绑定的实例总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TagKey' => [ - 'description' => '标签Key。', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B******'], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission.Operator', - 'errorMessage' => 'The operator is not permission for this operate.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\",\\n \\"PageSize\\": 50,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"TagSets\\": {\\n \\"TagSet\\": [\\n {\\n \\"TagValue\\": \\"api\\",\\n \\"InstanceCount\\": 10,\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询已有标签列表', - 'summary' => '查询标签列表。', - 'description' => '调用该接口时,请注意:'."\n" - ."\n" - .'* 允许根据实例ID、Tagkey、Tagvalue等条件查询所有符合条件的Tags。'."\n" - ."\n" - .'* 指定的条件为and关系,只有满足所有指定条件的TagSet才会被返回。'."\n" - ."\n" - .'* 如果指定了Tagkey而没有指定Tagvalue,就查询所有该Tagkey关联的Tag。'."\n" - ."\n" - .'* 不允许用户只指定Tagvalue而不指定Tagkey。'."\n" - ."\n" - .'* 若指定了Tagkey/Tagvalue对,则精确匹配该Tag。', + ['errorCode' => 'TagTypeNotSame', 'errorMessage' => 'The category of tags in the same request must be the same.', 'description' => '同一请求中的标签类别必须相同。'], + ['errorCode' => 'ResourceNotExist', 'errorMessage' => '%s.', 'description' => '指定的资源不存在。'], + ['errorCode' => 'DeniedForNoneTagCreator', 'errorMessage' => '%s.', 'description' => '当前用户不是系统标签的创建者。'], + ['errorCode' => 'DeniedForScopeNotEqual', 'errorMessage' => '%s.', 'description' => '同一个系统标签Key只能设置相同的Scope类型。'], + ['errorCode' => 'InvalidParam.ResourceType', 'errorMessage' => 'The specified ResourceType is invalid.', 'description' => '指定的ResourceType无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => '指定的TagValue无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagKeyOrValue', 'errorMessage' => 'The specified TagKey or TagValue is invalid.', 'description' => '指定的TagKey Or Value无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagOwnerUid', 'errorMessage' => 'The specified TagOwnerUid is invalid.', 'description' => '指定的TagOwnerUid无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParam.TagOwnerBid', 'errorMessage' => 'The specified TagOwnerBid is invalid.', 'description' => '指定的TagOwnerBid无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'MissingParam.TagOwnerUid', 'errorMessage' => 'The parameter TagOwnerUid is required.', 'description' => '参数TagOwnerUid缺失。'], + ['errorCode' => 'MissingParam.TagOwnerBid', 'errorMessage' => 'The parameter TagOwnerBid is required.', 'description' => '参数TagOwnerBid缺失。'], + ['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => '指定的RegionId不存在。'], + ['errorCode' => 'MissingParam.ResourceId', 'errorMessage' => 'The parameter ResourceId is required.', 'description' => '参数ResourceId缺失。'], + ['errorCode' => 'DeniedForOperateCustomTag', 'errorMessage' => '%s.', 'description' => '云服务账号不能更新或者删除用户标签。'], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The param TagKey has duplicate value.', 'description' => '参数TagKey重复。'], + ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum size of ResourceId is exceeded.', 'description' => '指定的ResourceId长度无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'SizeLimitExceeded.TagKey', 'errorMessage' => 'The maximum size of TagKey is exceeded.', 'description' => '指定的TagKey长度无效。请检查参数约束,并在修改后重试。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '为指定的资源列表统一解绑标签', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListTagResources' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B******\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', + ], + 'UploadCACertificate' => [ + 'summary' => '上传CA证书。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', + 'abilityTreeCode' => '88694', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '监听的标签键。N的取值范围:**1**~**20**。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '实例的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua'], + ], + 'required' => false, + ], + 'required' => false, + 'example' => 'UploadCACertificate', + 'maxItems' => 20, ], ], [ - 'name' => 'ResourceType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义,取值:'."\n" - ."\n" - .'- **instance**:负载均衡实例。'."\n" - ."\n" - .'- **certificate**:证书。'."\n" - ."\n" - .'- **acl**:访问控制。'."\n" - ."\n" - .'- **listener**:监听。'."\n" - ."\n" - .'- **vservergroup**:虚拟服务器组。'."\n" - ."\n" - .'- **masterslaveservergroup**:主备服务器组。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'instance', - ], + 'schema' => ['description' => 'CA证书的地域。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'NextToken', + 'name' => 'CACertificate', 'in' => 'query', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => '要上传CA证书的内容。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test'], ], [ - 'name' => 'ResourceId', + 'name' => 'CACertificateName', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'CA证书名称。', 'type' => 'string', 'required' => false, 'example' => 'mycacert01'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '企业资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atst******'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '资源ID。最多支持添加20个资源。'."\n" - ."\n" - .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1qnnvj18yy6h****\\_http\\_80。', - 'type' => 'array', - 'items' => [ - 'description' => '资源ID。最多支持添加20个资源。'."\n" - ."\n" - .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1qnnvj18yy6h****\\_http\\_80。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1qnnvj18yy6h****', + 'type' => 'object', + 'properties' => [ + 'CreateTimeStamp' => ['description' => 'CA证书上传的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF******'], + 'ExpireTime' => ['description' => 'CA证书的过期时间。', 'type' => 'string', 'example' => '2024-11-21T06:04:25Z'], + 'Fingerprint' => ['description' => 'CA证书的指纹。', 'type' => 'string', 'example' => '02:DF:AB:ED'], + 'CreateTime' => ['description' => 'CA证书上传的时间。', 'type' => 'string', 'example' => '2017-08-31T02:49:05Z'], + 'CommonName' => ['description' => 'CA证书的域名。', 'type' => 'string', 'example' => 'example.com'], + 'ResourceGroupId' => ['description' => '企业资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3******'], + 'CACertificateName' => ['description' => 'CA证书的名称。', 'type' => 'string', 'example' => 'mycacert01'], + 'ExpireTimeStamp' => ['description' => 'CA证书的过期时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1732169065000'], + 'CACertificateId' => ['description' => 'CA证书ID。', 'type' => 'string', 'example' => '139a0******'], ], - 'required' => false, - 'example' => 'lb-bp1qnnvj18yy6h******', - 'maxItems' => 51, + 'description' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ], + ], + 'title' => '上传CA证书', + 'description' => '一次只能上传一份CA证书内容。添加成功后,返回该用户的该证书的ID、名称和指纹。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UploadCACertificate'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:UploadCACertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF******\\",\\n \\"ExpireTime\\": \\"2024-11-21T06:04:25Z\\",\\n \\"Fingerprint\\": \\"02:DF:AB:ED\\",\\n \\"CreateTime\\": \\"2017-08-31T02:49:05Z\\",\\n \\"CommonName\\": \\"example.com\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3******\\",\\n \\"CACertificateName\\": \\"mycacert01\\",\\n \\"ExpireTimeStamp\\": 1732169065000,\\n \\"CACertificateId\\": \\"139a0******\\"\\n}","type":"json"}]', + ], + 'UploadServerCertificate' => [ + 'summary' => '上传服务器证书。', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88695', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ 'description' => '标签列表。', @@ -20672,82 +14570,108 @@ 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。最多支持添加20个标签键。'."\n" - ."\n" - .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => '资源的标签值。最多支持添加20个标签值。一旦传入该值,不可以为空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], + 'Key' => ['description' => '资源的标签键。N的取值范围:**1~20**。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '资源的标签值。N的取值范围:**1~20**。一旦输入该值,可以为空字符串。'."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, ], 'required' => false, - 'maxItems' => 21, + 'maxItems' => 20, ], ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => '服务器证书部署的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'AliCloudCertificateId', + 'in' => 'query', + 'schema' => ['description' => '阿里云签发证书ID。'."\n" + ."\n" + .'>如果使用阿里云签发证书,该参数必选。', 'type' => 'string', 'required' => false, 'example' => '775****'], + ], + [ + 'name' => 'AliCloudCertificateName', + 'in' => 'query', + 'schema' => ['description' => '阿里云签发证书名称。'."\n" + ."\n" + .'您可以通过调用[GetUserCertificateDetail - 获取证书详情](~~465112~~)接口查询证书名称。'."\n" + ."\n" + .'>如果使用阿里云签发证书,该参数必选。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cloudcertificate'], + ], + [ + 'name' => 'AliCloudCertificateRegionId', + 'in' => 'query', + 'schema' => ['description' => '阿里云签发证书所属的地域ID。'."\n" + .'>如果使用阿里云签发证书,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ServerCertificate', + 'in' => 'query', + 'schema' => ['description' => '需要上传的公钥证书。'."\n" + ."\n" + .'>如果上传非阿里云签发证书,该参数必选。', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIGDTCC****** -----END CERTIFICATE-----'], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'query', + 'schema' => ['description' => '需要上传的私钥。 '."\n" + ."\n" + .'>如果上传非阿里云签发证书,该参数必选。', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN RSA PRIVATE KEY----- MIIEogIB****** -----END RSA PRIVATE KEY-----'], + ], + [ + 'name' => 'ServerCertificateName', + 'in' => 'query', + 'schema' => ['description' => '要上传的非阿里云签发的服务器证书的名称。长度限制为1~80个字符,允许包含中文、字母、数字、短划线(-)、正斜线(/)、半角句号(.)、下划线(_)和星号(*)。'."\n" + ."\n" + .'>如果上传非阿里云签发证书,该参数必选。', 'type' => 'string', 'required' => false, 'example' => 'mycert01'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。 ', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rto****'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '返回数据结构体。', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', - ], - 'TagResources' => [ + 'AliCloudCertificateName' => ['description' => '阿里云签发证书名称。'."\n", 'type' => 'string', 'example' => 'cloudcertificate****'], + 'CreateTimeStamp' => ['description' => '证书创建的时间戳。 ', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'ExpireTime' => ['description' => '证书过期时间。', 'type' => 'string', 'example' => '2022-10-18T23:59:59Z'], + 'CreateTime' => ['description' => '证书创建时间。 ', 'type' => 'string', 'example' => '2022-02-21T02:49:05Z'], + 'ServerCertificateId' => ['description' => '服务器证书ID。', 'type' => 'string', 'example' => '1321932713******_17f1b4b696b_1114720822_-1671******'], + 'ExpireTimeStamp' => ['description' => '证书过期的时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000'], + 'RegionId' => ['description' => '服务器证书部署的地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710'], + 'Fingerprint' => ['description' => '服务器证书的指纹。', 'type' => 'string', 'example' => '8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60'], + 'ServerCertificateName' => ['description' => '非阿里云签发的服务器证书的名称。', 'type' => 'string', 'example' => 'mycert01'], + 'CommonName' => ['description' => '域名,对应证书的`Common Name`字段。', 'type' => 'string', 'example' => 'example.com'], + 'ResourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-atstuj3rt****'], + 'AliCloudCertificateId' => ['description' => '阿里云签发证书ID。', 'type' => 'string', 'example' => '775****'], + 'IsAliCloudCertificate' => ['description' => '是否为阿里云证书服务中的证书。'."\n" + ."\n" + .'- **0**:不是阿里云证书。'."\n" + .'- **1**:是阿里云证书。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'SubjectAlternativeNames' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'TagResource' => [ - 'description' => '绑定标签的资源信息。', + 'SubjectAlternativeName' => [ + 'description' => '返回证书的备用域名列表。', 'type' => 'array', - 'items' => [ - 'description' => '绑定标签的资源信息。', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'FinanceJoshua', - ], - 'ResourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'instance', - ], - 'ResourceId' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'example' => 'lb-bp16qjewdsunr4****', - ], - 'TagKey' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'FinanceDept', - ], - ], - ], + 'items' => ['description' => '数组格式,返回证书的备用域名列表,对应证书的`Subject Alternative Name`字段。', 'type' => 'string', 'example' => '["example.com","www.example.com"]'], ], ], + 'description' => '', ], ], ], @@ -20755,1582 +14679,3739 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TagTypeNotSame', - 'errorMessage' => 'The category of tags in the same request must be the same.', - ], - [ - 'errorCode' => 'ResourceNotExist', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'QueryTokenNotExist', - 'errorMessage' => 'The specified NextToken does not exist.', + ['errorCode' => 'IllegalParam.ServerCertificate', 'errorMessage' => 'The specified server certificate is illegal.', 'description' => '指定的ServerCertificate无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified ServerCertificate and PrivateKey fail to validate.', 'description' => '指定的证书和私钥校验失败。'], + ['errorCode' => 'ServerCertificate.NotSupport', 'errorMessage' => 'The specified Region Not support ServerCertificate.', 'description' => '指定地域不支持服务器证书。'], + ['errorCode' => 'InvalidParameter.AliCloudCertificateId', 'errorMessage' => 'The specified AliCloudCertificateId is invalid.', 'description' => '指定的AliCloudCertificateId无效。请检查参数约束,并在修改后重试。'], + ['errorCode' => 'OperationDenied.IllegalKeyLength', 'errorMessage' => 'The operation is not allowed because the key length of certificate is illegal.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagValue ', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param MissingParam.TagKey is missing.', 'description' => ''], + ['errorCode' => 'EccCertificateNotSupport', 'errorMessage' => 'The ECC certificate is not support.', 'description' => 'ECC证书不支持'], + ['errorCode' => 'CertificateFormatInvalid', 'errorMessage' => 'The certificate format is invalid.', 'description' => '证书格式不正确。'], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => '指定地域不可见。'], + ], + ], + 'title' => '上传服务器证书', + 'description' => '- 一次只能上传一份服务器证书和对应的私钥。'."\n" + ."\n" + .'- 上传成功后,返回该用户的所有服务器证书列表的指纹信息。', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => '## 相关文档'."\n" + .'- [UploadCACertificate](~~34935~~):上传CA证书。'."\n" + .'- [证书要求](~~85968~~)'."\n" + .'- [上传证书失败FAQ](~~372506~~)', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-09-26T07:22:23.000Z', 'description' => '错误码发生变更'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2022-02-23T07:54:30.000Z', 'description' => '错误码发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UploadServerCertificate'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:UploadServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InvalidParam.NextToken', - 'errorMessage' => 'The specified NextToken is invalid.', + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"AliCloudCertificateName\\": \\"cloudcertificate****\\",\\n \\"CreateTimeStamp\\": 1504147745000,\\n \\"ExpireTime\\": \\"2022-10-18T23:59:59Z\\",\\n \\"CreateTime\\": \\"2022-02-21T02:49:05Z\\",\\n \\"ServerCertificateId\\": \\"1321932713******_17f1b4b696b_1114720822_-1671******\\",\\n \\"ExpireTimeStamp\\": 1504147745000,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Fingerprint\\": \\"8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60\\",\\n \\"ServerCertificateName\\": \\"mycert01\\",\\n \\"CommonName\\": \\"example.com\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rt****\\",\\n \\"AliCloudCertificateId\\": \\"775****\\",\\n \\"IsAliCloudCertificate\\": 0,\\n \\"SubjectAlternativeNames\\": {\\n \\"SubjectAlternativeName\\": [\\n \\"[\\\\\\"example.com\\\\\\",\\\\\\"www.example.com\\\\\\"]\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<UploadServerCertificateResponse>\\n <AliCloudCertificateName>cloudcertificate****</AliCloudCertificateName>\\n <CreateTimeStamp>1504147745000</CreateTimeStamp>\\n <ExpireTime>2022-10-18T23:59:59Z</ExpireTime>\\n <CreateTime>2022-02-21T02:49:05Z</CreateTime>\\n <ServerCertificateId>1321932713******_17f1b4b696b_1114720822_-1671******</ServerCertificateId>\\n <ExpireTimeStamp>1504147745000</ExpireTimeStamp>\\n <RegionId>cn-hangzhou</RegionId>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Fingerprint>8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60</Fingerprint>\\n <ServerCertificateName>mycert01</ServerCertificateName>\\n <CommonName>example.com</CommonName>\\n <ResourceGroupId>rg-atstuj3rt****</ResourceGroupId>\\n <AliCloudCertificateId>775****</AliCloudCertificateId>\\n <IsAliCloudCertificate>0</IsAliCloudCertificate>\\n <SubjectAlternativeNames>[\\"example.com\\",\\"www.example.com\\"]</SubjectAlternativeNames>\\n</UploadServerCertificateResponse>","errorExample":""}]', + ], + ], + 'endpoints' => [ + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-beijing.aliyuncs.com', 'endpoint' => 'slb.cn-beijing.aliyuncs.com', 'vpc' => 'slb-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => '郑州(联通合营)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'slb.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'slb-vpc.cn-zhengzhou-jva.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => '华南2(河源)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-heyuan.aliyuncs.com', 'endpoint' => 'slb.cn-heyuan.aliyuncs.com', 'vpc' => 'slb-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'slb.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'slb-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => '韩国(首尔)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-northeast-2.aliyuncs.com', 'endpoint' => 'slb.ap-northeast-2.aliyuncs.com', 'vpc' => 'slb-vpc.ap-northeast-2.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-northeast-1.aliyuncs.com', 'endpoint' => 'slb.ap-northeast-1.aliyuncs.com', 'vpc' => 'slb-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-southeast-1.aliyuncs.com', 'endpoint' => 'slb.ap-southeast-1.aliyuncs.com', 'vpc' => 'slb-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-2', 'regionName' => '澳大利亚(悉尼)已关停', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-southeast-2.aliyuncs.com', 'endpoint' => 'slb.ap-southeast-2.aliyuncs.com', 'vpc' => 'slb-vpc.ap-southeast-2.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-southeast-3.aliyuncs.com', 'endpoint' => 'slb.ap-southeast-3.aliyuncs.com', 'vpc' => 'slb-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-southeast-5.aliyuncs.com', 'endpoint' => 'slb.ap-southeast-5.aliyuncs.com', 'vpc' => 'slb-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-southeast-6.aliyuncs.com', 'endpoint' => 'slb.ap-southeast-6.aliyuncs.com', 'vpc' => 'slb-vpc.ap-southeast-6.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.ap-southeast-7.aliyuncs.com', 'endpoint' => 'slb.ap-southeast-7.aliyuncs.com', 'vpc' => 'slb-vpc.ap-southeast-7.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'slb.cn-wulanchabu.aliyuncs.com', 'vpc' => 'slb-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-qingdao.aliyuncs.com', 'endpoint' => 'slb.cn-qingdao.aliyuncs.com', 'vpc' => 'slb-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => '华中1(武汉-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'slb.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'slb-vpc.cn-wuhan-lr.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-shanghai.aliyuncs.com', 'endpoint' => 'slb.cn-shanghai.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-hongkong.aliyuncs.com', 'endpoint' => 'slb.cn-hongkong.aliyuncs.com', 'vpc' => 'slb-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-shenzhen.aliyuncs.com', 'endpoint' => 'slb.cn-shenzhen.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => '华东5(南京-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-nanjing.aliyuncs.com', 'endpoint' => 'slb.cn-nanjing.aliyuncs.com', 'vpc' => 'slb-vpc.cn-nanjing.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => '华东6(福州-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-fuzhou.aliyuncs.com', 'endpoint' => 'slb.cn-fuzhou.aliyuncs.com', 'vpc' => 'slb-vpc.cn-fuzhou.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-chengdu.aliyuncs.com', 'endpoint' => 'slb.cn-chengdu.aliyuncs.com', 'vpc' => 'slb-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-guangzhou.aliyuncs.com', 'endpoint' => 'slb.cn-guangzhou.aliyuncs.com', 'vpc' => 'slb-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.cn-huhehaote.aliyuncs.com', 'endpoint' => 'slb.cn-huhehaote.aliyuncs.com', 'vpc' => 'slb-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => 'slb-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'slb.eu-west-1.aliyuncs.com', 'endpoint' => 'slb.eu-west-1.aliyuncs.com', 'vpc' => 'slb-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'slb.eu-central-1.aliyuncs.com', 'endpoint' => 'slb.eu-central-1.aliyuncs.com', 'vpc' => 'slb-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'slb.us-east-1.aliyuncs.com', 'endpoint' => 'slb.us-east-1.aliyuncs.com', 'vpc' => 'slb-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'slb.us-west-1.aliyuncs.com', 'endpoint' => 'slb.us-west-1.aliyuncs.com', 'vpc' => 'slb-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'na-south-1', 'regionName' => '墨西哥', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'slb.na-south-1.aliyuncs.com', 'endpoint' => 'slb.na-south-1.aliyuncs.com', 'vpc' => 'slb-vpc.na-south-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'slb.me-east-1.aliyuncs.com', 'endpoint' => 'slb.me-east-1.aliyuncs.com', 'vpc' => 'slb-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'ap-south-1', 'regionName' => '印度(孟买)已关停', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'slb.ap-south-1.aliyuncs.com', 'endpoint' => 'slb.ap-south-1.aliyuncs.com', 'vpc' => 'slb-vpc.ap-south-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'slb.me-central-1.aliyuncs.com', 'endpoint' => 'slb.me-central-1.aliyuncs.com', 'vpc' => 'slb-vpc.me-central-1.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'slb.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'slb.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'slb-vpc.cn-beijing-finance-1.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => '河源专属云汽车合规', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'slb.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'slb.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'slb-vpc.cn-heyuan-acdr-1.aliyuncs.com'], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => '华东1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'Abs.CACertificateIdAndResourceGroupId.MissMatch', 'message' => 'CACertificateId or ResourceGroupId miss match.', 'http_code' => 400, 'description' => 'CACertificateID或ResourceGroupID不匹配。'], + ['code' => 'Abs.ServerCertificateIdAndResourceGroupId.MissMatch', 'message' => 'ServerCertificateId or ResourceGroupId miss match.', 'http_code' => 400, 'description' => 'ServerCertificate ID或者ResourceGroup ID参数缺失。'], + ['code' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'message' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', 'http_code' => null, 'description' => '参数VServerGroupId或MasterSlaveServerGroupId不匹配。'], + ['code' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'message' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', 'http_code' => 400, 'description' => '虚拟服务组ID或者主备服务器组ID缺失,请检查输入参数。'], + ['code' => 'AccountHasArrearage', 'message' => 'Account has some arrearage.', 'http_code' => 400, 'description' => '账户存在欠款。'], + ['code' => 'AclEntryEmpty', 'message' => 'Acl does not have any entry.', 'http_code' => 400, 'description' => '指定的acl不包含任何条目。'], + ['code' => 'AclEntryExceedLimit', 'message' => 'The maximum number of ACL entries is exceeded.', 'http_code' => 400, 'description' => '访问控制条目超限'], + ['code' => 'AclEntryIllegal', 'message' => 'The specified ACL entry is invalid.', 'http_code' => 400, 'description' => 'Acl条目格式非法。'], + ['code' => 'AclEntryIllegal', 'message' => 'There is illegal entry format.', 'http_code' => 400, 'description' => 'Acl条目格式非法。'], + ['code' => 'AclEntryIllegal', 'message' => 'This input entry is illegal', 'http_code' => 400, 'description' => '请求中的AclEntry非法'], + ['code' => 'AclEntryIllegal', 'message' => '%s.', 'http_code' => 400, 'description' => 'Acl Entry非法。'], + ['code' => 'AclEntryNotExist', 'message' => 'Acl entry does not exist.', 'http_code' => 400, 'description' => 'ACL条目不存在。'], + ['code' => 'AclEntryOverLimit', 'message' => 'The acl entry list is over limit.', 'http_code' => 400, 'description' => 'Acl条目列表超出限制。'], + ['code' => 'AclEntryProcessing', 'message' => 'The ACL entry is configuring, please try later.', 'http_code' => 400, 'description' => '正在配置Acl条目,请稍后再试。'], + ['code' => 'AclGwTypeRestriction', 'message' => 'Classic Load Balancer does not support any tunnel operation of Acl .', 'http_code' => 400, 'description' => '经典类型负载均衡实例不支持Any Tunnel。'], + ['code' => 'AclIllegalBindTunnelId', 'message' => 'This is not a any tunnel type Load Balancer.', 'http_code' => 400, 'description' => '非Any Tunnel类型负载均衡实例不支持此操作。'], + ['code' => 'AclInUsed', 'message' => 'The acl is bond to listener, operation is denied', 'http_code' => 400, 'description' => '操作被拒绝,指定Acl已关联监听。'], + ['code' => 'AclIpNotSupported', 'message' => 'Acl entry IP is not match IP version.', 'http_code' => 400, 'description' => 'Acl条目IP与IP版本不匹配。'], + ['code' => 'AclListenerOverLimit', 'message' => 'This acl has reached the limit of binding to listeners.', 'http_code' => 400, 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['code' => 'AclNameExist', 'message' => 'The Acl name is exist.', 'http_code' => 400, 'description' => 'Acl名称已存在。'], + ['code' => 'AclNameExist', 'message' => 'This acl name is existed.', 'http_code' => 400, 'description' => 'Acl名称已存在。'], + ['code' => 'AclNotExist', 'message' => 'Acl does not exist.', 'http_code' => 400, 'description' => '指定的Acl不存在。'], + ['code' => 'AclNotExists', 'message' => 'The Acl does not exists', 'http_code' => 400, 'description' => 'acl不存在'], + ['code' => 'AclNotSupported', 'message' => 'acl is not supported while open_white_list is enabled.', 'http_code' => 400, 'description' => '已开启白名单功能,拒绝使用黑白名单功能。'], + ['code' => 'AclNumberOverLimit', 'message' => 'The Acl number has reached to the max quota limit.', 'http_code' => 400, 'description' => 'Acl数量已达到最大配额限制。'], + ['code' => 'AclTunnelIdEmpty', 'message' => 'There is no tunnel ids according to the VpcIds. .', 'http_code' => 400, 'description' => '获取TunnelId失败。'], + ['code' => 'ActionNotAllowed', 'message' => 'The slb is Not allowed to upgrade.', 'http_code' => null, 'description' => 'SLB不允许升级。'], + ['code' => 'ActionNotAllowed', 'message' => 'The slb?is locked', 'http_code' => null, 'description' => '实例被锁定。'], + ['code' => 'ActionNotAllowed', 'message' => 'Listener AccessControl Status is Incorrect.', 'http_code' => null, 'description' => '监听未打开访问控制功能。'], + ['code' => 'ActionNotAllowed', 'message' => 'Locked for any Operate Reason.', 'http_code' => null, 'description' => '实例触发了预约变配被锁定,第二天凌晨锁定解除。'], + ['code' => 'ActionNotAllowed', 'message' => 'The Intranet LB\'s InternetChargeType is not allowed change to paybybandwidth.', 'http_code' => null, 'description' => '该负载均衡的计费方式不允许变更为按带宽计费。'], + ['code' => 'ActionNotAllowed', 'message' => 'Locked for any Business Reason.', 'http_code' => null, 'description' => '实例因业务原因被锁定。'], + ['code' => 'ActionNotAllowed', 'message' => 'The action is not allowed.', 'http_code' => null, 'description' => '该操作不允许。'], + ['code' => 'ActionNotAllowed', 'message' => 'The load balancer instance has been locked, please try late.', 'http_code' => 400, 'description' => '指定负载平衡实例已被锁定,请稍后再试。'], + ['code' => 'AllocatePublicIpFail', 'message' => 'The ip resource is not enough.', 'http_code' => 400, 'description' => 'ip资源不足'], + ['code' => 'AllocateVpcInstanceFailed', 'message' => 'Failed to allocate vpc instance.', 'http_code' => 400, 'description' => '分配VPC实例失败。'], + ['code' => 'ARREARAGE', 'message' => 'The Account has some ARREARAGE.', 'http_code' => 400, 'description' => '账号欠费。'], + ['code' => 'AUTH.RAM_AUTH_FAILED', 'message' => 'The ram authentication of sub-user is failed.', 'http_code' => 400, 'description' => '子用户的访问控制认证失败。'], + ['code' => 'BackendServer.configuring', 'message' => 'The specified loadbalancer is configuring', 'http_code' => 400, 'description' => '该负载均衡正在配置中。'], + ['code' => 'BackendServer.Duplicate', 'message' => 'The specified BackendServers contain duplicate value.', 'http_code' => 400, 'description' => '后端服务器配置重复。'], + ['code' => 'BackendServer.Empty', 'message' => 'The specified BackendServers can not be empty.', 'http_code' => 400, 'description' => '后端服务器配置不能为空。'], + ['code' => 'BackendServer.ErrorFormat', 'message' => 'The specified BackendServers format is invalid.', 'http_code' => 400, 'description' => '后端服务器配置格式非法。'], + ['code' => 'BackendServer.GroupIdEmpty', 'message' => 'The specified GroupId can not be empty.', 'http_code' => 400, 'description' => '服务器组ID不能为空。'], + ['code' => 'BackendServer.InMultiVpc', 'message' => 'The specified BackendServers must be in the same VPC.', 'http_code' => 400, 'description' => '所有后端服务器必须在同一个VPC内。'], + ['code' => 'BackendServer.InvalidEni', 'message' => 'The specified EniId has not been found.', 'http_code' => 400, 'description' => '指定的ENI实例不存在。'], + ['code' => 'BackendServer.InvalidEniStatus', 'message' => 'The specified ENI status is not supported.', 'http_code' => 400, 'description' => '指定的ENI状态非法。'], + ['code' => 'BackendServer.InvalidGroupId', 'message' => 'The specified GroupId is invalid.', 'http_code' => 400, 'description' => '指定的GroupId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'BackendServer.InvalidIp', 'message' => 'The specified ServerIp is invalid or empty.', 'http_code' => 400, 'description' => '指定的ServerIp非法。'], + ['code' => 'BackendServer.InvalidPort', 'message' => 'The specified Port must be between 1 and 65535.', 'http_code' => 400, 'description' => '端口号必须在1和65535之间。'], + ['code' => 'BackendServer.InvalidType', 'message' => 'The specified Type is invalid.', 'http_code' => 400, 'description' => '后端服务器类型非法。'], + ['code' => 'BackendServer.InvalidVpcId', 'message' => 'The specified VpcId can not be empty.', 'http_code' => 400, 'description' => 'VpcId不能为空。'], + ['code' => 'BackendServer.InvalidWeight', 'message' => 'The specified Weight must be between 0 and 100.', 'http_code' => 400, 'description' => '权重值必须在0到100之间。'], + ['code' => 'BackendServer.OverLimit', 'message' => 'You are reached the limit on the number of BackendServers per action.', 'http_code' => 400, 'description' => '当前传入的后端数量已超过一次批量处理的上限。'], + ['code' => 'BackendServer.ServerIdEmpty', 'message' => 'The specified ServerId can not be empty.', 'http_code' => 400, 'description' => 'ServerId不能为空。'], + ['code' => 'BackendServer.ServerRegionIdNotEqual', 'message' => 'The specified ServerRegionId must be equal.', 'http_code' => 400, 'description' => '后端服务器必须属于同一个地域。'], + ['code' => 'BackendServerIpContainedInVpcCidrs', 'message' => 'The specified BackendServer IP is contained in the CIDRs of current vpc.', 'http_code' => 400, 'description' => '当前VPC的CIDR中包含指定的后端服务器IP。'], + ['code' => 'BackendServerIpNotExists', 'message' => 'The specified BackendServer IP or Port not exists', 'http_code' => 400, 'description' => '指定的后端服务器IP或端口不存在。'], + ['code' => 'BackendServerNotExist', 'message' => 'The specified BackendServer does not exist.', 'http_code' => 400, 'description' => '指定的后端服务器不存在。'], + ['code' => 'BackendServerProcessing', 'message' => 'Backend Server is adding, please try again later.', 'http_code' => 400, 'description' => '后端服务器正在添加中,请稍后尝试。'], + ['code' => 'BackendServerRelatedInstanceNumerOverLimit', 'message' => 'There is backend server has reached to the quota limit number of load balancers that it could be related to.', 'http_code' => 400, 'description' => '后端服务器关联实例次数已达到配额上限。'], + ['code' => 'BackendServersMalformed', 'message' => 'the specified parameter BackendServers is unavailable.', 'http_code' => null, 'description' => '参数BackendServers无效。'], + ['code' => 'BACKEND_SERVERS_CAN_ONLY_CONTAIN_ONE_MASTER_AND_ONE_SLAVE', 'message' => 'Backend servers can only contain one master and one slave.', 'http_code' => 400, 'description' => '主备虚拟服务器组只能包含一个主服务器和一个备服务器。'], + ['code' => 'BACKEND_SERVERS_HAVE_SAME_PORT_AND_SERVERID', 'message' => 'Backend servers have same port and serverId.', 'http_code' => 400, 'description' => '后端服务器组中已存在具有相同的端口和服务器ID的虚拟服务器。'], + ['code' => 'BACKEND_SERVERS_NUM_MUST_BE_TWO', 'message' => 'Backend servers num must be 2.', 'http_code' => 400, 'description' => '后端服务器数量必须是2。'], + ['code' => 'BACKEND_SERVER_ID_CAN_NOT_EMPTY', 'message' => 'Backend server id can not empty.', 'http_code' => 400, 'description' => '后端服务器ID不能为空。'], + ['code' => 'BACKEND_SERVER_PORT_CAN_NOT_EMPTY', 'message' => 'Backend server port can not empty.', 'http_code' => 400, 'description' => '后端服务器端口不允许为空。'], + ['code' => 'BeforePayRuleBatchValidateError', 'message' => 'The pre-payment rule center instance rule validation failed. Please check if the instance limit has been reached.', 'http_code' => 400, 'description' => '支付前规则中心实例规则校验不通过,请检查是否到达实例限制。'], + ['code' => 'CACertificateId.NotFound', 'message' => 'The specified CACertificateId does not exist.', 'http_code' => 400, 'description' => '指定的CA证书不存在。'], + ['code' => 'CertificateAndPrivateKeyIsRefered', 'message' => 'Certificate and PrivateKey Is Refered.', 'http_code' => 400, 'description' => '证书被监听使用中。'], + ['code' => 'CertificateAndPrivateKeyIsRefered', 'message' => 'The specified certificate is bound to listeners. You cannot delete it.', 'http_code' => 400, 'description' => '当前证书已经关联监听,无法删除。'], + ['code' => 'CertificateFormatInvalid', 'message' => 'The certificate format is invalid.', 'http_code' => 400, 'description' => '证书格式不正确。'], + ['code' => 'CertificateNotExist', 'message' => 'The specified CertificateId does not exist.', 'http_code' => 400, 'description' => '指定的证书不存在。'], + ['code' => 'CertificateNotMatchPrivateKey', 'message' => 'Certificate and key does not match.', 'http_code' => null, 'description' => '证书和密钥不匹配。请检查证书与密钥是否正确。'], + ['code' => 'CertificateRelatedDomainExtensionExist', 'message' => 'The domainExtension related with this ServerCertificate exists.', 'http_code' => 400, 'description' => '当前扩展域名已关联指定证书。'], + ['code' => 'CertificateTypeMismatched', 'message' => 'The certificate type does not match.', 'http_code' => 400, 'description' => '指定证书的类型不匹配。'], + ['code' => 'CertificateTypeNotMatch', 'message' => 'The specified certificate type does not match the required.', 'http_code' => 400, 'description' => '指定证书的类型不匹配。'], + ['code' => 'Certkey.Forbidden', 'message' => 'The specified certkey is not owned by the current user.', 'http_code' => 400, 'description' => '指定的certkey不属于当前用户。'], + ['code' => 'ChangeLbSpecNotAllowed', 'message' => 'You cannot change the specification for the specified load balancer.', 'http_code' => 400, 'description' => '指定的实例不支持修改规格。'], + ['code' => 'CheckedListenerNotFound', 'message' => 'No health-checked Listener to the specified port of the Load Balancer.', 'http_code' => null, 'description' => '未对负载均衡器的健康检查进行配置。'], + ['code' => 'CloudBoxLBNotSupportAcl', 'message' => 'The cloudBox instance does not support Acl.', 'http_code' => 400, 'description' => '云盒实例不支持Acl'], + ['code' => 'CloudBoxNotSupportInternet', 'message' => 'The cloudBox instance does not support internet.', 'http_code' => 400, 'description' => '云盒实例不支持internet'], + ['code' => 'CloudBoxNotSupportIpv6', 'message' => 'The cloudBox instance does not support ipv6.', 'http_code' => 400, 'description' => '云盒实例不支持ipv6'], + ['code' => 'CnCertificateNotSupport', 'message' => 'The cn certificate is not support.', 'http_code' => 400, 'description' => '不支持国密证书。'], + ['code' => 'COMMODITY.INVALID_COMPONENT', 'message' => 'The instance component is invalid.', 'http_code' => 400, 'description' => '指定的实例组件无效,请您检查该实例组件是否正确。'], + ['code' => 'CommodityCodeNotExists', 'message' => 'The Account can\'t get CommodityCode.', 'http_code' => null, 'description' => '获取商品编码失败,请稍后重试。'], + ['code' => 'CreateOrderFailed', 'message' => 'The Account failed to create order.', 'http_code' => null, 'description' => '创建订单失败。'], + ['code' => 'CreateOrderTimeout', 'message' => 'Order creation timed out. Please try again later.', 'http_code' => 400, 'description' => '创建订单超时,请稍后重试。'], + ['code' => 'DeniedForNoneTagCreator', 'message' => '%s.', 'http_code' => 400, 'description' => '当前用户不是系统标签的创建者。'], + ['code' => 'DeniedForNoneTagCreator', 'message' => 'The current user is not the creator of the system tag', 'http_code' => 400, 'description' => '当前用户不是系统标签的创建者。'], + ['code' => 'DeniedForOperateCustomTag', 'message' => '%s.', 'http_code' => 400, 'description' => '云服务账号不能更新或者删除用户标签。'], + ['code' => 'DeniedForOperateCustomTag', 'message' => 'The user tag cannot be updated or deleted from the cloud service account.', 'http_code' => 400, 'description' => '云服务账号不能更新或者删除用户标签。'], + ['code' => 'DeniedForScopeNotEqual', 'message' => '%s.', 'http_code' => 400, 'description' => '同一个系统标签Key只能设置相同的Scope类型。'], + ['code' => 'DeniedForScopeNotEqual', 'message' => 'Only the same Scope type can be set for the same system tag Key.', 'http_code' => 400, 'description' => '同一个系统标签Key只能设置相同的Scope类型。'], + ['code' => 'DomainAlreadyExists', 'message' => 'Protected DomainName already exists.', 'http_code' => null, 'description' => '该域名已经存在。'], + ['code' => 'DomainExist', 'message' => 'rule with same domain and url already exists in specified vip', 'http_code' => 400, 'description' => '监听中已经存在了相同的域名和URL的规则。'], + ['code' => 'DomainExtensionCertTypeConflict', 'message' => 'The certKey type RSA of DomainExtension conflicts with default certKey type ECC.', 'http_code' => 400, 'description' => '当ecc证书作为默认证书时,rsa证书不能设置为扩展证书。'], + ['code' => 'DomainExtensionNotSupport', 'message' => 'The instance with shared loadBalancerSpec does not support domainExtension.', 'http_code' => 400, 'description' => '共享型负载均衡实例不支持创建扩展域名。'], + ['code' => 'DomainExtensionNumberOverLimit', 'message' => 'The number of domainExtension has reached to the quota limit of this listener.', 'http_code' => 400, 'description' => '监听可保有的扩展域名数量已达到配额上限。'], + ['code' => 'DomainExtensionProcessing', 'message' => 'A previous configuration of the DomainExtension is pending, please try again later.', 'http_code' => 400, 'description' => '指定的扩展域名正在变配中, 请稍后重试。'], + ['code' => 'DomainExtensionRelatedRuleExist', 'message' => 'The DomainExtension is related with rules.', 'http_code' => 400, 'description' => '扩展域名和转发规则已关联。'], + ['code' => 'DomainMalformed', 'message' => 'the specified domain in RuleList parameter is unavailable.', 'http_code' => null, 'description' => '该域名格式错误。'], + ['code' => 'DomainNotExisted', 'message' => 'Don\'t delete or update not existed protected DomainName.', 'http_code' => null, 'description' => '该域名不存在。'], + ['code' => 'DryRunOperation', 'message' => 'Request validation has been passed with DryRun flag set.', 'http_code' => 400, 'description' => 'dryRun请求验证已通过。'], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate key.', 'http_code' => 400, 'description' => '参数TagKey重复。'], + ['code' => 'Duplicate.TagKey', 'message' => 'The param TagKey has duplicate value.', 'http_code' => 400, 'description' => '参数TagKey重复。'], + ['code' => 'Duplicated.AclEntry', 'message' => '%s.', 'http_code' => 400, 'description' => '%s'], + ['code' => 'EccCertificateNotSupport', 'message' => 'The ECC certificate is not support.', 'http_code' => 400, 'description' => 'ECC证书不支持'], + ['code' => 'FlowLimited', 'message' => 'This request failed due to flow control limits.', 'http_code' => 400, 'description' => '当前请求过于频繁,请稍后重试。'], + ['code' => 'Forbbiden.SubUser', 'message' => 'illegal bid', 'http_code' => null, 'description' => '账号存在问题。'], + ['code' => 'Forbbiden.SubUser', 'message' => 'TUser not authorized to operate on the specified resource as your account is created by another user.', 'http_code' => null, 'description' => '该用户操作另一个账号创建的资源时未被授权,请先授权再进行操作。'], + ['code' => 'Forbidden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => null, 'description' => '用户无权限操作该资源。请先申请RAM权限,再进行此操作。'], + ['code' => 'Forbidden', 'message' => 'The user is not authorized to operate the specified resource.', 'http_code' => 400, 'description' => '用户无权操作指定资源。'], + ['code' => 'Forbidden.LcuToSpec', 'message' => 'User does not have permission modify InstanceChargeType to spec.', 'http_code' => 400, 'description' => '用户不允许lcu 转规格'], + ['code' => 'HdMonitorVipExist', 'message' => 'The region still has listeners with hdmonitor enabled.', 'http_code' => 400, 'description' => '该地域仍有启用了hdmonitor的监听,请检查。'], + ['code' => 'HighRiskOperationDenied', 'message' => 'The operation is denied because of high risk.', 'http_code' => 400, 'description' => '操作被拒绝,原因是当前操作为高危操作。'], + ['code' => 'IdempotentParameterMismatch', 'message' => 'Idempotent request parameter mismatch.', 'http_code' => 400, 'description' => '本次请求与上次请求的幂等参数不一致,请修改参数配置后重试。'], + ['code' => 'IllegalEntry', 'message' => 'Entry version is conflict to the acl version.', 'http_code' => 400, 'description' => '条目版本与acl版本冲突。'], + ['code' => 'IllegalParam.FailoverStrategy', 'message' => 'The parameter FailoverStrategy is illegal.', 'http_code' => 400, 'description' => '指定的FailoverStrategy无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.FailoverThreshold', 'message' => 'The parameter FailoverThreshold is illegal.', 'http_code' => 400, 'description' => '指定的FailoverThreshold无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.HealthCheck', 'message' => 'The param of HealthCheck is illegal.', 'http_code' => 400, 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.HealthCheck', 'message' => 'The param of HelathCheck is illegal.', 'http_code' => 400, 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.HealthCheckMethod', 'message' => 'The param of HealthCheckMethod is illegal.', 'http_code' => 400, 'description' => '指定的HealthCheckMethod无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.HealthCheckType', 'message' => 'The param of HealthCheckType is illegal.', 'http_code' => 400, 'description' => '指定的HealthCheckType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.ListenerProtocol', 'message' => 'The param of ListenerProtocol is illegal.', 'http_code' => 400, 'description' => '指定的ListenerProtocol无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.MaxResults', 'message' => 'The param of MaxResults is illegal.', 'http_code' => 400, 'description' => '指定的MaxResults无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.NextToken', 'message' => 'The param of NextToken is illegal.', 'http_code' => 400, 'description' => '指定的NextToken无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.ResourceType', 'message' => 'The param of ResourceType is illegal.', 'http_code' => 400, 'description' => '指定的ResourceType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.ServerCertificate', 'message' => 'The specified server certificate is illegal.', 'http_code' => 400, 'description' => '指定的ServerCertificate无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.ServiceManagedMode', 'message' => 'The param of ServiceManagedMode is illegal.', 'http_code' => 400, 'description' => '指定的ServiceManagedMode无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParam.SpecType', 'message' => 'The param of SpecType is illegal.', 'http_code' => 400, 'description' => '指定的SpecType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IllegalParamSize.LoadBalancerId', 'message' => 'The param size of LoadBalancerId is illegal.', 'http_code' => 400, 'description' => '指定的LoadBalancerId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'IncorrectListenerAccessControlStatusStatus', 'message' => 'Current listener access control status does not support this operation.', 'http_code' => 400, 'description' => '当前监听访问控制状态不支持此操作。'], + ['code' => 'IncorrectStatus.CenNotAssociated', 'message' => 'The action is invalid because the loadbalancer is not associated with cen.', 'http_code' => 400, 'description' => '该操作无效,因为当前负载均衡实例未与cen关联。'], + ['code' => 'IncorrectStatus.DomainExtension', 'message' => 'The listener to which the domain extension belongs is being configured, please try again later.', 'http_code' => 400, 'description' => '指定扩展域名所属监听正在变配中, 请稍后重试。'], + ['code' => 'IncorrectStatus.RSByPassToas', 'message' => '%s.', 'http_code' => 400, 'description' => '指定后端服务器的BypassToa配置无效。'], + ['code' => 'Instance.InternetChargeTypeNotAllowed', 'message' => 'Illegal parameter. The specified InternetChargeType not allowed.', 'http_code' => 400, 'description' => '参数非法,指定的InternetChargeType不支持。'], + ['code' => 'Instance.Pay95BandwidthIllegal', 'message' => 'Illegal parameter. The bandwidth is illegal.', 'http_code' => 400, 'description' => '指定的Bandwidth无效。请检查参数约束,并在修改后重试。'], + ['code' => 'Instance.Pay95RateInvalid', 'message' => 'Illegal parameter. The rate is illegal.', 'http_code' => 400, 'description' => '指定的Rate无效。请检查参数约束,并在修改后重试。'], + ['code' => 'Instance.ShareSlbNotSupportPay95', 'message' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', 'http_code' => 400, 'description' => '共享型实例不支持PayBy95或PayByOld95。'], + ['code' => 'InstanceBackendServerNumberOverLimit', 'message' => 'The backend server number has reached to the quota limit of this load balancer.', 'http_code' => 400, 'description' => '当前负载均衡实例可挂载后端服务器数量已达到配额上限。'], + ['code' => 'INSTANCE_HAS_INACTIVE_CHANGE', 'message' => 'Instance configuration is processing', 'http_code' => 400, 'description' => '实例配置正在处理中。'], + ['code' => 'InsufficientAvailableQuota', 'message' => 'Your account available balance is less than 0. Please recharge before attempting to make a purchase.', 'http_code' => 400, 'description' => '您的账户可用额度小于0,请先充值后再尝试购买。'], + ['code' => 'InsufficientBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => 400, 'description' => '账户余额不足,请先充值再操作。'], + ['code' => 'InsufficientCapacity', 'message' => 'There is insufficient capacity available for the requested', 'http_code' => null, 'description' => '用户能够购买的实例个数的配额超了,请走工单申请更高配额'], + ['code' => 'INSUFFICIENT_BALANCE', 'message' => 'The account Balance is insufficient.', 'http_code' => 400, 'description' => '该账户余额不足。'], + ['code' => 'InternalError', 'message' => 'Illegal sign.', 'http_code' => null, 'description' => '系统服务忙,请重试。'], + ['code' => 'InternalError', 'message' => 'Illegal aliyun idkp.', 'http_code' => 500, 'description' => '非法的账号信息'], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to backend service exception.', 'http_code' => null, 'description' => '由于后端服务异常,请求处理失败。'], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error', 'http_code' => null, 'description' => '由于某些未知错误,请求处理失败。'], + ['code' => 'InternalError', 'message' => 'Query ecs info fail.', 'http_code' => null, 'description' => '查询ECS信息失败。'], + ['code' => 'InternalError', 'message' => 'Illegal format.', 'http_code' => null, 'description' => '非法的格式。'], + ['code' => 'InternalError', 'message' => 'Illegal timestamp.', 'http_code' => null, 'description' => '非法的时间戳。'], + ['code' => 'InternalError', 'message' => 'Illegal sign type.', 'http_code' => null, 'description' => '非法的签名类型。'], + ['code' => 'InternalError', 'message' => 'Illegal user.', 'http_code' => null, 'description' => '非法的用户。'], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error, exception or failure.', 'http_code' => 400, 'description' => '由于未知错误、异常或失败,请求处理失败。'], + ['code' => 'InternalInvokeError', 'message' => 'The internal invoking has failed.', 'http_code' => null, 'description' => '内部错误。'], + ['code' => 'InternalInvokeError', 'message' => 'The internal invoking has failed due to unknow error.', 'http_code' => null, 'description' => '由于某些未知错误,请求处理失败。'], + ['code' => 'InternalInvokeError', 'message' => 'The request processing has failed due to some unknown error, exception or failure.', 'http_code' => 400, 'description' => '由于未知错误、异常或失败,请求处理失败。'], + ['code' => 'InvalidAclParameter', 'message' => 'The Acl parameter is invalid', 'http_code' => 400, 'description' => '指定的Acl参数无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidAction.RegionNotSupport', 'message' => 'The region does not support this action.', 'http_code' => 400, 'description' => '当前地域不支持指定功能。'], + ['code' => 'InvalidAddress', 'message' => '%s,%s', 'http_code' => 400, 'description' => '参数无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidAuthorization', 'message' => 'The Request is not authorization.', 'http_code' => null, 'description' => '该请求未授权。'], + ['code' => 'InvalidAuthorizationStatus', 'message' => 'The authorization status is not valid.', 'http_code' => null, 'description' => '授权状态无效。'], + ['code' => 'InvalidBackendServers.Inconsistent', 'message' => 'Specified loadBalancer instance is private.', 'http_code' => 400, 'description' => '后端服务器的网络类型不匹配。'], + ['code' => 'InvalidBackendServers.Inconsistent', 'message' => 'All BackendServers on one Specified LoadBalancer have to be in the same vpc or all classic', 'http_code' => null, 'description' => '所有后端服务器在一个负载平衡中必须属于同一个VPC网络或经典网络。'], + ['code' => 'InvalidBackendServers.Inconsistent', 'message' => 'The addresstype of specificated loadBalancer is private, so it is forbidden to add ECS VPC backendservers for now.', 'http_code' => 400, 'description' => '指定的负载均衡实例为私有类型实例,暂时禁止添加VPC内ECS后端服务器。'], + ['code' => 'InvalidBackendServers.MissingCenBandWidth', 'message' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'http_code' => 400, 'description' => 'Cen中的负载均衡实例所在的地域和挂载的目标地域之间要有带宽包。'], + ['code' => 'InvalidBackendServers.ServerIpConflict', 'message' => '%s.', 'http_code' => 400, 'description' => '存在相同TunnelId和RsIp配置的后端服务器。'], + ['code' => 'InvalidBackendServers.VpcNotInCen', 'message' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'http_code' => 400, 'description' => '后端服务器不在与负载均衡关联的cen中。'], + ['code' => 'InvalidChargeType', 'message' => 'The prepay loadBalancer does not support this action.', 'http_code' => 400, 'description' => '预付费负载均衡实例不支持变配计费类型。'], + ['code' => 'InvalidEntry', 'message' => '%s.', 'http_code' => 400, 'description' => '参数无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidIdentity', 'message' => 'The request identity was not allowed operated.', 'http_code' => null, 'description' => '请求的认证失败。'], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'LoadBalancerId does not exist.', 'http_code' => null, 'description' => '负载均衡ID不存在。请检查该负载均衡的ID是否正确。'], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'The specified LoadBalancerId does not exist.', 'http_code' => 400, 'description' => '指定的负载均衡实例不存在。'], + ['code' => 'InvalidOperation.ConcurrentModification', 'message' => 'The resource %s is modified concurrently.', 'http_code' => 400, 'description' => '当前资源的tag正在添加中,请稍后重试。'], + ['code' => 'InvalidOwnerAccount', 'message' => 'The input parameter OwnerAccount is invalid.', 'http_code' => null, 'description' => '输入的参数OwnerAccount无效。'], + ['code' => 'InvalidOwnerId', 'message' => 'The input parameter OwnerId or OwnerAccount is invalid.', 'http_code' => null, 'description' => '指定的OwnerId或OwnerAccount无效。请检查该参数是否正确。'], + ['code' => 'InvalidOwnerId', 'message' => 'The specified OwnerId or OwnerAccount is invalid.', 'http_code' => null, 'description' => '输入的账户和账户ID有误,请您检查确认。'], + ['code' => 'InvalidParam.AclEntryExists', 'message' => 'The specified aclEntry already exists in the acl.', 'http_code' => 400, 'description' => '当前Acl中已包含指定的条目。'], + ['code' => 'InvalidParam.AclEntryExists', 'message' => 'The specified aclEntry already exists in current acl or other acl associate with current acl.', 'http_code' => 400, 'description' => '指定的aclEntry已存在于当前acl或与当前acl关联的其他acl中。'], + ['code' => 'InvalidParam.AclEntryExists', 'message' => 'The specified %s.', 'http_code' => 400, 'description' => 'The specified %s.'], + ['code' => 'InvalidParam.CertificateBindingType', 'message' => 'The param is invalid.', 'http_code' => 400, 'description' => '指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.CertificateBindingType', 'message' => 'The param CertificateBindingType is invalid.', 'http_code' => 400, 'description' => '指定的CertificateBindingType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.Comment', 'message' => 'The specified comment is invalid.', 'http_code' => 400, 'description' => 'Comment 参数非法'], + ['code' => 'InvalidParam.EndPort', 'message' => 'The specified EndPort is invalid.', 'http_code' => 400, 'description' => '指定的EndPort无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.HealthCheck', 'message' => 'The param of HealthCheck is illegal.', 'http_code' => 400, 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.HealthCheckExp', 'message' => 'The param HealthCheckExp is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.HealthCheckReq', 'message' => 'The param HealthCheckReq is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckReq无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.ListenerPort', 'message' => 'The specified ListenerPort is invalid.', 'http_code' => 400, 'description' => '指定的ListenerPort无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.ModificationProtectionReason', 'message' => '%s.', 'http_code' => 400, 'description' => '指定的ModificationProtectionReason无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.ModificationProtectionReason', 'message' => 'The param ModificationProtectionReason is invalid.', 'http_code' => 400, 'description' => '指定的ModificationProtectionReason无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.ModificationProtectionStatus', 'message' => 'The param ModificationProtectionStatus is invalid.', 'http_code' => 400, 'description' => '指定的ModificationProtectionStatus无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.NextToken', 'message' => 'The specified NextToken is invalid.', 'http_code' => 400, 'description' => '指定的NextToken无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.NotNull', 'message' => 'The parameter must not be null.', 'http_code' => null, 'description' => '参数不能为空。'], + ['code' => 'InvalidParam.NotValid', 'message' => 'Illegal LogsDownloadStatus', 'http_code' => null, 'description' => '参数非法。'], + ['code' => 'InvalidParam.NotValid', 'message' => 'OSSBucket is not available for log recording.', 'http_code' => null, 'description' => '未打开日志功能,云存储的Bucket不能用于日志记录。'], + ['code' => 'InvalidParam.NotValid', 'message' => 'The RoleName authentication failed.', 'http_code' => null, 'description' => '该角色名称认证失败。'], + ['code' => 'InvalidParam.PortRange', 'message' => 'The specified PortRange is invalid.', 'http_code' => 400, 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.ResourceType', 'message' => 'The specified ResourceType is invalid.', 'http_code' => 400, 'description' => '指定的ResourceType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.Scope', 'message' => 'The specified Scope is invalid.', 'http_code' => 400, 'description' => '指定的Scope无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.StartPort', 'message' => 'The specified StartPort is invalid.', 'http_code' => 400, 'description' => '指定的StartPort无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.TagKey', 'message' => 'The specified TagKey is invalid.', 'http_code' => 400, 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.TagKeyOrValue', 'message' => 'The specified TagKey or TagValue is invalid.', 'http_code' => 400, 'description' => '指定的TagKey Or Value无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.TagOwnerBid', 'message' => 'The specified TagOwnerBid is invalid.', 'http_code' => 400, 'description' => '指定的TagOwnerBid无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.TagOwnerUid', 'message' => 'The specified TagOwnerUid is invalid.', 'http_code' => 400, 'description' => '指定的TagOwnerUid无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.TagValue', 'message' => 'The specified TagValue is invalid.', 'http_code' => 400, 'description' => '指定的TagValue无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParam.VServerGroupId', 'message' => 'The specified VServerGroupId is invalid.', 'http_code' => 400, 'description' => '指定的VServerGroupId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The Vgw ip is empty.', 'http_code' => null, 'description' => 'Vgw ip 为空,请您补充 Vgw ip 参数。'], + ['code' => 'InvalidParameter', 'message' => 'The App id is invalid.', 'http_code' => null, 'description' => 'APP ID无效。'], + ['code' => 'InvalidParameter', 'message' => 'The vpc Ip is exist.', 'http_code' => null, 'description' => 'VPC IP 已被使用,请您更换其他 IP 后再试。'], + ['code' => 'InvalidParameter', 'message' => 'The Ip is not Supported.', 'http_code' => null, 'description' => '不支持该IP。'], + ['code' => 'InvalidParameter', 'message' => 'The specified vpc cloud instance is deleteing.', 'http_code' => null, 'description' => '该VPC实例正在删除中。'], + ['code' => 'InvalidParameter', 'message' => 'The vpc info of LB is empty.', 'http_code' => null, 'description' => '该实例关联的 VPC 信息为空,请您检查该 VPC 信息是否正常。'], + ['code' => 'InvalidParameter', 'message' => 'The Rs IP is empty.', 'http_code' => null, 'description' => '获取后端服务器的IP失败。'], + ['code' => 'InvalidParameter', 'message' => 'The VmName is emtpy.', 'http_code' => null, 'description' => 'ServerId 参数不能为空,请您检查 ServerId 参数是否正常。'], + ['code' => 'InvalidParameter', 'message' => 'The RsList is illegal.', 'http_code' => null, 'description' => '参数非法。'], + ['code' => 'InvalidParameter', 'message' => 'The Tunnel id is invalid.', 'http_code' => null, 'description' => '指定的 Tunnel id 无效,请您检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Scheduler" is not valid.', 'http_code' => null, 'description' => '该参数Scheduler非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "URI" is not valid.', 'http_code' => null, 'description' => '参数URI无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Domain" is not valid.', 'http_code' => null, 'description' => '参数Domain非法。'], + ['code' => 'InvalidParameter', 'message' => 'Specified parameter is not valid.', 'http_code' => null, 'description' => '该参数无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "PersistenceTimeout" is not valid.', 'http_code' => null, 'description' => '参数PersistenceTimeout非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerStatus" is not valid.', 'http_code' => null, 'description' => '参数ListenerStatus无效。'], + ['code' => 'InvalidParameter', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => null, 'description' => '由于服务器故障,请求失败。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is not valid.', 'http_code' => null, 'description' => '指定的参数无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "BackendServers" is not valid.', 'http_code' => null, 'description' => '参数BackendServers非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "AccessControlStatus" is not valid.', 'http_code' => null, 'description' => '参数AccessControlStatus无效。'], + ['code' => 'InvalidParameter', 'message' => 'RS Pool is empty.', 'http_code' => null, 'description' => '后端服务器组不能为空。'], + ['code' => 'InvalidParameter', 'message' => 'The specified protocol is not valid.', 'http_code' => null, 'description' => '该协议无效。'], + ['code' => 'InvalidParameter', 'message' => 'Illegal user ID.', 'http_code' => null, 'description' => '非法用户ID。'], + ['code' => 'InvalidParameter', 'message' => 'RS Pool doesn\'t exist.', 'http_code' => null, 'description' => '虚拟服务器器组不存在。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter: lb_type is not valid.', 'http_code' => null, 'description' => '参数lb_type无效。'], + ['code' => 'InvalidParameter', 'message' => 'User ID is null', 'http_code' => null, 'description' => '用户ID为空,请您填写ID后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter: mode is not valid..', 'http_code' => null, 'description' => '参数mode无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter HealthCheck is not valid.', 'http_code' => null, 'description' => 'HealthCheck参数无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Check" is not valid.', 'http_code' => null, 'description' => '该参数“检查”无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "SourceItems" is not valid.', 'http_code' => null, 'description' => '参数SourceItems非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter bandwidth is not valid.', 'http_code' => null, 'description' => '参数bandwidth非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter bandwidth is not valid', 'http_code' => null, 'description' => '参数bandwidth无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "HealthCheckHttpCode" is not valid.', 'http_code' => null, 'description' => '参数HealthCheckHttpCode非法。'], + ['code' => 'InvalidParameter', 'message' => 'Specified parameter "Check" is not valid.', 'http_code' => null, 'description' => '参数Check无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified bandwidth is not valid.', 'http_code' => null, 'description' => '该带宽值无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified port is not valid.', 'http_code' => null, 'description' => '该端口无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter key format is error.', 'http_code' => null, 'description' => '参数key格式错误。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificate or Key is empty.', 'http_code' => null, 'description' => '参数ServerCertificate或Key为空。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificateId is not Support.', 'http_code' => null, 'description' => '不支持指定的ServerCertificateId。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificateId is empty.', 'http_code' => null, 'description' => '参数ServerCertificateId为空。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificate format is error.', 'http_code' => null, 'description' => '参数ServerCertificate格式错误,请修改格式后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The resource already exists.', 'http_code' => null, 'description' => '资源已经存在。'], + ['code' => 'InvalidParameter', 'message' => 'The lvsgw vip is same.', 'http_code' => null, 'description' => 'lvsgw VIP是相同的。'], + ['code' => 'InvalidParameter', 'message' => 'The param vSwitch check fail', 'http_code' => null, 'description' => 'vSwitch 参数不合法'], + ['code' => 'InvalidParameter', 'message' => 'The resource status is invalid.', 'http_code' => null, 'description' => '资源状态无效。'], + ['code' => 'InvalidParameter', 'message' => 'The serviceUnit and eip is not match.', 'http_code' => null, 'description' => 'serviceUnit 和 eip 不匹配。'], + ['code' => 'InvalidParameter', 'message' => 'The site is not exist.', 'http_code' => null, 'description' => '主备可用区信息错误'], + ['code' => 'InvalidParameter', 'message' => 'The type is invalid.', 'http_code' => null, 'description' => '该类型无效,请您检查该类型是否符合当前的操作。'], + ['code' => 'InvalidParameter', 'message' => 'The vgw ip is not support.', 'http_code' => null, 'description' => 'Vgw ip不支持该操作。'], + ['code' => 'InvalidParameter', 'message' => 'The vm address is not Support.', 'http_code' => null, 'description' => '后端服务器的地址不支持该操作,请您更换后端服务器的地址。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Cookie" is not valid.', 'http_code' => null, 'description' => '参数Cookie非法。'], + ['code' => 'InvalidParameter', 'message' => 'Invalid parameter in the request.', 'http_code' => null, 'description' => '请求中的参数无效。'], + ['code' => 'InvalidParameter', 'message' => 'The max connection param is Invalid.', 'http_code' => null, 'description' => '参数最大连接数错误。'], + ['code' => 'InvalidParameter', 'message' => 'The special LB network type donot support with Ecs network.', 'http_code' => null, 'description' => '该网络类型的负载均衡不支持此类ECS。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerPort" or "BackendServerPort" or "ConnectPort" is not valid.', 'http_code' => null, 'description' => '参数ListenerPort或BackendServerPort或ConnectPort无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerPort" or "BackendServerPort" is not valid.', 'http_code' => null, 'description' => '参数ListenerPort或BackendServerPort无效。'], + ['code' => 'InvalidParameter', 'message' => 'Illegal parameter', 'http_code' => null, 'description' => '非法参数'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "StickySessionType" is not valid.', 'http_code' => null, 'description' => '参数StickySessionType无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "HealthyThreshold" is not valid.', 'http_code' => null, 'description' => '参数HealthyThreshold非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ConnectPort" is not valid.', 'http_code' => null, 'description' => '参数ConnectPort无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ConnectTimeout" is not valid.', 'http_code' => null, 'description' => '参数ConnectTimeout无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "HealthCheck" is not valid.', 'http_code' => null, 'description' => '参数HealthCheck无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerPort" is not valid.', 'http_code' => null, 'description' => '参数ListenerPort非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "XForwardedFor" is not valid.', 'http_code' => null, 'description' => '参数XForwardedFor无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "IsPublicAddress" is not valid.', 'http_code' => null, 'description' => '参数IsPublicAddress无效。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "UnhealthyThreshold" is not valid.', 'http_code' => null, 'description' => '参数UnhealthyThreshold非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Interval" is not valid.', 'http_code' => null, 'description' => '参数Interval无效。'], + ['code' => 'InvalidParameter', 'message' => 'The Protocol is not Support', 'http_code' => null, 'description' => '该协议不支持。'], + ['code' => 'InvalidParameter', 'message' => 'The listen bandwidth is not Support', 'http_code' => null, 'description' => '监听的带宽值无效。'], + ['code' => 'InvalidParameter', 'message' => 'The Instance is Not Available.', 'http_code' => null, 'description' => '该实例不可用。'], + ['code' => 'InvalidParameter', 'message' => 'Specified parameter "SuName" is not exist.', 'http_code' => null, 'description' => '参数SuName指定serviceUnit不存在。'], + ['code' => 'InvalidParameter', 'message' => 'The specified region is not exist.', 'http_code' => null, 'description' => '该region不存在。'], + ['code' => 'InvalidParameter', 'message' => 'The specified resource does not exist.', 'http_code' => null, 'description' => '该资源不存在,请您检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'the special internet EIP donot support the VPC network type.', 'http_code' => null, 'description' => 'VPC网络类型与公网地址EIP冲突。'], + ['code' => 'InvalidParameter', 'message' => 'The specified vpc cloud instance has deleted', 'http_code' => null, 'description' => '该VPC实例已删除。'], + ['code' => 'InvalidParameter', 'message' => 'The Lb Name is Not supported.', 'http_code' => null, 'description' => '参数非法。'], + ['code' => 'InvalidParameter', 'message' => 'The specified BackendServers is invalid.', 'http_code' => null, 'description' => '参数BackendServers无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The maximum number of LoadBalancerId is exceeded.', 'http_code' => null, 'description' => 'LoadBalancerId的数量超过限制,请您修改LoadBalancerId的数量在10个以内。'], + ['code' => 'InvalidParameter', 'message' => 'The specified load balancer does not support the network type of the ECS instance.', 'http_code' => null, 'description' => '负载均衡实例不支持此种网络类型的ECS实例,请您换一种网络类型的ECS后再重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified CACertificate is invalid.', 'http_code' => null, 'description' => '参数CACertificate无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerStatus is invalid.', 'http_code' => null, 'description' => '参数LoadBalancerStatus无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified InternetChargeType is invalid.', 'http_code' => null, 'description' => '参数InternetChargeType无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Port is invalid.', 'http_code' => null, 'description' => '参数中的Port无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified VServerGroupId does not exist.', 'http_code' => null, 'description' => '指定的VServerGroupId不存在。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Bandwidth is invalid.', 'http_code' => null, 'description' => '指定的带宽无效。请检查带宽参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Bandwidth is invalid. It exceeds the maximum bandwidth available to the instance.', 'http_code' => null, 'description' => '参数Bandwidth无效,实例下所有监听的带宽和超过了实例可用的最大带宽。'], + ['code' => 'InvalidParameter', 'message' => 'The specified VServerGroupId is invalid.', 'http_code' => null, 'description' => '参数VServerGroupId无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified CACertificateId is invalid.', 'http_code' => null, 'description' => '参数CACertificateId无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerId is invalid.', 'http_code' => null, 'description' => '参数LoadBalancerId是无效的。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified RuleId is invalid.', 'http_code' => null, 'description' => '参数RuleId无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified RegionId does not exist.', 'http_code' => null, 'description' => '指定的RegionId不存在。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified SlaveZoneId is invalid.', 'http_code' => null, 'description' => '参数SlaveZoneId无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Weight is invalid.', 'http_code' => null, 'description' => '参数中的Weight无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerSpec is invalid.', 'http_code' => null, 'description' => '参数LoadBalancerSpec无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified MasterZoneId is invalid.', 'http_code' => null, 'description' => '参数MasterZoneId无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified SourceItems is invalid.', 'http_code' => null, 'description' => '参数SourceItems无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified ListenerPort is invalid.', 'http_code' => null, 'description' => '参数ListenerPort无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified AddressType is invalid.', 'http_code' => null, 'description' => '参数AddressType无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerName is invalid.', 'http_code' => 400, 'description' => '参数LoadBalancerNam无效。请检查该参数是否正确。'], + ['code' => 'InvalidParameter', 'message' => '%s.', 'http_code' => 400, 'description' => '指定的参数无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'Illegal parameter. The IP address is not in subnet.', 'http_code' => 400, 'description' => '参数非法,IP地址不在子网中。'], + ['code' => 'InvalidParameter', 'message' => 'InvalidParameter', 'http_code' => 400, 'description' => '参数无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The param vSwitch check fail,resource not exist or is deleted', 'http_code' => 400, 'description' => '参数vSwitch检查失败,资源不存在或已删除。'], + ['code' => 'InvalidParameter', 'message' => 'The specified AccessControlStatus is invalid.', 'http_code' => 400, 'description' => '指定的AccessControlStatus无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified BackendServers contain duplicated value of ServerID and Port.', 'http_code' => 400, 'description' => '指定的后端服务器包含重复的服务ID和端口值。'], + ['code' => 'InvalidParameter', 'message' => 'The specified BackendServers contain duplicated value.', 'http_code' => 400, 'description' => '指定的后端服务器包含重复的ServerId和Port。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Check is invalid.', 'http_code' => 400, 'description' => '指定的Check无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified ConnectPort is invalid.', 'http_code' => 400, 'description' => '指定的ConnectPort无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified ConnectTimeout is invalid.', 'http_code' => 400, 'description' => '指定的ConnectTimeout无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Domain is invalid.', 'http_code' => 400, 'description' => '指定的Domain无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified HealthCheck is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheck无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified HealthCheckHttpCode is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckHttpCode无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified HealthyThreshold is invalid.', 'http_code' => 400, 'description' => '指定的HealthyThreshold无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Interval is invalid.', 'http_code' => 400, 'description' => '指定的Interval无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified IsPublicAddress is invalid.', 'http_code' => 400, 'description' => '指定的IsPublicAddress无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified ListenerPort or ForwardPort is invalid.', 'http_code' => 400, 'description' => '指定的ListenerPort or ForwardPort无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified ListenerStatus is invalid.', 'http_code' => 400, 'description' => '指定的ListenerStatus无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified MaxConnection is invalid.', 'http_code' => 400, 'description' => '指定的MaxConnection无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified PersistenceTimeout is invalid.', 'http_code' => 400, 'description' => '指定的PersistenceTimeout无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified Scheduler is invalid.', 'http_code' => 400, 'description' => '指定的Scheduler无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified ServerCertificate and PrivateKey fail to validate.', 'http_code' => 400, 'description' => '指定的证书和私钥校验失败。'], + ['code' => 'InvalidParameter', 'message' => 'The specified StickySessionType is invalid.', 'http_code' => 400, 'description' => '指定的StickySessionType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified SuName does not exist.', 'http_code' => 400, 'description' => '指定的SuName无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified URI is invalid.', 'http_code' => 400, 'description' => '指定的URI无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified UnhealthyThreshold is invalid.', 'http_code' => 400, 'description' => '指定的UnhealthyThreshold无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter', 'message' => 'The specified VServerGroup by VServerGroupId is empty.', 'http_code' => 400, 'description' => '指定的服务器组不存在。'], + ['code' => 'InvalidParameter', 'message' => 'The specified VServerGroupId does not belong to the LoadBalancerId of the rule.', 'http_code' => 400, 'description' => '指定的服务器组和当前转发规则不属于同一个负载均衡实例。'], + ['code' => 'InvalidParameter', 'message' => 'The specified XForwardedFor is invalid.', 'http_code' => 400, 'description' => '指定的XForwardedFor无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.AclEntrys', 'message' => 'The specified parameter AclEntrys is not valid.', 'http_code' => 400, 'description' => '指定的AclEntrys无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.AliCloudCertificateId', 'message' => 'The specified AliCloudCertificateId is invalid.', 'http_code' => 400, 'description' => '指定的AliCloudCertificateId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.Bandwidth', 'message' => 'The param Bandwidth is invalid.', 'http_code' => 400, 'description' => '指定的Bandwidth无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.CertificateId', 'message' => 'The specified CertificateId contains duplicate certificate EncryptionAlgorithm.', 'http_code' => 400, 'description' => '指定的证书包含重复的证书加密算法。'], + ['code' => 'InvalidParameter.CertificateId', 'message' => 'The specified CertificateId is invalid.', 'http_code' => 400, 'description' => '指定的证书不存在。'], + ['code' => 'InvalidParameter.CloudType', 'message' => 'The specified CloudType is invalid.', 'http_code' => 400, 'description' => '指定的CloudType无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.Domain', 'message' => 'The specified Domain exists.', 'http_code' => 400, 'description' => '指定的Domain已存在。'], + ['code' => 'InvalidParameter.DomainExtensionId', 'message' => '%s.', 'http_code' => 400, 'description' => '指定的扩展域名不存在。'], + ['code' => 'InvalidParameter.DomainExtensionId', 'message' => 'The specified DomainExtensionId does not exist.', 'http_code' => 400, 'description' => '指定的扩展域名不存在。'], + ['code' => 'InvalidParameter.ForwardCode', 'message' => 'The specified ForwardCode is invalid.', 'http_code' => 400, 'description' => '指定的ForwardCode无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.HealthCheckHttpVersion', 'message' => 'The param HealthCheckHttpVersion is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckHttpVersion无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.IdleTimeout', 'message' => 'The specified IdleTimeout exceeds the limit.', 'http_code' => 400, 'description' => '指定的IdleTimeout无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.ListenerPortConflict', 'message' => 'There is conflict listener port exists.', 'http_code' => 400, 'description' => '指定的监听端口已存在。'], + ['code' => 'InvalidParameter.Mismatch', 'message' => 'AddressType and IpVersion is conflict, IPv6 does not support intranet instance.', 'http_code' => 400, 'description' => '网络类型和IP版本冲突,私网实例不支持IPv6。'], + ['code' => 'InvalidParameter.RegionId', 'message' => 'The specified RegionId does not exist.', 'http_code' => 400, 'description' => '指定的RegionId不存在。'], + ['code' => 'InvalidParameter.RegionNotSupport', 'message' => 'The region does not support the parameter: %s.', 'http_code' => 400, 'description' => '当前区域不支持指定参数。'], + ['code' => 'InvalidParameter.RequestTimeout', 'message' => 'The specified RequestTimeout exceeds the limit.', 'http_code' => 400, 'description' => '指定的RequestTimeout无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.ServerCertificateId', 'message' => 'The specified ServerCertificateId does not exist.', 'http_code' => 400, 'description' => '指定的服务证书不存在。'], + ['code' => 'InvalidParameter.ServerRegionId', 'message' => 'The parameter ServerRegionId is invalid for crossborder.', 'http_code' => 400, 'description' => '指定的ServerRegionId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.ServerRegionId', 'message' => 'The specified ServerRegionId is invalid.', 'http_code' => 400, 'description' => '指定的ServerRegionId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.SourceItems', 'message' => '%s.', 'http_code' => 400, 'description' => '指定的SourceItems存在冲突。'], + ['code' => 'InvalidParameter.SpecNotSupport', 'message' => 'The loadBalancer of shared spec does not support the parameter: %s.', 'http_code' => 400, 'description' => '共享型负载均衡实例不支持当前参数。'], + ['code' => 'InvalidParameter.TagKey', 'message' => 'The specified tag key is invalid.', 'http_code' => 400, 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.TagValue', 'message' => 'The specified tag value is illegal.', 'http_code' => 400, 'description' => '指定的TagValue无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParameter.VServerGroupId', 'message' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'http_code' => 400, 'description' => 'HTTP或HTTPS监听不支持挂载主备服务器组。'], + ['code' => 'InvalidParameter.ZoneNotSupport', 'message' => 'The zone does not support the parameter %s.', 'http_code' => 400, 'description' => '当前可用区不支持指定参数。'], + ['code' => 'InvalidParameterLength', 'message' => 'The specified parameter length is not valid.', 'http_code' => null, 'description' => '参数内容长度非法。'], + ['code' => 'InvalidParameterValue.RegionNotSupport', 'message' => 'The region does not support the parameter value, %s.', 'http_code' => 400, 'description' => '当前地域不支持指定的参数取值。'], + ['code' => 'InvalidParameterValue.SpecNotSupport', 'message' => 'The loadBalancer of shared spec does not support the parameter value, %s.', 'http_code' => 400, 'description' => '共享型负载均衡实例不支持指定的参数取值。'], + ['code' => 'InvalidParameterValue.ZoneNotSupport', 'message' => 'The zone does not support the parameter value, %s.', 'http_code' => 400, 'description' => '当前可用区不支持指定参数取值。'], + ['code' => 'InvalidParamLength.HealthCheckExp', 'message' => 'The length of the parameter HealthCheckExp is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParamLength.HealthCheckExp', 'message' => 'The length of the parameter HealthCheckReq is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckExp无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParamLength.HealthCheckReq', 'message' => 'The length of the parameter HealthCheckReq is invalid.', 'http_code' => 400, 'description' => '指定的HealthCheckReq无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParamSize.CertificateId', 'message' => 'The size of parameter CertificateId is invalid.', 'http_code' => 400, 'description' => '指定的CertificateId无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParamSize.PortRange', 'message' => 'The size of param PortRange is invalid.', 'http_code' => 400, 'description' => '指定的PortRange无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidParamSize.ServerCertificates', 'message' => 'The size of param ServerCertificates is invalid.', 'http_code' => 400, 'description' => '指定的ServerCertificates长度无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidPayMethod', 'message' => 'Invalid pay method', 'http_code' => null, 'description' => '无效的支付方式。'], + ['code' => 'InvalidPayMethod', 'message' => 'Invalid pay method, please check your pay method.', 'http_code' => 400, 'description' => '无效的付款方式,请检查您的付款方式。'], + ['code' => 'InvalidRegionId.NotFound', 'message' => 'Specified region does not exist.', 'http_code' => null, 'description' => '该region不存在。'], + ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId does not exist.', 'http_code' => null, 'description' => '指定的 RegionId 不存在,请您检查此产品在该地域是否可用。'], + ['code' => 'InvalidResourceGroupId.NotFound', 'message' => 'The specified ResourceGroupId is not found.', 'http_code' => 400, 'description' => '指定的资源组不存在。'], + ['code' => 'InvalidResourceOwnerAccount', 'message' => 'The input parameter ResourceOwnerAccount is invalid.', 'http_code' => null, 'description' => '参数ResourceOwnerAccount无效。'], + ['code' => 'InvalidRuleId.NotFound', 'message' => 'Rule does not exist.', 'http_code' => null, 'description' => '规则不存在。'], + ['code' => 'InvalidServerId.Malformed', 'message' => 'A specified server ID is not valid', 'http_code' => null, 'description' => '该服务器ID无效。'], + ['code' => 'InvalidServerId.Malformed', 'message' => 'A specified server ID is not valid.', 'http_code' => null, 'description' => '该服务器ID无效。'], + ['code' => 'InvalidServerId.Malformed', 'message' => 'A specified server ID is not valid, flush control ip chain fail.', 'http_code' => 400, 'description' => '指定的ServerId无效。'], + ['code' => 'InvalidServerId.Malformed', 'message' => 'The specified ServerId is invalid.', 'http_code' => 400, 'description' => '指定的ServerId无效。'], + ['code' => 'InvalidServerId.NotExist', 'message' => 'The specified ServerId is not exist.', 'http_code' => 400, 'description' => '指定的后端服务器不存在。'], + ['code' => 'InvalidServerId.NotFound', 'message' => 'The specified server is not found.', 'http_code' => null, 'description' => '后端服务器不存在。'], + ['code' => 'InvalidServerId.NotFound', 'message' => 'The specified ServerId does not exist.', 'http_code' => null, 'description' => '指定的ServerId不存在。请检查该参数是否正确。'], + ['code' => 'InvalidTag', 'message' => 'The specified tags is invalid.', 'http_code' => 400, 'description' => '指定的TagKey无效。请检查参数约束,并在修改后重试。'], + ['code' => 'InvalidTLSPolicyId.NotExist', 'message' => 'The specified TLS cipher policy does not exist.', 'http_code' => 400, 'description' => '指定的TLS策略不存在。'], + ['code' => 'InvalidVbrId.NotInCen', 'message' => 'The VbrId is not in the cen associated with the loadbalancer.', 'http_code' => 400, 'description' => '指定的Vbr不在实例关联的Cen内。'], + ['code' => 'InvalidVpcId.NotExist', 'message' => 'The specified VPC not exist.', 'http_code' => 400, 'description' => '指定的VPC不存在。'], + ['code' => 'InvalidVServerGroup', 'message' => 'The VServerGroup is invalid.', 'http_code' => null, 'description' => '该虚拟服务器组id无效,请您检查该服务器组id是否正确。'], + ['code' => 'InvalidVServerGroup', 'message' => 'The specified VServerGroupId is invalid.', 'http_code' => 400, 'description' => '指定的服务器组不存在。'], + ['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified vSwitch instance is invalid.', 'http_code' => 400, 'description' => '非法的vswitch实例。'], + ['code' => 'InvalidWeight.Malformed', 'message' => 'A specified weight is not valid.', 'http_code' => null, 'description' => '参数Weight无效。'], + ['code' => 'INVALID_COMPONENT', 'message' => 'This Account can\'t buy such type loadbalancer.', 'http_code' => null, 'description' => '此帐户不允许购买该类型的负载均衡,请您选择购买其他类型的负载均衡。'], + ['code' => 'INVALID_SERVER_TYPE', 'message' => 'Invalid server type.', 'http_code' => null, 'description' => '非法的服务器类型。'], + ['code' => 'IpIsUsed', 'message' => 'The specified Address IP is already in use', 'http_code' => 400, 'description' => '该IP已在被使用。'], + ['code' => 'IpIsUsed', 'message' => 'The specified Address ip is already in use, please use an unused ip.', 'http_code' => 400, 'description' => '指定的地址IP已在使用中,请使用未使用的IP。'], + ['code' => 'IpListItemFormatError', 'message' => 'please check the ip list item format error.', 'http_code' => null, 'description' => 'IP列表格式错误。'], + ['code' => 'IpNotAvailable', 'message' => 'The specified parameter "Address" is not valid.', 'http_code' => null, 'description' => '该参数Address无效。'], + ['code' => 'IpNotAvailable', 'message' => 'The specified type of Server Load Balancer is sold out, try other types of resources or other regions and zones.', 'http_code' => 400, 'description' => '指定类型的负载均衡已售罄,请尝试其他类型的资源或在其他区域购买。'], + ['code' => 'IpVersionConflict', 'message' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'http_code' => 400, 'description' => '指定负载均衡的IP版本与ACL支持的IP类型冲突。'], + ['code' => 'LBNotSupportENI', 'message' => 'The loadbalancer does not support backend servers of eni type.', 'http_code' => 400, 'description' => '当前负载均衡实例不支持Eni类型的后端服务器。'], + ['code' => 'LBNotSupportExpressConnect', 'message' => 'The loadBalancer does not support backend servers of expressconnect type.', 'http_code' => 400, 'description' => '当前负载均衡实例不支持ExpressConnect类型的后端服务器。'], + ['code' => 'LBNotSupportSuchAction', 'message' => 'The specified loadbalancer does not support such action.', 'http_code' => 500, 'description' => '该LB实例不支持此操作'], + ['code' => 'LbNotSupportTcpssl', 'message' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'http_code' => 400, 'description' => '指定的实例不支持创建tcpssl类型的监听。'], + ['code' => 'LbSupportTcpsslOnly', 'message' => 'The specified load balancer supports TCP SSL type listener only.', 'http_code' => 400, 'description' => '指定的实例只支持创建tcpssl类型的监听。'], + ['code' => 'ListenerAlreadyExists', 'message' => 'There is already a listener bound to the port on the specified load balancer.', 'http_code' => null, 'description' => '在指定的负载均衡上已经存在同样端口的监听。'], + ['code' => 'ListenerForwardExist', 'message' => 'The specified listener is forwarded by the other listener, the ListenerForward relationship should be deleted firstly.', 'http_code' => 400, 'description' => '当前的监听已由另一个监听转发,请先删除当前监听转发关系后重试。'], + ['code' => 'ListenerForwardNotSupport', 'message' => 'X-Forward-For is not supported to a ipv6 instance.', 'http_code' => 400, 'description' => 'Ipv6负载均衡实例不支持X-Forward-For。'], + ['code' => 'ListenerNotFound', 'message' => 'No Listener to the specified port of the Load Balancer.', 'http_code' => null, 'description' => '该端口的监听不存在。'], + ['code' => 'ListenerNotFound', 'message' => 'You have not created a listener for the specified port of the load balancer.', 'http_code' => null, 'description' => '您还没有为负载均衡器的指定端口创建监听。'], + ['code' => 'ListenerNotSupportRule', 'message' => 'You cannot create a rule for the specified listener.', 'http_code' => 400, 'description' => '指定的监听不支持创建转发规则。'], + ['code' => 'ListenerNumberOverLimit', 'message' => 'The maximum number of listeners is exceeded.', 'http_code' => null, 'description' => '创建监听的数量超过了限制,请您修改监听数量在30个以内。'], + ['code' => 'ListenerPortConflict', 'message' => 'The specified ListenerPort is conflict with other listener.', 'http_code' => 400, 'description' => '指定的监听端口号已被占用。'], + ['code' => 'ListenerProcessing', 'message' => 'A previous configuration of the listener is pending, please try again later.', 'http_code' => 400, 'description' => '当前监听正在配置中,请稍后重试。'], + ['code' => 'ListenerProcessing', 'message' => 'A previous configuration of the listener is pending,please try again later.', 'http_code' => 400, 'description' => '当前监听正在配置中,请稍后重试。'], + ['code' => 'ListenerProtocolMismatch', 'message' => 'The listener protocol on the specified port does not match.', 'http_code' => 400, 'description' => '监听端口使用的协议与接口的类型不匹配。'], + ['code' => 'ListenOverLimit', 'message' => 'the listeners is over the limit.', 'http_code' => 400, 'description' => '监听数量超上限。'], + ['code' => 'LX_CREATE_ORDER_FAILED', 'message' => 'The specified product is configuring', 'http_code' => null, 'description' => '该产品正在配置中。'], + ['code' => 'LX_REQUEST_TOKEN_CONFLICT', 'message' => 'The ClientToken is conflict.', 'http_code' => 400, 'description' => 'clienttoken冲突。'], + ['code' => 'MasterSlaveServerConflict', 'message' => 'The servers are conflict for MasterSlaveGroup.', 'http_code' => 400, 'description' => '主备服务器组的后端服务器冲突。'], + ['code' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'message' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'http_code' => 400, 'description' => '实例规格类型和监听类型不匹配。'], + ['code' => 'Mismatched.ZoneId', 'message' => 'The ZoneId is mismatching.', 'http_code' => 400, 'description' => '传入的zoneId不匹配。'], + ['code' => 'Mismatched.ZoneId', 'message' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'http_code' => 400, 'description' => '当前服务器的可用区与云盒实例可用区不匹配。'], + ['code' => 'MissingParam.Ciphers', 'message' => 'The param Ciphers is missing.', 'http_code' => 400, 'description' => '参数Ciphers缺失。'], + ['code' => 'MissingParam.HealthCheckConnectPort', 'message' => 'The parameter HealthCheckConnectPort is required.', 'http_code' => 400, 'description' => '参数HealthCheckConnectPort缺失。'], + ['code' => 'MissingParam.HealthCheckDomain', 'message' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'http_code' => 400, 'description' => '参数HealthCheckDomain缺失。'], + ['code' => 'MissingParam.HealthCheckMethod', 'message' => 'The param of HealthCheckMethod is missing.', 'http_code' => 400, 'description' => '参数HealthCheckMethod缺失。'], + ['code' => 'MissingParam.LoadBalancerSpec', 'message' => 'The param LoadBalancerSpec is required.', 'http_code' => 400, 'description' => '参数LoadBalancerSpec缺失。'], + ['code' => 'MissingParam.ModificationProtectionStatus', 'message' => 'You must specify ModificationProtectionStatus.', 'http_code' => 400, 'description' => '缺少属性ModificationProtectionStatus'], + ['code' => 'MissingParam.Name', 'message' => 'The param Name is missing.', 'http_code' => 400, 'description' => '参数Name缺失。'], + ['code' => 'MissingParam.RegionId', 'message' => 'The parameter RegionId is required.', 'http_code' => 400, 'description' => '参数RegionID缺失,请检查。'], + ['code' => 'MissingParam.ResourceId', 'message' => 'The parameter ResourceId is required.', 'http_code' => 400, 'description' => '参数ResourceId缺失。'], + ['code' => 'MissingParam.Resources', 'message' => 'The parameter Resources is missing.', 'http_code' => 400, 'description' => '参数Resources缺失。'], + ['code' => 'MissingParam.ResourceType', 'message' => 'The parameter ResourceType is missing.', 'http_code' => 400, 'description' => '参数ResourceType缺失。'], + ['code' => 'MissingParam.Scope', 'message' => 'The parameter Scope is required.', 'http_code' => 400, 'description' => '参数Scope缺失。'], + ['code' => 'MissingParam.SegmentId', 'message' => 'You must specify SegmentId.', 'http_code' => 400, 'description' => '入参地址段ID缺失'], + ['code' => 'MissingParam.ServerCertificates', 'message' => 'Server certificates are required.', 'http_code' => 400, 'description' => '参数ServerCertificates缺失。'], + ['code' => 'MissingParam.ServerCertificates', 'message' => 'The param ServerCertificates is missing.', 'http_code' => 400, 'description' => '参数ServerCertificates缺失。'], + ['code' => 'MissingParam.ServiceManagedMode', 'message' => 'The parameter ServiceManagedMode is missing.', 'http_code' => 400, 'description' => '参数ServiceManagedMode缺失。'], + ['code' => 'MissingParam.SpecType', 'message' => 'The param of SpecType is missing.', 'http_code' => 400, 'description' => '参数SpecType缺失。'], + ['code' => 'MissingParam.TagKey', 'message' => 'The parameter TagKey is required.', 'http_code' => 400, 'description' => '参数TagKey缺失。'], + ['code' => 'MissingParam.TagKey', 'message' => 'The param TagKey is missing.', 'http_code' => 400, 'description' => '缺少参数 TagKey。'], + ['code' => 'MissingParam.TagOrResourceId', 'message' => 'The parameter Tag or ResourceId is required at least one.', 'http_code' => 400, 'description' => '参数TagOrResourceId缺失。'], + ['code' => 'MissingParam.TagOwnerBid', 'message' => 'The parameter TagOwnerBid is required.', 'http_code' => 400, 'description' => '参数TagOwnerBid缺失。'], + ['code' => 'MissingParam.TagOwnerUid', 'message' => 'The parameter TagOwnerUid is required.', 'http_code' => 400, 'description' => '参数TagOwnerUid缺失。'], + ['code' => 'MissingParam.TLSCipherPolicyId', 'message' => 'The param TLSCipherPolicyId is missing.', 'http_code' => 400, 'description' => '参数TLSCipherPolicyId缺失。'], + ['code' => 'MissingParam.TlsVersions', 'message' => 'The param TlsVersions is missing.', 'http_code' => 400, 'description' => '参数TlsVersions缺失。'], + ['code' => 'MissingParam.VServerGroupId', 'message' => 'The parameter VServerGroupId is missing.', 'http_code' => 400, 'description' => '参数VServerGroupId缺失。'], + ['code' => 'MissingParam.VSwitchId', 'message' => 'The parameter VSwitchId is required.', 'http_code' => 400, 'description' => '参数VSwitchId缺失。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ListenerPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '您必须指定参数ListenerPort,该参数为必填参数。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ServerId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '参数ServerId必须要填写。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter OwnerId', 'http_code' => null, 'description' => '缺失参数OwnerId。'], + ['code' => 'MissingParameter', 'message' => 'The combination of some parameters violates the spec.', 'http_code' => null, 'description' => '请求参数中存在冲突'], + ['code' => 'MissingParameter', 'message' => 'The input parameter is missing', 'http_code' => null, 'description' => '缺失该参数。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "RegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '缺少必选参数RegionId。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "LoadBalancerId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '您必须指定参数LoadBalancerId。该参数为必填参数。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "BackendServerPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '该请求参数BackendServerPort为必选。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '缺少必选参数。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ListenerPort" or "BackendServerPort" or "ConnectPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '输入参数ListenerPort或BackendServerPort或ConnectPort未提供。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ListenerPort" or "BackendServerPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '缺少参数ListenerPort或BackendServerPort。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter " that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => '您必须指定参数LoadBalancerId。该参数为必填参数。'], + ['code' => 'MissingParameter', 'message' => 'The specified ServerCertificate is invalid.', 'http_code' => null, 'description' => '参数ServerCertificate无效。请检查该参数是否正确。'], + ['code' => 'MissingParameter', 'message' => 'The specified ServerCertificateName is invalid.', 'http_code' => null, 'description' => '参数ServerCertificateName无效。请检查该参数是否正确。'], + ['code' => 'MissingParameter', 'message' => 'The UnhealthyThreshold parameter is required.', 'http_code' => null, 'description' => '参数UnhealthyThreshold为必填参数。'], + ['code' => 'MissingParameter', 'message' => 'The HealthCheckTimeout parameter is required.', 'http_code' => null, 'description' => '参数HealthCheckTimeout为必填参数。'], + ['code' => 'MissingParameter', 'message' => '%s.', 'http_code' => 400, 'description' => '参数缺失。'], + ['code' => 'MissingParameter', 'message' => 'The BackendServerPort or VServerGroupId is required at lease one.', 'http_code' => 400, 'description' => '参数BackendServerPort和VServerGroupId至少需要配置一个。'], + ['code' => 'MissingParameter', 'message' => 'The LoadBalancerId parameter is required.', 'http_code' => 400, 'description' => '参数LoadBalancerId缺失。'], + ['code' => 'MissingParameter', 'message' => 'The RegionId parameter is required.', 'http_code' => 400, 'description' => '参数RegionId缺失。'], + ['code' => 'MissingParameter', 'message' => 'The VServerGroupName or BackendServers is required at lease one.', 'http_code' => 400, 'description' => '参数VServerGroupName和BackendServers至少需要配置一个。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter OwnerId,OwnerAccount that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => '参数 OwnerId或者OwnerAccount缺失。'], + ['code' => 'MissingParameter', 'message' => 'The input parameter is missing,that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => '参数缺失。'], + ['code' => 'MissingParameter', 'message' => 'The specified BackendServerPort is required.', 'http_code' => 400, 'description' => '参数BackendServerPort缺失。'], + ['code' => 'MissingParameter', 'message' => 'The specified Cookie is required.', 'http_code' => 400, 'description' => '参数Cookie缺失。'], + ['code' => 'MissingParameter.CertificateId', 'message' => 'The parameter CertificateId is required.', 'http_code' => 400, 'description' => '参数CertificateId缺失。'], + ['code' => 'MissingParameter.DomainExtensionId', 'message' => 'The param DomainExtensionId is missing', 'http_code' => 400, 'description' => '参数DomainExtensionId缺失。'], + ['code' => 'MissingParameter.RuleName', 'message' => 'The parameter RuleName is required.', 'http_code' => 400, 'description' => '参数RuleName缺失。'], + ['code' => 'MissingParameter.ServerRegionId', 'message' => 'The parameter ServerRegionId is required.', 'http_code' => 400, 'description' => '参数ServerRegionId缺失。'], + ['code' => 'MissingParameter.Tags', 'message' => 'The parameter Tags should not be null.', 'http_code' => 400, 'description' => '参数Tags缺失。'], + ['code' => 'MissingParameter.VbrId', 'message' => 'The parameter VbrId is required.', 'http_code' => 400, 'description' => '参数VbrId缺失。'], + ['code' => 'ModifySpecNotAllowed', 'message' => 'LoadBalancerSpec not allowed for this instance', 'http_code' => null, 'description' => '该负载均衡不支持这种实例规格。'], + ['code' => 'MultiGrayKeyResourceInconsist', 'message' => 'The identifier for the gray resource is set incorrectly.', 'http_code' => 400, 'description' => '灰度资源的标识设置错误。'], + ['code' => 'NetworkConflict', 'message' => 'there are network conflicts in specified parameter.', 'http_code' => null, 'description' => '在指定的参数中存在网络冲突,请您检查该参数是否正确后再试。'], + ['code' => 'NetworkConflict', 'message' => '%s.', 'http_code' => 400, 'description' => '虚拟服务器组和ECS配置信息不一致。'], + ['code' => 'NoAailablePaymentMethod', 'message' => 'No payment method is specified for your account.', 'http_code' => 400, 'description' => '没有为您的帐户指定付款方式'], + ['code' => 'NOCARD', 'message' => 'User Profile doesn t have card', 'http_code' => 400, 'description' => '未绑定银行卡,请您先绑定银行卡后再重试。'], + ['code' => 'NoNameAuthentication', 'message' => 'Account should be Name Authenticated.', 'http_code' => 400, 'description' => '账户未进行实名认证。'], + ['code' => 'NoPermission.AliyunServiceRoleForCLBConvert', 'message' => 'You have no permission to CreateServiceLinkedRole. RoleName:AliyunServiceRoleForCLBConvert, ServiceName:clbconvert.slb.aliyuncs.com.', 'http_code' => 400, 'description' => 'You have no permission to CreateServiceLinkedRole. RoleName:AliyunServiceRoleForCLBConvert, ServiceName:clbconvert.slb.aliyuncs.com'], + ['code' => 'NoPermission.AliyunServiceRoleForSlbEipAccess', 'message' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbEipAccess. Service Name: eipaccess.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'http_code' => 400, 'description' => '您没有权限创建服务关联角色,角色名:AliyunServiceRoleForSlbEipAccess,服务名:eipaccess.slb.aliyuncs.com。请确保已授予当前用户ram:CreateServiceLinkedRole权限。'], + ['code' => 'NoPermission.AliyunServiceRoleForSLBHealthDiagnose', 'message' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSLBHealthDiagnose. Service Name: healthdiagnose.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'http_code' => 400, 'description' => '您没有权限创建服务关联角色,角色名:AliyunServiceRoleForSLBHealthDiagnose,服务名:ServiceName: healthdiagnose.slb.aliyuncs.com。请确保已授予当前用户ram:CreateServiceLinkedRole权限。'], + ['code' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', 'message' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', 'http_code' => 400, 'description' => '您没有权限创建服务关联角色,角色名:AliyunServiceRoleForSlbLogDelivery,服务名:logdelivery.slb.aliyuncs.com。请确保已授予当前用户ram:CreateServiceLinkedRole权限。'], + ['code' => 'NoPermission.Operator', 'message' => 'The user is not authorized to perform the operation.', 'http_code' => 400, 'description' => '用户无权使用该操作'], + ['code' => 'NoPermission.Operator', 'message' => 'The operator is not permission for this operate.', 'http_code' => 400, 'description' => '操作者无权进行此操作。'], + ['code' => 'NoPermission.RAM', 'message' => 'You are not authorized to do this action. You should be authorized by RAM.', 'http_code' => 400, 'description' => '操作未被授权。请确保当前账号有进行当前操作的权限后重试。'], + ['code' => 'NO_REAL_NAME_AUTHENTICATION', 'message' => 'The Account should be Real Name Authenticated.', 'http_code' => 400, 'description' => '应该实名认证。'], + ['code' => 'ObtainIpFail', 'message' => 'Obtain Ip Fail', 'http_code' => 400, 'description' => '获取IP失败。'], + ['code' => 'ObtainIpFail', 'message' => 'The specified BackendServers is invalid; some of the specified backend servers do not exist or are not running.', 'http_code' => 400, 'description' => '指定的BackendServers无效;指定的后端服务器不存在或不运行。请检查该参数是否正确。'], + ['code' => 'Operation.Deny', 'message' => 'The specified listener is configuring, please try again later.', 'http_code' => 400, 'description' => '指定的监听正在配置中,请稍后重试。'], + ['code' => 'Operation.NotAllowed', 'message' => 'No Permission', 'http_code' => null, 'description' => '操作受限,不允许此类操作。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Region not support', 'http_code' => null, 'description' => '该地域不支持此类操作。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Cannot delete LogsDownloadAttribute', 'http_code' => null, 'description' => '不允许删除日志下载。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Cannot find legal LogsDownloadAttribute', 'http_code' => null, 'description' => '不允许该操作。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Only allow changing loadBalancer from PayOnDemand to PrePay.', 'http_code' => 400, 'description' => '操作被拒绝,原因是只支持后付费转预付费。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied, Your account does not have enough balance.', 'http_code' => 400, 'description' => '操作被拒绝,原因是账户余额不足。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. Prepay instance only permitted to increase loadBalancerSpec.', 'http_code' => 400, 'description' => '操作被拒绝,原因是预付费实例只允许提升规格。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. Prepay instance only permitted to modify internet bandwidth.', 'http_code' => 400, 'description' => '操作被拒绝,原因是预付费实例只允许修改公网带宽。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. The HTTP listener does not support this action.', 'http_code' => 400, 'description' => '操作被拒绝,原因是HTTP 类型监听不支持此操作。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. The Purchase status of the instance is not valid.', 'http_code' => 400, 'description' => '操作被拒绝,原因是负载均衡实例下单参数非法。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. The charge type of internet prepay instance can only be paybybandwidth.', 'http_code' => 400, 'description' => '操作被拒绝,原因是公网预付费实例只支持按带宽计费。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. The charge type of intranet prepay instance can only be paybytraffic.', 'http_code' => 400, 'description' => '操作被拒绝,原因是私网预付费实例只支持按流量计费。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. The listener does not support this action.', 'http_code' => 400, 'description' => '操作被拒绝,原因是当前监听不支持此操作。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. Unfinished order exists.', 'http_code' => 400, 'description' => '操作被拒绝,原因是存在未完成的订单。'], + ['code' => 'Operation.NotAllowed', 'message' => 'The specified listener is not allowed to operate.', 'http_code' => 400, 'description' => '当前监听不支持变配。'], + ['code' => 'Operation.NotAllowed', 'message' => 'The specified loadbalancer does not support such action because its type is singleTunnel or anyTunnel.', 'http_code' => 400, 'description' => 'SingleTunnel或者AnyTunnel类型的负载均衡实例不支持此类操作。'], + ['code' => 'Operation.NotAllowed', 'message' => 'The specified rules must be in the same listener.', 'http_code' => 400, 'description' => '指定的转发规则必须属于同一个监听。'], + ['code' => 'Operation.NotAllowed', 'message' => 'WhiteList is Disabled while Acl is Enabled', 'http_code' => 400, 'description' => '启用Acl后不支持配置白名单。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Operation Denied. Prepay instance only permitted to increase internet bandwidth.', 'http_code' => 400, 'description' => '操作被拒绝,原因是预付费实例只支持升配公网带宽。'], + ['code' => 'Operation.NotAllowed', 'message' => 'Cannot change internet payByTraffic loadBalancer from PayOnDemand to PrePay.', 'http_code' => 400, 'description' => '按流量计费的公网实例不支持由后付费转为预付费。'], + ['code' => 'OperationBusy', 'message' => 'The operation is busy.', 'http_code' => 400, 'description' => '操作繁忙,请稍后再试。'], + ['code' => 'OperationBusy', 'message' => 'A previous operation is pending.', 'http_code' => 400, 'description' => '先前的操作正在等待中。请稍后再试。'], + ['code' => 'OperationDenied.CloudBox', 'message' => 'The operation is not allowed because of CloudBox.', 'http_code' => 400, 'description' => '操作被拒绝,原因是云盒实例不支持此操作。'], + ['code' => 'OperationDenied.DeleteProtectionIsOn', 'message' => 'The loadbalancer can not be deleted due to DeleteProtection is enabled.', 'http_code' => 400, 'description' => '操作被拒绝,原因是负载均衡实例开启了删除保护。'], + ['code' => 'OperationDenied.FullNatModeNotAllowed', 'message' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'http_code' => 400, 'description' => '操作被拒绝,原因是不支持FullNat模式。'], + ['code' => 'OperationDenied.HdMonitorListenerExist', 'message' => 'The operation is denied because there are still listeners enabling HighDefinitionMnitor.', 'http_code' => 400, 'description' => '当前操作被拒绝,系统中存在启用秒级监控的监听。'], + ['code' => 'OperationDenied.HealthCheckClosedForMasterSlaveMode', 'message' => 'The operation is denied because of HealthCheckClosedForMasterSlaveMode.', 'http_code' => 400, 'description' => '操作被拒绝,原因是主备模式下要求必须开启健康检查。'], + ['code' => 'OperationDenied.MasterSlaveGroupLogEnabled', 'message' => 'The operation is denied because of MasterSlaveGroupLogEnabled.', 'http_code' => 400, 'description' => '操作被拒绝,原因是主备服务器组日志已启用。'], + ['code' => 'OperationDenied.NotSupportAcl', 'message' => 'You cannot set ACL for single tunnel or any tunnel load balancers.', 'http_code' => 400, 'description' => 'single Tunnel any Tunnel类型的负载均衡实例, 不支持配置访问控制.'], + ['code' => 'OperationDenied.NotSupportAcl', 'message' => 'The operation is denied because The single Tunnel or any Tunnel loadbalancer does not support config AccessControlList.', 'http_code' => 400, 'description' => '操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。'], + ['code' => 'OperationDenied.OnlyIpv4SlbSupport', 'message' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'http_code' => 400, 'description' => '操作被拒绝,原因是只有IPV4实例支持开启FULL NAT模式。'], + ['code' => 'OperationDenied.PayByCLCU', 'message' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', 'http_code' => 400, 'description' => '操作被拒绝,原因是为PayByCLCU类型实例。'], + ['code' => 'OperationDenied.ServiceManagedResource', 'message' => 'The operation is not allowed because the current resource is managed resource.', 'http_code' => 400, 'description' => '操作被拒绝,原因是当前操作资源为托管资源。'], + ['code' => 'OperationDenied.ServiceManagedUid', 'message' => 'The operation is not allowed because the current account is service managed account.', 'http_code' => 400, 'description' => '操作被拒绝,原因是当前账户是财务托管账户。'], + ['code' => 'OperationDenied.SpecialListenerPortNotAllowed', 'message' => 'The operation is not allowed because port 4789 is reserved by the system.', 'http_code' => 400, 'description' => '操作被拒绝,原因是4789是系统保留端口。'], + ['code' => 'OperationDeny.LbNotSupportClassicServer', 'message' => 'The specified loadbalancer does not support classic server.', 'http_code' => 400, 'description' => '操作被拒绝,原因是当前负载均衡实例不支持经典类型后端服务器。'], + ['code' => 'OperationDeny.LbNotSupportIPv6Server', 'message' => 'The specified loadbalancer does not support ipv6 server.', 'http_code' => 400, 'description' => '指定负载均衡实例不支持IPV6后端。'], + ['code' => 'OperationFailed. InvalidStatus', 'message' => 'The status of the loadbalancer does not support this operation.', 'http_code' => 400, 'description' => '资源状态无效。'], + ['code' => 'OperationFailed.AclBindedWithVip', 'message' => 'The ACL has binded with vip.', 'http_code' => 400, 'description' => '操作失败,原因是Acl已与监听绑定。'], + ['code' => 'OperationFailed.ActionNotSupport', 'message' => 'The loadbalancer of ipv6 does not support such action.', 'http_code' => 400, 'description' => '操作失败,原因是Ipv6类型负载均衡实例不支持此操作。'], + ['code' => 'OperationFailed.ActionNotSupport', 'message' => 'The loadbalancer does not support such action.', 'http_code' => 400, 'description' => '当前实例不支持该操作。'], + ['code' => 'OperationFailed.CashBookInsufficient', 'message' => 'No payment method is specified for your account, We recommend that you add a payment method or maintain a prepayment balance.', 'http_code' => 400, 'description' => '操作失败,原因是您的账户未指定付款方式,我们建议您添加付款方式或保持预付款余额。'], + ['code' => 'OperationFailed.Endpoint', 'message' => 'The operation failed because of the RegionId is unavailable in this endpoint.', 'http_code' => 400, 'description' => 'endpoint 错误'], + ['code' => 'OperationFailed.IncompleteInformation', 'message' => 'Your information is incomplete. Complete your information before the operation.', 'http_code' => 400, 'description' => '操作失败,原因是您的信息不完整。 操作前填写您的信息。'], + ['code' => 'OperationFailed.InsufficientResources', 'message' => 'The loadbalancer does not support this operation because of insufficient resources.', 'http_code' => 400, 'description' => '操作失败,原因是由于资源不足,负载均衡器不支持此操作。'], + ['code' => 'OperationFailed.InvalidAccount', 'message' => 'The account information is incomplete.', 'http_code' => 400, 'description' => '操作失败,原因是账户信息不完整。'], + ['code' => 'OperationFailed.InvalidCen', 'message' => 'The cen related with this loadbalancer is invalid.', 'http_code' => 400, 'description' => '操作失败,原因是指定负载均衡实例关联的Cen信息缺失。'], + ['code' => 'OperationFailed.InvalidStatus', 'message' => 'The status of the loadbalancer does not support this operation.', 'http_code' => 400, 'description' => '资源状态无效。'], + ['code' => 'OperationFailed.InvokeLingXiaoFailed', 'message' => 'Failed to invoke lingxiao service.', 'http_code' => 400, 'description' => '操作失败,原因是调用凌霄服务失败。'], + ['code' => 'OperationFailed.InvokeProxyFailed', 'message' => 'Failed to invoke proxy.', 'http_code' => 400, 'description' => '操作失败,原因是调用管控失败。'], + ['code' => 'OperationFailed.LBStatusNotSupport', 'message' => 'The loadbalancer does not support this operation currently. Please try again later.', 'http_code' => 400, 'description' => '操作失败,原因是当前负载均衡实例正在变配中,请稍后重试。'], + ['code' => 'OperationFailed.ListenerConflict', 'message' => 'The rule does not support this operation because of same port listener.', 'http_code' => 400, 'description' => '操作失败,原因是监听端口号冲突。'], + ['code' => 'OperationFailed.ListenerStatusNotSupport', 'message' => 'The status of the listener does not support this operation. Please try again later.', 'http_code' => 400, 'description' => '操作失败,原因是当前监听正在变配中,请稍后重试。'], + ['code' => 'OperationFailed.NoAvailablePPUFound', 'message' => 'The resource is insufficient, please purchase a new loadbalancer instance and try again.', 'http_code' => 400, 'description' => '操作失败,原因是资源不足。'], + ['code' => 'OperationFailed.OnlyInnerCommoditySupportToPurchase', 'message' => 'AliCroup2Cloud user only can buy inner commodity.', 'http_code' => 400, 'description' => '操作失败,原因是集团上云用户只能购买内部商品。'], + ['code' => 'OperationFailed.RegionResourceLimit', 'message' => 'The operation failed because of resource limit of the specified region.', 'http_code' => 400, 'description' => '操作失败,原因是指定地域资源不足。'], + ['code' => 'OperationFailed.ServerGroupInUse', 'message' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', 'http_code' => 400, 'description' => '操作失败,原因是当前监听不支持关闭服务器组。'], + ['code' => 'OperationFailed.ServerGroupInUse', 'message' => 'The VServerGroup or MasterSlaveServerGroup can not be close for this listener.', 'http_code' => 400, 'description' => '操作失败,原因是当前监听不支持关闭服务器组。'], + ['code' => 'OperationFailed.ServiceGroupProcessing', 'message' => 'The specified service group is processing.', 'http_code' => 400, 'description' => '操作失败,原因是指定的服务器组正在变配中。'], + ['code' => 'OperationFailed.TokenIsProcessing', 'message' => 'The operation is failed, because the Client Token is processing.', 'http_code' => 400, 'description' => '操作失败,原因是当前请求正在处理中。'], + ['code' => 'OperationFailed.UnpaidBillsExist', 'message' => 'The account has unpaid bills. Please pay your overdue bill first.', 'http_code' => 400, 'description' => '操作失败,原因是当前账户下存在未支付账单。请先支付您的逾期账单。'], + ['code' => 'OperationFailed.ZoneResourceLimit', 'message' => 'The operation failed because of resource limit of the specified zone.', 'http_code' => 400, 'description' => '操作失败,原因是当前可用区资源不足。'], + ['code' => 'OperationForbidden.AccountRiskReject', 'message' => 'The operation failed because of account risk reject.', 'http_code' => 400, 'description' => '操作失败,原因是当前账户已被风控。'], + ['code' => 'OperationForbidden.QuotaLimit', 'message' => 'The operation failed because of quota limit of shared loadbalancers.', 'http_code' => 400, 'description' => '操作失败,原因是共享性实例数量已达配额上限。'], + ['code' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', 'message' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', 'http_code' => 400, 'description' => '当前操作不被允许,当前地域的秒级监控已经被开启。'], + ['code' => 'OperationNotAllowed.HighDefinitionMonitorNotEnabled', 'message' => 'The operation is not allowed because HighDefinitionMonitor is not enabled in this region.', 'http_code' => 400, 'description' => '当前操作不被允许,当前地域的秒级监控没有开启。'], + ['code' => 'OperationNotSupport.Acl', 'message' => 'The cloud box instance does not support acl.', 'http_code' => 400, 'description' => '云盒实例不支持配置访问控制。'], + ['code' => 'OperationUnsupported.AddBackendServers', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => 'SingleTunnel和AnyTunnel类型负载均衡实例不支持指定类型的后端服务器。'], + ['code' => 'OperationUnsupported.AddVServerGroupBackendServers', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => '该类型后端服务器不允许关联singleTunnel或anyTunnel的实例'], + ['code' => 'OperationUnsupported.ConvertClassicClbToVpc', 'message' => 'Operation Unsupported ConvertClassicClbToVpc.', 'http_code' => 400, 'description' => '当前负载均衡实例不支持转换为私网类型。'], + ['code' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', 'message' => 'The slb instance does not support create HTTP or HTTPS listener.', 'http_code' => 400, 'description' => '当前负载均衡实例不支持创建HTTP或者HTTPS类型的监听。'], + ['code' => 'OperationUnsupported.CreateMasterSlaveServerGroup', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => '这种类型的后端服务器不允许附加到 singleTunnel 或 anyTunnel lb。'], + ['code' => 'OperationUnsupported.CreateVServerGroup', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => 'SingleTunnel和AnyTunnel类型负载均衡实例不支持指定类型的后端服务器。'], + ['code' => 'OperationUnsupported.DeleteProtectionForPrePayInstance', 'message' => 'The operation failed because prepay instance does not support delete protection.', 'http_code' => 400, 'description' => '操作失败,预付费负载均衡实例不支持开启删除保护。'], + ['code' => 'OperationUnsupported.LBNotSupportIpv6Backend', 'message' => 'The IPv6 backend server cannot be attached to the load balancer.', 'http_code' => 400, 'description' => '当前实例不支持添加Ipv6类型后端'], + ['code' => 'OperationUnsupported.ModifyVServerGroupBackendServers', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => '这种类型的后端服务器不允许附加到 singleTunnel 或 anyTunnel lb。'], + ['code' => 'OperationUnsupported.SetAccessControl', 'message' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', 'http_code' => 400, 'description' => '操作被拒绝,原因是Single Tunnel和Any Tunnel 类型负载均衡实例不支持配置Acl。'], + ['code' => 'OperationUnsupported.SetLoadBalancerStatus', 'message' => 'The zone of the loadBalancer does not support this operation.', 'http_code' => 400, 'description' => '当前负载均衡实例不支持此操作。'], + ['code' => 'ORDER.ACCOUNT_STATUS_ILLEGAL', 'message' => 'The order account status is illegal.', 'http_code' => 400, 'description' => '非法的订单账户状态。'], + ['code' => 'ORDER.ARREARAGE', 'message' => 'The account is arrearage.', 'http_code' => 400, 'description' => '您的账号余额不足,请更新账号状态后重试。'], + ['code' => 'ORDER.BID_USER_ ORDER_FORBIDDEN', 'message' => 'The order of bid user is forbidden.', 'http_code' => null, 'description' => 'bid账号不允许下单。'], + ['code' => 'ORDER.INSTANCE_HAS_INACTIVE_CHANGE', 'message' => 'The instance has inactive change.', 'http_code' => 400, 'description' => '实例存在未生效的变更订单。'], + ['code' => 'ORDER.INST_HAS_UNPAID_ORDER', 'message' => 'The instance has unpaid order.', 'http_code' => null, 'description' => '该实例有未支付订单。'], + ['code' => 'ORDER.INST_HAS_UNSETTLED_BILLS', 'message' => 'The instance has unsettled bills.', 'http_code' => 400, 'description' => '该实例有未付订单。'], + ['code' => 'ORDER.NOT_ENOUGH_ACTIVITY_STOCK', 'message' => 'The order activity stock is not enough.', 'http_code' => 400, 'description' => '订单库存不足。'], + ['code' => 'ORDER.NO_REAL_NAME_AUTHENTICATION', 'message' => 'The account is not real name authentication.', 'http_code' => 400, 'description' => '账户不是实名认证。'], + ['code' => 'ORDER.OPEND', 'message' => 'The account order is open to buy loadbalancer.', 'http_code' => null, 'description' => '账号未开通购买负载均衡。'], + ['code' => 'ORDER.ORDER_AMOUNT_ILLEGAL', 'message' => 'The order amount is illegal.', 'http_code' => null, 'description' => '订单数量是非法的。'], + ['code' => 'ORDER.PERIOD_INVALID', 'message' => 'The order period is invalid.', 'http_code' => 400, 'description' => '订单付费周期无效。'], + ['code' => 'ORDER.QUANTITY_INVALID', 'message' => 'The order quantity is invalid.', 'http_code' => null, 'description' => '订单总量超过用户能够购买的实例个数的配额,请走工单申请更高配额。'], + ['code' => 'ORDER.QUANTITY_INVALID', 'message' => 'The maximum number of SLB instances is exceeded.', 'http_code' => null, 'description' => '新建的SLB实例数超过了最大限制,请您减少创建实例数量。'], + ['code' => 'ORDER.QUOTA_EXCEEDED', 'message' => 'The order quota exceeded.', 'http_code' => 400, 'description' => '订单总量超过用户能够购买的实例个数的配额,请走工单申请更高配额。'], + ['code' => 'ORDER.SYS_CONSTRAINT_INVALID', 'message' => 'The order system constraint is invalid.', 'http_code' => 400, 'description' => '订单中商品属性约束校验不通过。'], + ['code' => 'OssInstanceDataNotFound', 'message' => 'The oss instance of the demand is not exist', 'http_code' => null, 'description' => '日志下载的OSS实例不存在。'], + ['code' => 'OverQuato', 'message' => 'The Total is over the quato.', 'http_code' => 400, 'description' => '总数超过了限额,请您减少数量后再重试。'], + ['code' => 'OverQuota', 'message' => 'Instance num exceeded Quota.', 'http_code' => 400, 'description' => '实例数量超过配额。'], + ['code' => 'OverQuota', 'message' => 'The Total is over the quota.', 'http_code' => 400, 'description' => '总数超过了限额,请您减少数量后再重试。'], + ['code' => 'OverQuota', 'message' => 'The Total is over the quota', 'http_code' => 400, 'description' => '总数超过了限额,请您减少数量后再重试。'], + ['code' => 'OverQuota', 'message' => 'The Total is over the quota, or Your account balance must not be less than $100.', 'http_code' => 400, 'description' => '总额超过限额,或者您的账户余额不得少于100美元。'], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertClientVerifyAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => '参数XForwardedFor_ClientCertClientVerifyAlias重复。'], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertFingerprintAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => '参数XForwardedFor_ClientCertFingerprintAlias重复。'], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertIssuerDNAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => '参数XForwardedFor_ClientCertIssuerDNAlias重复。'], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => '参数XForwardedFor_ClientCertSubjectDNAlias重复。'], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter %s is duplicate. Please change to a different value.', 'http_code' => 400, 'description' => '当前传入的参数值与其他参数值相同。请替换为不同的值重试。'], + ['code' => 'ParamDuplicateError.Ciphers', 'message' => 'The param Ciphers is duplicate in request.', 'http_code' => 400, 'description' => '参数Ciphers重复。'], + ['code' => 'ParamDuplicateError.TlsVersions', 'message' => 'The param TlsVersions is duplicate in request.', 'http_code' => 400, 'description' => '参数TlsVersions重复。'], + ['code' => 'PARAMETER_FIELD_ERROR', 'message' => 'The specified param is invalid.', 'http_code' => 400, 'description' => '该参数无效。'], + ['code' => 'PAY.ACCOUNT_BOOK_NOT_EXIST', 'message' => 'The account Book doesn\'t exist', 'http_code' => 400, 'description' => '账户的预购不存在。'], + ['code' => 'PAY.AMOUNT_LIMIT_EXCEEDED', 'message' => 'The account amount limit exceeded.', 'http_code' => 400, 'description' => '账户的数量超过限制。'], + ['code' => 'PAY.COUPON_NOT_EXIST', 'message' => 'The account coupon doesn\'t exist', 'http_code' => 400, 'description' => '该优惠券不存在。'], + ['code' => 'PAY.COUPON_NOT_MEET_CONSUMPTION_RULE', 'message' => 'The account coupon doesn\'t meet consumption rule', 'http_code' => 400, 'description' => '不符合优惠券使用的规则。'], + ['code' => 'PAY.CURRENCY_INCONSISTENCY', 'message' => 'The account Currency is inconsistency.', 'http_code' => 400, 'description' => '货币不一致。'], + ['code' => 'PAY.CURRENCY_NOT_SUPPORTED', 'message' => 'The account Currency doesn\'t support', 'http_code' => 400, 'description' => '货币不支持。'], + ['code' => 'PAY.GET_PAY_URL_ERROR', 'message' => 'The account failed to get Pay Url.', 'http_code' => 400, 'description' => '未能获得支付的URL。'], + ['code' => 'PAY.INVALID_AMOUNT', 'message' => 'The account amount is invalid.', 'http_code' => 400, 'description' => '该账户的金额无效。'], + ['code' => 'PAY.INVALID_CREDIT_CARD', 'message' => 'The account Credit card is invalid.', 'http_code' => 400, 'description' => '信用卡无效。'], + ['code' => 'PAY.NO_CREDIT_CARD', 'message' => 'The account doesn\'t have Credit Card', 'http_code' => 400, 'description' => '该帐户没有绑定信用卡。'], + ['code' => 'PAY.PAYMENT_PARAMETER_INVALID', 'message' => 'The account payment parameters are invalid.', 'http_code' => 400, 'description' => '该账户支付参数无效。'], + ['code' => 'PAY.PAY_ORDER_FAILED', 'message' => 'The account failed to pay order.', 'http_code' => 400, 'description' => '该账户支付订单失败。'], + ['code' => 'PAY.QUERY_QUOTA_BOOK_FAILED', 'message' => 'The account failed to query quota book.', 'http_code' => 400, 'description' => '账户查询配额失败'], + ['code' => 'PAY.REFUND_FAILED', 'message' => 'The account failed to Refund.', 'http_code' => 400, 'description' => '该账户退款失败。'], + ['code' => 'PAY.STORED_CARD_NOT_EXIST', 'message' => 'The savings card of this account does not exist.', 'http_code' => 400, 'description' => '该帐号储蓄卡不存在。'], + ['code' => 'PAY.TAX_CALC_FAILED', 'message' => 'The account Tax failed to calculate.', 'http_code' => 400, 'description' => '该账户税额计算失败'], + ['code' => 'PAY.USER_DECLINED', 'message' => 'The account declined to pay.', 'http_code' => 400, 'description' => '账号拒绝支付。'], + ['code' => 'PAY.WITHHOLDING_AGREEMENT_ILLEGAL', 'message' => 'The account withholding agreement is illegal.', 'http_code' => 400, 'description' => '代扣协议是非法的。'], + ['code' => 'PayInsufficientBalance', 'message' => 'Your account balance is insufficient.', 'http_code' => 400, 'description' => '您的账户余额不足'], + ['code' => 'PRICE.INQUIRY_FAILED', 'message' => 'The instance pricing inquiry is failed.', 'http_code' => 400, 'description' => '实例定价查询失败。'], + ['code' => 'PRICE.INVALID_INQUIRY_PARAMETER', 'message' => 'The instance pricing inquiry parameter is invalid.', 'http_code' => null, 'description' => '实例定价查询参数无效。'], + ['code' => 'PRICE.PRICING_PLAN_NOT_FOUND', 'message' => 'The instance pricing plan is not found.', 'http_code' => 400, 'description' => '未找到实例定价计划。'], + ['code' => 'PRICE.PRICING_PLAN_RESULT_NOT_FOUND', 'message' => 'The instance pricing plan result is not found.', 'http_code' => 400, 'description' => '未匹配成功实例定价计划,请您提交工单咨询。'], + ['code' => 'PRICE.TAXING_ERROR', 'message' => 'The instance pricing tax is error.', 'http_code' => null, 'description' => '实例价格税错误。'], + ['code' => 'PrivateKeyEncryption', 'message' => 'Key has Encrypted .', 'http_code' => 400, 'description' => '私钥无需加密。'], + ['code' => 'ProcessingSameRequest', 'message' => 'The same request is being processed. Please try later.', 'http_code' => null, 'description' => '正在处理相同的请求。请稍后再试。'], + ['code' => 'PRODUCT.INSTANCE_RELEASED', 'message' => 'The Instance is released.', 'http_code' => 400, 'description' => '实例已经被释放。'], + ['code' => 'PRODUCT.INSTANCE_TYPE_NOT_EXIST', 'message' => 'The Instance type doesnt exist', 'http_code' => 400, 'description' => '实例类型不存在。'], + ['code' => 'PRODUCT.INSTANCE_TYPE_NOT_SUPPORTED', 'message' => 'The Instance type doesn t support', 'http_code' => 400, 'description' => '实例类型不支持。'], + ['code' => 'PRODUCT.INSUFFICIENT_STOCK', 'message' => 'The product stock is insufficient.', 'http_code' => 400, 'description' => '产品库存不足。'], + ['code' => 'PRODUCT.NOT_AVAILABLE_IZ', 'message' => 'The Instance zone id doesn t support', 'http_code' => 400, 'description' => '实例可用区ID不支持。'], + ['code' => 'PURCHASE.NO_VAILD_PURCHASE', 'message' => 'The purchase is invalid.', 'http_code' => 400, 'description' => '购买失败。'], + ['code' => 'PURCHASE.PURCHASE_QUERY_FAILED', 'message' => 'The purchase failed to query.', 'http_code' => null, 'description' => '购买查询失败。'], + ['code' => 'PURCHASEPURCHASEQUERYFAILED', 'message' => 'The purchase failed to query.', 'http_code' => 400, 'description' => '购买查询失败。'], + ['code' => 'QueryAccountBookInfoFailed', 'message' => 'Failed to invoke account book info.', 'http_code' => 400, 'description' => '调用账本信息失败。'], + ['code' => 'QueryAccountCompleteProgressFailed', 'message' => 'Failed to query account progress.', 'http_code' => 400, 'description' => '查询账户进度失败。'], + ['code' => 'QueryCommodityCenterFailed', 'message' => 'Failed to query commodity center.', 'http_code' => 400, 'description' => '商品中心查询失败。'], + ['code' => 'QueryCreditCtrlInfoFailed', 'message' => 'Failed to query credit ctrl info.', 'http_code' => 400, 'description' => '查询用户信息失败。'], + ['code' => 'QueryOrderError', 'message' => 'Failed to query the order. Please try again later.', 'http_code' => 400, 'description' => '查询订单失败,请稍后重试。'], + ['code' => 'QueryTokenInvalid', 'message' => 'The specified token is invalid.', 'http_code' => 400, 'description' => '指定的Token无效。请检查参数约束,并在修改后重试。'], + ['code' => 'QueryTokenNotExist', 'message' => 'The specified NextToken does not exist.', 'http_code' => 400, 'description' => '指定的NextToken 不存在。'], + ['code' => 'QueryTokenNotExist', 'message' => 'The specified token is not exist.', 'http_code' => 400, 'description' => '指定的Token不存在。'], + ['code' => 'QueryVoucherInfoFailed', 'message' => 'Failed to query voucher info.', 'http_code' => 400, 'description' => '查询凭证信息失败。'], + ['code' => 'QuotaExceed.TagsPerResource', 'message' => 'The maximum number of tags for each resource is exceeded.', 'http_code' => 400, 'description' => '单个资源的标签配额超限。'], + ['code' => 'QuotaExceeded.Tag', 'message' => 'The number of Tag exceeds the limit.', 'http_code' => 400, 'description' => 'Tag数量已达到配额上限。'], + ['code' => 'QuotaLimitExceeds', 'message' => 'The resource has reached the quota limit.', 'http_code' => 400, 'description' => '资源已达到配额上限。'], + ['code' => 'QuotaLimitExceeds.AclAttachedToListener', 'message' => 'The number of Acl bound listeners has reached the quota limit', 'http_code' => 400, 'description' => 'Acl绑定监听数已达到配额上限。'], + ['code' => 'QuotaLimitExceeds.AclListenerOverLimit', 'message' => 'This acl has reached the limit of binding to listeners.', 'http_code' => 400, 'description' => '指定Acl可关联监听数量已达到配额上限。'], + ['code' => 'QuotaLimitExceeds.TotalAclEntry', 'message' => 'The number of Acl entries has reached the quota limit.', 'http_code' => 400, 'description' => 'Acl条目数已达到配额上限。'], + ['code' => 'RateAccountFailed', 'message' => 'Failed to rate account for pricing.', 'http_code' => 400, 'description' => '调用定价服务失败。'], + ['code' => 'RealServerPortNotSupport', 'message' => 'Real server port not support.', 'http_code' => 400, 'description' => '后端服务器端口不支持。'], + ['code' => 'RegionNotSupport', 'message' => 'The specified region not supported.', 'http_code' => null, 'description' => '该区域不支持。'], + ['code' => 'RegionNotSupportParameter', 'message' => 'Current region does not support the param of %s.', 'http_code' => 400, 'description' => '当前地域不支持指定参数。'], + ['code' => 'RegionOrZonesNotSupportCEN', 'message' => 'The specified region or master/slave zones does not support cloudType of hybrid_cen.', 'http_code' => 400, 'description' => '指定的地域或主备可用区不支持CEN。'], + ['code' => 'RegionOrZonesNotSupportIpv6', 'message' => 'The specified region or master/slave zones does not support ipv6.', 'http_code' => 400, 'description' => '指定地域或主备可用区不支持Ipv6。'], + ['code' => 'ResourceInConfiguring.Acl', 'message' => 'The specified resource is configuring, please try again later.', 'http_code' => 400, 'description' => '指定的Acl正在配置中,请稍后重试。'], + ['code' => 'ResourceNotAvailible.HttpListener', 'message' => 'The specified Zone did not have enough resource.', 'http_code' => 400, 'description' => '指定可用区资源不足。'], + ['code' => 'ResourceNotAvailible.HttpsListener', 'message' => 'The specified Zone did not have enough resource.', 'http_code' => 400, 'description' => '指定可用区资源不足。'], + ['code' => 'ResourceNotExist', 'message' => '%s.', 'http_code' => 400, 'description' => '指定的资源不存在。'], + ['code' => 'ResourceNotFound.Acl', 'message' => 'The specified ACL is not found.', 'http_code' => 404, 'description' => '指定的访问控制不存在。'], + ['code' => 'ResourceNotFound.AppRule', 'message' => 'The specified app rule is not found.', 'http_code' => 404, 'description' => '指定的转发规则不存在。'], + ['code' => 'ResourceNotFound.Cen', 'message' => 'The specified resource Cen %s not Exists.', 'http_code' => 404, 'description' => 'cen接入点不存在。请根据错误信息进行检查。'], + ['code' => 'ResourceNotFound.DomainExtension', 'message' => 'The specified domain extension is not found.', 'http_code' => 404, 'description' => '指定的扩展域名不存在。'], + ['code' => 'ResourceNotFound.EventId', 'message' => 'The specified resource event not Exists.', 'http_code' => 404, 'description' => '指定event 不存在'], + ['code' => 'ResourceNotFound.Listener', 'message' => 'The specified listener is not found.', 'http_code' => 404, 'description' => '指定的监听不存在。'], + ['code' => 'ResourceNotFound.LoadBalancer', 'message' => 'The specified load balancer is not found.', 'http_code' => 404, 'description' => '指定的实例不存在。'], + ['code' => 'ResourceNotFound.MasterSlaveServerGroup', 'message' => 'The specified master slave server group is not found.', 'http_code' => 404, 'description' => '指定的主备服务器组不存在。'], + ['code' => 'ResourceNotFound.Rule', 'message' => 'The specified rule is not found.', 'http_code' => 404, 'description' => '指定的转发规则不存在。'], + ['code' => 'ResourceNotFound.Tls', 'message' => 'The specified TLS is not found.', 'http_code' => 404, 'description' => '指定的安全策略不存在。'], + ['code' => 'ResourceNotFound.VServerGroup', 'message' => '%s.', 'http_code' => 400, 'description' => '指定的服务器组不存在。'], + ['code' => 'ResourceNotFound.VServerGroup', 'message' => 'The specified server group is not found.', 'http_code' => 404, 'description' => '指定的服务器组不存在。'], + ['code' => 'ResourceNotFound.vServers', 'message' => 'The specified enis %s does not exist.', 'http_code' => 404, 'description' => '提供的instance有的已经不存在,请检查输入参数。'], + ['code' => 'RISK.RISK_CONTROL_REJECTION', 'message' => 'The Account is rejected by risk control system.', 'http_code' => 400, 'description' => '该账户被风险控制系统拒绝。'], + ['code' => 'RspoolRuleExist', 'message' => 'there are rules associating with this vServer group.', 'http_code' => 400, 'description' => '虚拟服务器组和转发规则有关联,请解绑后再操作。'], + ['code' => 'RspoolVipExist', 'message' => 'there are vips associating with this vServer group.', 'http_code' => 400, 'description' => '已有监听绑定了该虚拟服务器组, 请您先解除绑定。'], + ['code' => 'RsTunnelIp2VmNameConflict', 'message' => 'There are back-end servers with the same TunnelId and RsIp configurations.', 'http_code' => 400, 'description' => '存在相同TunnelId和RsIp配置的后端服务器。'], + ['code' => 'RuleListMalformed', 'message' => 'the specified parameter RuleList is unavailable.', 'http_code' => null, 'description' => '参数RuleList无效。'], + ['code' => 'RuleNotSupport', 'message' => 'Rule is not support in the tcp type listener.', 'http_code' => 400, 'description' => 'TCP类型的监听不支持转发规则。'], + ['code' => 'SDK.ServerUnreachable', 'message' => 'Service is unreachable.', 'http_code' => 400, 'description' => '暂时无法访问服务,请稍后重试。'], + ['code' => 'SDK.ServerUnreachable', 'message' => 'SocketTimeoutException has occurred on a socket read or accept.', 'http_code' => 400, 'description' => '系统超时'], + ['code' => 'SecurityNotSupport', 'message' => 'security function not support on this listener.', 'http_code' => null, 'description' => '在该监听上不支持安全功能。'], + ['code' => 'SecurityRisk.AuthVerification', 'message' => 'We have detected a security risk with your payment method. Please proceed with verification via the link in your email or console message and re-submit your order after verification.', 'http_code' => 403, 'description' => '系统检测到您的支付方式存在风险,请通过邮件或站内信中的链接完成验证。验证完成后重新下单。'], + ['code' => 'ServerCertificate.NotSupport', 'message' => 'The specified Region Not support ServerCertificate.', 'http_code' => 400, 'description' => '指定地域不支持服务器证书。'], + ['code' => 'ServerCertificateId.NotFound', 'message' => 'Specified ServerCertificateId does not exist.', 'http_code' => null, 'description' => '该服务证书不存在。'], + ['code' => 'ServerCertificateId.NotFound', 'message' => 'The specified ServerCertificateId does not exist.', 'http_code' => 400, 'description' => '指定的服务器证书不存在。'], + ['code' => 'ServiceIsStopping', 'message' => 'The specified Listener is stopping', 'http_code' => 400, 'description' => '该监听正在停止中。'], + ['code' => 'ServiceMaintained', 'message' => 'The service is being maintained, please try later.', 'http_code' => 400, 'description' => '服务正在维护中,请稍后再试。'], + ['code' => 'ServiceUnavailable', 'message' => 'The system is busy.', 'http_code' => null, 'description' => '系统繁忙,请重试。'], + ['code' => 'ServiceUnavailable', 'message' => 'The slb system is maintaining', 'http_code' => null, 'description' => 'SLB系统正在维护,请稍后再试。'], + ['code' => 'ServiceUnavailable', 'message' => 'The specified region not support VPC.', 'http_code' => null, 'description' => '该地域不支持VPC。'], + ['code' => 'ServiceUnavailable', 'message' => 'Illegal Service.', 'http_code' => null, 'description' => '非法服务。'], + ['code' => 'ServiceUnavailable', 'message' => 'Vpc Service error.', 'http_code' => null, 'description' => 'VPC服务错误,请您检查参数是否正确。'], + ['code' => 'ServiceUnavailable', 'message' => 'The slb?system?is?maintaining', 'http_code' => null, 'description' => 'SLB系统正在维护中。'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server now.', 'http_code' => null, 'description' => '由于服务器故障,请求失败。'], + ['code' => 'ServiceUnavailable', 'message' => 'The specified loadbalancer name has been used.', 'http_code' => null, 'description' => '该负载均衡名称已经被使用。'], + ['code' => 'ServiceUnavailable', 'message' => 'The vpc subnet status is not working', 'http_code' => null, 'description' => 'VPC网络状态故障,请您稍后再试。'], + ['code' => 'ServiceUnavailable', 'message' => 'The cloud instance id is invaild.', 'http_code' => null, 'description' => '该实例ID无效。'], + ['code' => 'ServiceUnavailable', 'message' => 'System exception.', 'http_code' => null, 'description' => '系统异常,请重试'], + ['code' => 'ServiceUnavailable', 'message' => 'The vpc subnet is not exist.', 'http_code' => 400, 'description' => 'VPC子网不存在的或者vSwitch下网段没有可用ip。请检查该参数是否正确。'], + ['code' => 'ServiceUnavailable', 'message' => 'Service is unavailable now.', 'http_code' => 400, 'description' => '服务现在不可用。'], + ['code' => 'ServiceUnavailable', 'message' => 'The request has failed due to a temporary failure of the server.', 'http_code' => 400, 'description' => '由于服务器暂时故障,请求失败。'], + ['code' => 'ServiceUnavailable', 'message' => 'The system is maintaining.', 'http_code' => 400, 'description' => '系统正在维护。'], + ['code' => 'ServiceUnavailable', 'message' => 'The vpc subnet status is not working, please active it first.', 'http_code' => 400, 'description' => 'VPC子网状态无效,请先激活。'], + ['code' => 'ShareSlbHaltSales', 'message' => 'The share instance has been discontinued.', 'http_code' => 400, 'description' => '共享型负载均衡实例已售罄。'], + ['code' => 'SignatureNonceUsed', 'message' => 'Specified signature nonce was used already.', 'http_code' => 400, 'description' => '指定的签名随机数已经被使用过了。'], + ['code' => 'SizeLimitExceeded.ResourceId', 'message' => 'The maximum size of ResourceId is exceeded.', 'http_code' => 400, 'description' => '指定的ResourceId长度无效。请检查参数约束,并在修改后重试。'], + ['code' => 'SizeLimitExceeded.Tag', 'message' => 'The maximum size of Tag is exceeded.', 'http_code' => 400, 'description' => '指定的Tag长度无效。请检查参数约束,并在修改后重试。'], + ['code' => 'SizeLimitExceeded.TagKey', 'message' => 'The maximum size of TagKey is exceeded.', 'http_code' => 400, 'description' => '指定的TagKey长度无效。请检查参数约束,并在修改后重试。'], + ['code' => 'SourceItemsQuotaOverLimit', 'message' => 'The maximum number of SourceItems is exceeded.', 'http_code' => 400, 'description' => '超过了SourceItems的最大数量,请您修改SourceItems的数量在300以内。'], + ['code' => 'SourceListOverLimit', 'message' => 'The sourceList is over the quota.', 'http_code' => null, 'description' => '访问控制的白名单IP地址列表超过限制。'], + ['code' => 'SourceListOverLimit', 'message' => 'The sourceList is over the quato.', 'http_code' => 400, 'description' => '访问控制的白名单IP地址列表超过限制。'], + ['code' => 'SpecNotSupportParameter', 'message' => 'The instance with share spec does not support FullNatEnabled parameter.', 'http_code' => 400, 'description' => '共享型实例不支持FullNatEnabled参数。'], + ['code' => 'StickySessionInvalid', 'message' => 'StickySessionInvalid.', 'http_code' => null, 'description' => '会话保持无效。'], + ['code' => 'SubnetIpExhaust', 'message' => 'No subnet IP addresses are available.', 'http_code' => 400, 'description' => '没有可用的子网ip'], + ['code' => 'SystemBusy', 'message' => 'The system is busy.', 'http_code' => 400, 'description' => '系统繁忙'], + ['code' => 'SystemError', 'message' => 'The request processing has failed due to unknow error', 'http_code' => null, 'description' => '由于服务器故障,请求失败。'], + ['code' => 'SystemError', 'message' => 'The request processing has failed due to unknow error, exception or failure.', 'http_code' => 400, 'description' => '由于未知错误、异常或失败,请求处理失败。'], + ['code' => 'TagCountLimit', 'message' => 'Tags count limit exceeded.', 'http_code' => 400, 'description' => '超出了标签数配额。'], + ['code' => 'TagCreateCountLimit', 'message' => 'tags create count limit exceeded.', 'http_code' => 400, 'description' => '创建标签超出了配额。'], + ['code' => 'TagsCountOverLimit', 'message' => 'The size of specified Tags exceeds the limit.', 'http_code' => 400, 'description' => '标签数量已达到配额上限。'], + ['code' => 'TagTypeNotSame', 'message' => 'The category of tags in the same request must be the same.', 'http_code' => 400, 'description' => '同一请求中的标签类别必须相同。'], + ['code' => 'TcpNotSupportForHybridLb', 'message' => 'Hybrid type loadbalancer doesn t support TCP type listener', 'http_code' => 400, 'description' => '混合型负载平衡不支持TCP类型监听。'], + ['code' => 'Throttling', 'message' => 'Request was denied due to request throttling.', 'http_code' => 400, 'description' => '当前请求过于频繁,请稍后重试。'], + ['code' => 'TLSCipherPolicyOverLimit', 'message' => 'The TLSCipherPolicy is over the limit.', 'http_code' => 400, 'description' => 'TLSCipherPolicy数量已达到配额上限。'], + ['code' => 'TLSCipherPolicyVipRelationOverLimit', 'message' => 'The number of listeners associated with a policy has exceeded.', 'http_code' => 400, 'description' => '监听关联TLSCipherPolicy的数量已达到配额上限。'], + ['code' => 'TLSPolicyBeingUsed', 'message' => 'The specified TLS cipher policy is being used.', 'http_code' => 400, 'description' => '指定的TLSCipherPolicy正在使用中。'], + ['code' => 'TLSPolicyConfiguring', 'message' => 'The specified TLS cipher policy is configuring.', 'http_code' => 400, 'description' => '指定的TLSCipherPolicy正在变配中。'], + ['code' => 'TLSPolicyNoSupportCipher', 'message' => 'The specified TLS cipher is not supported.', 'http_code' => 400, 'description' => '当前TLSCipherPolicy不支持指定的Cipher。'], + ['code' => 'TLSPolicyNoSupportVersion', 'message' => 'The specified TLS version is not supported.', 'http_code' => 400, 'description' => '当前TLSCipherPolicy不支持指定的Version。'], + ['code' => 'TLSPolicyRelated', 'message' => 'The specified TLS cipher policy is related with listeners.', 'http_code' => 400, 'description' => '指定的TLSCipherPolicy已关联监听。'], + ['code' => 'TLSPolicyUnchanged', 'message' => 'The specified TLS cipher policy is unchanged.', 'http_code' => 400, 'description' => '指定的TLSCipherPolicy未变化。'], + ['code' => 'TooManyBackendServers', 'message' => 'The total number of input real servers exceeds max supported number: 20', 'http_code' => null, 'description' => '单次请求中服务器的总数超限,最多为20个。'], + ['code' => 'TooManyBackendServers', 'message' => 'The backend server parameter has too many entries.', 'http_code' => null, 'description' => '后端服务参数单次请求中服务器的数量超过限制。'], + ['code' => 'TooManyCertificates', 'message' => 'The number of certificates must not be greater than one.', 'http_code' => 400, 'description' => '证书的数量不得大于1个。'], + ['code' => 'TooManyCertificates.ServerCertificates', 'message' => 'The number of certificates must not be greater than one.', 'http_code' => 400, 'description' => '证书的数量不得大于1个。'], + ['code' => 'TooManyListeners', 'message' => 'More than 1 listener is found, please be more specified', 'http_code' => 400, 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['code' => 'TooManyListeners', 'message' => 'More than 1 listener is found, please be more specified.', 'http_code' => 400, 'description' => '检索到的监听数量大于1,请提供更具体的查询条件。'], + ['code' => 'TooManyResult', 'message' => 'fuzzy query retrieve too many instances.', 'http_code' => 400, 'description' => '检索到的实例数量过多,请提供更具体的查询条件。'], + ['code' => 'TooManyRules', 'message' => 'the number of rules under specified vip is beyond maximum limit.', 'http_code' => 400, 'description' => '该监听拥有的规则数已达上限,请您修改规则数量后重试。'], + ['code' => 'TradeSyncCreateSubError', 'message' => 'Subscription transfer failed.', 'http_code' => 400, 'description' => '转订购失败,请稍后重试。'], + ['code' => 'TradeWaitDistributorAudit', 'message' => 'The trade needs distributor to audit.', 'http_code' => 400, 'description' => '此次交易待经销商审核。'], + ['code' => 'UnauthorizedRegion', 'message' => 'The specified region of is not authorized.', 'http_code' => 403, 'description' => '指定地域不可见。'], + ['code' => 'UnsupportedFeature.User', 'message' => 'The feature of HighDefinationMonitor is not supported.', 'http_code' => 400, 'description' => '当前用户不支持秒级监控功能'], + ['code' => 'UnsupportedOperation', 'message' => 'The Loadbalancer doesn\'t support this function.', 'http_code' => null, 'description' => '负载均衡不支持此功能。'], + ['code' => 'UnsupportedOperation', 'message' => 'The specified action is not supported.', 'http_code' => null, 'description' => '不支持该操作。'], + ['code' => 'UnsupportedOperationonfixedprotocalport', 'message' => 'The specified port has been assigned one type of protocal', 'http_code' => null, 'description' => '该端口已经被分配一个协议类型。'], + ['code' => 'UnsupportedOperationonfixedprotocalport', 'message' => 'The operation is not supported by the protocol of the specified port.', 'http_code' => null, 'description' => '指定端口协议不支持该操作。请检查该端口协议是否正确。'], + ['code' => 'UnsupportedParameter', 'message' => 'The input parameter " is not unsupported.', 'http_code' => null, 'description' => '输入的参数不支持。'], + ['code' => 'UnsupportedParameter', 'message' => 'The specified parameter is not unsupported.', 'http_code' => null, 'description' => '存在不支持的参数。'], + ['code' => 'UnsupportedRegion', 'message' => 'The resource hosting feature is not supported in the specified region.', 'http_code' => 400, 'description' => '当前地域不支持资源托管特性。'], + ['code' => 'UnsupportedRegion', 'message' => 'The feature is not supported in current region.', 'http_code' => 400, 'description' => '当前地域不支持该功能。'], + ['code' => 'UrlMalformed', 'message' => 'the specified url in RuleList parameter is unavailable.', 'http_code' => null, 'description' => '在转发规则列表参数中的URL无效。'], + ['code' => 'URLNotSupport', 'message' => 'the URL in the rule is invalid.', 'http_code' => 400, 'description' => '规则中的URL无效。请您检查该URL是否正确。'], + ['code' => 'UserNotAllowed', 'message' => 'The user is not allowed', 'http_code' => null, 'description' => '该用户不允许此操作。'], + ['code' => 'UserProfileNotComplete', 'message' => 'User profile is not completed.', 'http_code' => 400, 'description' => '用户信息不完整,请您补充用户信息后重试。'], + ['code' => 'VipNotMatchRspool', 'message' => 'The vip protocol is not match with Rspool.', 'http_code' => 400, 'description' => '后端服务器组与监听不匹配,请您检查服务器组与监听的设置。'], + ['code' => 'VipNotSupportQuicVersion', 'message' => 'The listener does not support the parameter of QuicVersion.', 'http_code' => 400, 'description' => '当前监听不支持QuicVersion参数。'], + ['code' => 'VipTooManyListeners', 'message' => 'The total number of input listeners exceeds max supported number: 10', 'http_code' => 400, 'description' => '实例下监听的总数超限,最多为10个。'], + ['code' => 'VpcStatusError', 'message' => 'the specified vpc status is creating.', 'http_code' => null, 'description' => '该VPC正在创建中。'], + ['code' => 'VpcZoneNotSupportCreate', 'message' => 'The specified zone dont not supported .', 'http_code' => 400, 'description' => '该可用区不支持创建VPC。'], + ['code' => 'VServerGroupEmpty', 'message' => 'the specified vServer group is empty.', 'http_code' => 400, 'description' => '虚拟服务器组不能为空。'], + ['code' => 'VServerGroupProcessing', 'message' => 'VServer group is configuring', 'http_code' => null, 'description' => '虚拟服务器组正在配置中,请稍等。'], + ['code' => 'VSwitchAvailableIpNotExist', 'message' => 'The specified VSwitch has no availabe ip.', 'http_code' => 400, 'description' => '指定的交换机没有可用的Ip。'], + ['code' => 'VSwitchNotExist', 'message' => 'The specified VSwitch does not exist.', 'http_code' => 400, 'description' => '指定的交换机不存在。'], + ['code' => 'WhiteListDeprecated', 'message' => 'white list access control is deprecated after acl is enabled', 'http_code' => 400, 'description' => '已开启黑白名单功能,拒绝使用白名单功能。'], + ['code' => 'ZoneNotSupportParameter', 'message' => '%s.', 'http_code' => 400, 'description' => '当前可用区不支持功能。'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateVServerGroup'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerAttribute'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancers'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'DescribeVServerGroupAttribute'], + ['description' => '错误码发生变更', 'api' => 'DescribeZones'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2025-02-14T08:33:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerUDPListener'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2025-02-11T09:01:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerUDPListener'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2025-01-08T05:58:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerUDPListener'], + ], + 'createdAt' => '2024-12-27T10:24:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerHTTPSListener'], + ], + 'createdAt' => '2024-12-25T07:27:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2024-12-19T06:34:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2024-12-16T06:03:19.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI 下线', 'api' => 'AddTags'], + ['description' => 'OpenAPI 下线', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'OpenAPI 下线', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ], + 'createdAt' => '2024-11-15T07:47:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2024-10-09T12:47:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2024-10-09T12:28:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateVServerGroup'], + ], + 'createdAt' => '2024-08-26T06:38:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2024-05-28T03:23:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DescribeAvailableResource'], + ], + 'createdAt' => '2024-03-21T13:12:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2024-01-26T09:46:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteDomainExtension'], + ], + 'createdAt' => '2024-01-16T06:28:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteLoadBalancerListener'], + ], + 'createdAt' => '2023-12-20T09:41:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => '请求参数发生变更', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['description' => '请求参数发生变更', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2023-12-14T08:35:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => '请求参数发生变更', 'api' => 'DescribeMasterSlaveServerGroups'], + ['description' => '请求参数发生变更', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2023-10-25T04:10:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AddTags'], + ['description' => '错误码发生变更', 'api' => 'AddVServerGroupBackendServers'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2023-09-26T08:59:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2023-09-26T07:22:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AddTags'], + ['description' => '错误码发生变更', 'api' => 'AddVServerGroupBackendServers'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => '错误码发生变更', 'api' => 'CreateVServerGroup'], + ['description' => '错误码发生变更', 'api' => 'DescribeAccessControlLists'], + ['description' => '错误码发生变更', 'api' => 'DescribeCACertificates'], + ['description' => '错误码发生变更', 'api' => 'DescribeHealthStatus'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerAttribute'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancers'], + ], + 'createdAt' => '2023-09-08T09:12:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeAccessControlLists'], + ['description' => '响应参数发生变更', 'api' => 'DescribeCACertificates'], + ['description' => '响应参数发生变更', 'api' => 'DescribeServerCertificates'], + ], + 'createdAt' => '2023-07-04T11:58:54.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DescribeAccessControlLists'], + ['description' => '请求参数发生变更', 'api' => 'DescribeCACertificates'], + ['description' => '请求参数发生变更', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'DescribeLoadBalancers'], + ['description' => '请求参数发生变更', 'api' => 'DescribeMasterSlaveServerGroups'], + ['description' => '请求参数发生变更', 'api' => 'DescribeServerCertificates'], + ['description' => '请求参数发生变更', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2023-07-04T10:01:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2023-06-06T09:06:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2023-06-06T06:27:29.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateAccessControlList'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancer'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerUDPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateMasterSlaveServerGroup'], + ['description' => '请求参数发生变更', 'api' => 'CreateVServerGroup'], + ['description' => '请求参数发生变更', 'api' => 'UploadCACertificate'], + ['description' => '请求参数发生变更', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2023-06-02T03:41:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'DescribeAccessControlListAttribute'], + ], + 'createdAt' => '2023-03-24T08:20:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AddBackendServers'], + ['description' => '错误码发生变更', 'api' => 'AddVServerGroupBackendServers'], + ['description' => '错误码发生变更', 'api' => 'RemoveAccessControlListEntry'], + ['description' => '错误码发生变更', 'api' => 'RemoveBackendServers'], + ], + 'createdAt' => '2022-12-27T08:30:55.000Z', + 'description' => '企业能力治理,增加错误码映射。', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeAccessLogsDownloadAttribute'], + ], + 'createdAt' => '2022-12-22T02:25:11.000Z', + 'description' => '秒级监控,访问日志', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2022-12-16T12:56:23.000Z', + 'description' => '资源', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2022-12-14T12:26:57.000Z', + 'description' => '资源发布', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerAttribute'], + ], + 'createdAt' => '2022-12-14T03:28:31.000Z', + 'description' => '资源发布', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2022-12-13T08:52:04.000Z', + 'description' => '新增私有字段', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AddAccessControlListEntry'], + ], + 'createdAt' => '2022-12-06T15:11:45.000Z', + 'description' => '优化acl报错信息', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'AddAccessControlListEntry'], + ], + 'createdAt' => '2022-12-06T14:39:42.000Z', + 'description' => '优化添加acl的报错信息,增加冲突的目标acl提示', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeVServerGroupAttribute'], + ], + 'createdAt' => '2022-11-04T14:45:02.000Z', + 'description' => '更新资源数据', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => '请求参数发生变更', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2022-11-03T13:10:32.000Z', + 'description' => 'ppv2', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeLoadBalancerListeners'], + ], + 'createdAt' => '2022-11-02T12:43:19.000Z', + 'description' => '接口修改', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'DeleteLoadBalancer'], + ], + 'createdAt' => '2022-10-18T15:21:10.000Z', + 'description' => '解绑成eip', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => '请求参数发生变更', 'api' => 'CreateLoadBalancerUDPListener'], + ], + 'createdAt' => '2022-10-11T15:07:30.000Z', + 'description' => '开放健康检测开关', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeAccessControlListAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeAccessControlLists'], + ['description' => '响应参数发生变更', 'api' => 'DescribeMasterSlaveServerGroupAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeMasterSlaveServerGroups'], + ['description' => '响应参数发生变更', 'api' => 'DescribeVServerGroupAttribute'], + ['description' => '响应参数发生变更', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2022-09-29T12:46:49.000Z', + 'description' => '增加createTime字段', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeAccessLogsDownloadAttribute'], + ], + 'createdAt' => '2022-09-19T06:14:37.000Z', + 'description' => 'DescribeAccessLogsDownloadAttribute 接口发布', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更、请求参数发生变更', 'api' => 'ModifyLoadBalancerInstanceChargeType'], + ], + 'createdAt' => '2022-08-03T08:11:37.000Z', + 'description' => 'luc to spec', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ['description' => '请求参数发生变更', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => '请求参数发生变更', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2022-07-27T09:51:42.000Z', + 'description' => 'pp功能', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'ModifyLoadBalancerInternetSpec'], + ], + 'createdAt' => '2022-05-06T03:54:48.000Z', + 'description' => '增加错误码映射', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ['description' => '错误码发生变更', 'api' => 'DescribeLoadBalancerAttribute'], + ['description' => '错误码发生变更', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ['description' => '错误码发生变更', 'api' => 'ModifyLoadBalancerPayType'], + ['description' => '错误码发生变更', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2022-04-28T14:57:11.000Z', + 'description' => 'CLB支持CU计费', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateDomainExtension'], + ], + 'createdAt' => '2022-03-24T09:45:51.000Z', + 'description' => '错误码映射', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'DescribeHealthStatusEx'], + ], + 'createdAt' => '2022-02-24T11:24:11.000Z', + 'description' => '更新最新特性', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'SetAccessControlListAttribute'], + ], + 'createdAt' => '2022-02-23T08:09:55.000Z', + 'description' => '1. SetAccessControlListAttribute 去掉返回参数重的AclId', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateTLSCipherPolicy'], + ['description' => '请求参数发生变更', 'api' => 'DeleteTLSCipherPolicy'], + ['description' => '请求参数发生变更', 'api' => 'ListTLSCipherPolicies'], + ['description' => '请求参数发生变更', 'api' => 'SetTLSCipherPolicyAttribute'], + ], + 'createdAt' => '2022-01-18T02:28:35.000Z', + 'description' => 'Support Latest APIs', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2021-12-15T08:30:47.000Z', + 'description' => '新增错误吗映射', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2021-12-14T03:59:43.000Z', + 'description' => '虚拟服务器组支持返回后端数量', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2021-12-08T15:31:28.000Z', + 'description' => '补充错误码', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'RemoveVServerGroupBackendServers'], + ], + 'createdAt' => '2021-10-13T14:15:37.000Z', + 'description' => '错误码映射', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateVServerGroup'], + ], + 'createdAt' => '2021-10-13T09:51:59.000Z', + 'description' => '增加错误码映射', + ], + [ + 'apis' => [ + ['description' => '错误码发生变更', 'api' => 'CreateDomainExtension'], + ['description' => '错误码发生变更', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2021-09-23T04:16:12.000Z', + 'description' => '错误msg更新', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetDomainExtensionAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerUDPListener'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartLoadBalancerListener'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeListenerAccessControlAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopLoadBalancerListener'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerStatus'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteVServerGroup'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVServerGroupAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddListenerWhiteListItem'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancer'], + ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveTags'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInstanceChargeType'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDomainExtensions'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerDeleteProtection'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetListenerAccessControlStatus'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UploadCACertificate'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeZones'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancerListener'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAvailableResource'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeVServerGroups'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTags'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateVServerGroup'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancer'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDomainExtensionAttribute'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTLSCipherPolicy'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancers'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetCACertificateName'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerModificationProtection'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPListener'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveBackendServers'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddAccessControlListEntry'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVServerGroupBackendServers'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteRules'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessLogsDownloadAttribute'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCACertificates'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyHighDefinationMonitor'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetBackendServers'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessControlList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTLSCipherPolicy'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveVServerGroupBackendServers'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerListeners'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateMasterSlaveServerGroup'], + ['threshold' => '6000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetServerCertificateName'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCACertificate'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetAccessControlListAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerTCPListener'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetTLSCipherPolicyAttribute'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessControlListAttribute'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTLSCipherPolicies'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDomainExtension'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessControlLists'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetRule'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeMasterSlaveServerGroups'], + ['threshold' => '20000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeHealthStatus'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveListenerWhiteListItem'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteMasterSlaveServerGroup'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeServerCertificates'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRules'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableHighDefinationMonitor'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveAccessControlListEntry'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessLogsDownloadAttribute'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHighDefinationMonitor'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDomainExtension'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRuleAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UploadServerCertificate'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetAccessLogsDownloadAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerCertificate'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerName'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetVServerGroupAttribute'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInternetSpec'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessControlList'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeMasterSlaveServerGroupAttribute'], + ['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddTags'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerPayType'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddBackendServers'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddVServerGroupBackendServers'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRules'], + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ram' => [ + 'productCode' => 'SLB', + 'productName' => '负载均衡', + 'ramCodes' => ['slb'], + 'ramLevel' => '资源级', + 'ramConditions' => [ + [ + 'name' => 'slb:tag', + 'schema' => ['type' => 'String', 'description' => 'SLB的标签,自2023年05月01日起不再维护,推荐使用全局条件键acs:RequestTag、acs:ResourceTag'], + ], + [ + 'name' => 'slb:AddressType', + 'schema' => [ + 'type' => 'String', + 'description' => '传统型负载均衡的网络地址类型', + 'enums' => ['internet', 'intranet'], + ], + ], + [ + 'name' => 'slb:AclName', + 'schema' => ['type' => 'String', 'description' => '访问控制策略组名称,示例值:test1'], + ], + ], + 'ramActions' => [ + [ + 'apiName' => 'DeleteVServerGroup', + 'description' => '删除虚拟服务器组', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteVServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.Scope', - 'errorMessage' => 'The specified Scope is invalid.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'InvalidParam.ResourceType', - 'errorMessage' => 'The specified ResourceType is invalid.', + ], + ], + [ + 'apiName' => 'CreateVServerGroup', + 'description' => '创建虚拟服务器组并添加后端服务器', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateVServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], - [ - 'errorCode' => 'InvalidParam.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', + ], + ], + [ + 'apiName' => 'DescribeDomainExtensions', + 'description' => '查询已添加的扩展域名', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeDomainExtensions', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.TagKeyOrValue', - 'errorMessage' => 'The specified TagKey or TagValue is invalid.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'InvalidParam.TagOwnerUid', - 'errorMessage' => 'The specified TagOwnerUid is invalid.', + ], + ], + [ + 'apiName' => 'RemoveVServerGroupBackendServers', + 'description' => '从指定的虚拟服务器组中移除后端服务器', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveVServerGroupBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.TagOwnerBid', - 'errorMessage' => 'The specified TagOwnerBid is invalid.', + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'MissingParam.Scope', - 'errorMessage' => 'The parameter Scope is required.', + ], + ], + [ + 'apiName' => 'ListMonitorLogs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:ListMonitorLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'MissingParam.TagOwnerUid', - 'errorMessage' => 'The parameter TagOwnerUid is required.', + ], + ], + [ + 'apiName' => 'DescribeVPCRelatedLoadBalancers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeVPCRelatedLoadBalancers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'MissingParam.TagOwnerBid', - 'errorMessage' => 'The parameter TagOwnerBid is required.', + ], + ], + [ + 'apiName' => 'DescribeEvents', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:DescribeEvents', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParameter.RegionId', - 'errorMessage' => 'The specified RegionId does not exist.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'MissingParam.TagOrResourceId', - 'errorMessage' => 'The parameter Tag or ResourceId is required at least one.', + ], + ], + [ + 'apiName' => 'DescribeAccessControlLists', + 'description' => '查询已创建的访问控制策略组', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessControlLists', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'SizeLimitExceeded.ResourceId', - 'errorMessage' => 'The maximum size of ResourceId is exceeded.', + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/*'], ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => 'The maximum size of Tag is exceeded.', + ], + ], + [ + 'apiName' => 'ListTLSCipherPolicies', + 'description' => '查询TLS策略', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:ListTLSCipherPolicies', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:tlspolicy/*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"DE65F6B7-7566-4802-9007-96F2494AC512\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"FinanceJoshua\\",\\n \\"ResourceType\\": \\"instance\\",\\n \\"ResourceId\\": \\"lb-bp16qjewdsunr4****\\",\\n \\"TagKey\\": \\"FinanceDept\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>caeba0bbb2be03f84eb48b699f0a****</NextToken>\\n <RequestId>DE65F6B7-7566-4802-9007-96F2494AC512</RequestId>\\n <TagResources>\\n <TagValue>FinanceJoshua</TagValue>\\n <ResourceType>instance</ResourceType>\\n <ResourceId>lb-bp16qjewdsunr4****</ResourceId>\\n <TagKey>FinanceDept</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]', - 'title' => '查询实例已绑定的标签列表', - 'summary' => '查询实例已经绑定的标签列表。', - 'description' => '- 请求中至少指定参数**ResourceId.N**或**Tag.N**(**Tag.N.Key**与**Tag.N.Value**),以确定检索对象。'."\n" - ."\n" - .'- **Tag.N**是资源的标签,由一个键值对组成。仅指定**Tag.N.Key**时,则返回该标签键关联的所有标签值。仅指定**Tag.N.Value**会报错。'."\n" - ."\n" - .'- 如果您同时指定**Tag.N**和**ResourceId.N**筛选标签,则**ResourceId.N**必须满足所有输入的标签键值对。'."\n" - ."\n" - .'- 如果您同时指定多个标签键值对,返回结果为同时包含被指定的多个键值对的资源。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'TagResources' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeLoadBalancerAutoReleaseTime', + 'description' => '查询负载均衡实例的预约释放时间', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerAutoReleaseTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'SetLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AddAccessControlListEntry', + 'description' => '在访问控制策略组中添加IP条目', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddAccessControlListEntry', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', + [ + 'apiName' => 'AddNcServers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:AddNcServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例所在的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DetectHealthCheckStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DetectHealthCheckStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义,取值:'."\n" - ."\n" - .'- **instance**:负载均衡实例。'."\n" - ."\n" - .'- **certificate**:证书。'."\n" - ."\n" - .'- **acl**:访问控制。'."\n" - ."\n" - .'- **listener**:监听。'."\n" - ."\n" - .'- **vservergroup**:虚拟服务器组。'."\n" - ."\n" - .'- **masterslaveservergroup**:主备服务器组。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'instance', + ], + [ + 'apiName' => 'ModifyLoadBalancerVPCAddress', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerVPCAddress', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '资源ID,最多支持20个资源ID。'."\n" - .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1snb10sbml4****\\_http\\_80。', - 'type' => 'array', - 'items' => [ - 'description' => '资源ID,最多支持20个资源ID。'."\n" - .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1snb10sbml4****\\_http\\_80。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp16qjewdsunr41m1****', - ], - 'required' => true, - 'example' => 'lb-bp16qjewdsunr41m1****', - 'maxItems' => 51, + ], + [ + 'apiName' => 'DescribeLoadBalancerTCPListenerAttribute', + 'description' => '查询TCP监听配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerTCPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。最多支持20个标签键。一旦传入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => '资源的标签值。最多支持20个标签值。一旦传入该值,可以为空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, + ], + [ + 'apiName' => 'DiagnoseCertificates', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DiagnoseCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', - ], - ], + [ + 'apiName' => 'UpdateEvents', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:UpdateEvents', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'TagTypeNotSame', - 'errorMessage' => 'The category of tags in the same request must be the same.', + [ + 'apiName' => 'DescribeMasterSlaveServerGroupAttribute', + 'description' => '查询指定主备服务器组的详细信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeMasterSlaveServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'ResourceNotExist', - 'errorMessage' => '%s.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'DeniedForNoneTagCreator', - 'errorMessage' => '%s.', + ], + ], + [ + 'apiName' => 'DeleteCACertificate', + 'description' => '删除CA证书', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteCACertificate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'DeniedForScopeNotEqual', - 'errorMessage' => '%s.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], ], - [ - 'errorCode' => 'QuotaLimitExceeds', - 'errorMessage' => '%s.', + ], + ], + [ + 'apiName' => 'UploadServerCertificate', + 'description' => '上传服务器证书', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:UploadServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParam.Scope', - 'errorMessage' => 'The specified Scope is invalid.', + ], + ], + [ + 'apiName' => 'CreateDomainExtension', + 'description' => '创建扩展域名', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateDomainExtension', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.ResourceType', - 'errorMessage' => 'The specified ResourceType is invalid.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', + ], + ], + [ + 'apiName' => 'SetNcServers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetNcServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParam.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', + ], + ], + [ + 'apiName' => 'DescribeRuleAttribute', + 'description' => '查询指定转发规则的配置详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeRuleAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.TagKeyOrValue', - 'errorMessage' => 'The specified TagKey or TagValue is invalid.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'InvalidParam.TagOwnerUid', - 'errorMessage' => 'The specified TagOwnerUid is invalid.', + ], + ], + [ + 'apiName' => 'SetRuleAttributeEx', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetRuleAttributeEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteMasterSlaveServerGroup', + 'description' => '删除指定的主备服务器组', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteMasterSlaveServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.TagOwnerBid', - 'errorMessage' => 'The specified TagOwnerBid is invalid.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The parameter TagKey is required.', + ], + ], + [ + 'apiName' => 'SwitchMasterSlaveServerGroup', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SwitchMasterSlaveServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'MissingParam.Scope', - 'errorMessage' => 'The parameter Scope is required.', + ], + ], + [ + 'apiName' => 'MoveResourceGroup', + 'description' => '修改资源组', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:MoveResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#AclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#ServerCertificateId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'MissingParam.TagOwnerUid', - 'errorMessage' => 'The parameter TagOwnerUid is required.', + ], + ], + [ + 'apiName' => 'DescribeAccessControlListAttribute', + 'description' => '查询访问控制策略组的配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessControlListAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'MissingParam.TagOwnerBid', - 'errorMessage' => 'The parameter TagOwnerBid is required.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], ], - [ - 'errorCode' => 'InvalidParameter.RegionId', - 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + [ + 'apiName' => 'DeleteTLSCipherPolicy', + 'description' => '删除TLS策略', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#TLSCipherPolicyId}'], ], - [ - 'errorCode' => 'DeniedForOperateCustomTag', - 'errorMessage' => '%s.', + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerSummaryForGlobal', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerSummaryForGlobal', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'MissingParam.ResourceId', - 'errorMessage' => 'The parameter ResourceId is required.', + ], + ], + [ + 'apiName' => 'DiagnoseCommonStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DiagnoseCommonStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The param TagKey has duplicate value.', + ], + ], + [ + 'apiName' => 'ModifyLoadBalancerInstanceSpec', + 'description' => '修改负载均衡的实例规格', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInstanceSpec', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'SizeLimitExceeded.ResourceId', - 'errorMessage' => 'The maximum size of ResourceId is exceeded.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => 'The maximum size of Tag is exceeded.', + ], + ], + [ + 'apiName' => 'RemoveAccessControlListEntry', + 'description' => '删除访问控制策略组中的IP条目', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveAccessControlListEntry', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], ], - [ - 'errorCode' => 'MissingParam.RegionId', - 'errorMessage' => 'The parameter RegionId is required.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'UnAssociateLoadBalancerWithCen', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:UnAssociateLoadBalancerWithCen', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', - 'title' => '给资源添加标签', - 'summary' => '为指定的资源列表统一创建并绑定标签。', - 'description' => '> 单个实例最多可绑定20条标签。绑定标签前,阿里云会校验资源已有标签数量,超过限制值会返回报错信息。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'ServiceManagedControl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:ServiceManagedControl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'CreateLoadBalancerUDPListener', + 'description' => '创建UDP监听', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerUDPListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SetServerCertificateName', + 'description' => '设置服务器证书名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetServerCertificateName', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'SetAccessControlListEntryAttribute', + 'description' => '修改访问控制策略组中IP条目的信息', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'ramAction' => [ + 'action' => 'slb:SetAccessControlListEntryAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口查询地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DescribeRealtimeLogs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeRealtimeLogs', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义,取值:'."\n" - ."\n" - .'- **instance**:负载均衡实例。'."\n" - ."\n" - .'- **certificate**:证书。'."\n" - ."\n" - .'- **acl**:访问控制。'."\n" - ."\n" - .'- **listener**:监听。'."\n" - ."\n" - .'- **vservergroup**:虚拟服务器组。'."\n" - ."\n" - .'- **masterslaveservergroup**:主备服务器组。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'instance', + ], + [ + 'apiName' => 'SetBackendServers', + 'description' => '设置后端服务器权重', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'ecs:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'All', - 'in' => 'query', - 'schema' => [ - 'description' => '是否全部删除,只针对**TagKey.N**为空时有效。'."\n" - ."\n" - .'取值:**true**或**false**。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', + ], + [ + 'apiName' => 'AddVServerGroupBackendServers', + 'description' => '向指定的虚拟服务器组中添加后端服务器', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddVServerGroupBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '资源ID,最多支持20个资源ID。'."\n" - .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。', - 'type' => 'array', - 'items' => [ - 'description' => '资源ID,最多支持20个资源ID。'."\n" - .'> **listener**的**ResourceId**取值为**LoadBalancerId\\_监听协议\\_Port**,其中LoadBalancerId为实例ID,port为监听端口。示例:lb\\-bp1snb10sbml4****\\_http\\_80。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp16qjewdsunr41m1****', - ], - 'required' => true, - 'example' => 'lb-bp16qjewdsunr41m1****', - 'maxItems' => 51, + ], + [ + 'apiName' => 'SetHighDefinitionMonitorLogStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetHighDefinitionMonitorLogStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'TagKey', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '资源的标签键。最多支持20个标签键。一旦传入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" - .'> 如果不指定**TagKey**,这个实例的所有标签将被删除。', - 'type' => 'array', - 'items' => [ - 'description' => '资源的标签键。最多支持20个标签键。一旦传入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。'."\n" - .'> 如果不指定**TagKey**,这个实例的所有标签将被删除。', - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'required' => false, - 'example' => 'FinanceDept', - 'maxItems' => 21, + ], + [ + 'apiName' => 'SetLoadBalancerName', + 'description' => '修改负载均衡实例的名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerName', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C46FF5A8-C5F0-4024-8262-B16B******', - ], - ], + [ + 'apiName' => 'DescribeLoadBalancers', + 'description' => '查询已创建的负载均衡实例', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'TagTypeNotSame', - 'errorMessage' => 'The category of tags in the same request must be the same.', + [ + 'apiName' => 'DescribeCACertificates', + 'description' => '查询CA证书列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeCACertificates', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'ResourceNotExist', - 'errorMessage' => '%s.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/*'], ], - [ - 'errorCode' => 'DeniedForNoneTagCreator', - 'errorMessage' => '%s.', + ], + ], + [ + 'apiName' => 'DescribeAccessLogsDownloadAttribute', + 'description' => '查询指定实例的访问日志', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'DeniedForScopeNotEqual', - 'errorMessage' => '%s.', + ], + ], + [ + 'apiName' => 'AddBackendServers', + 'description' => '添加后端服务器', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:AddBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ], - [ - 'errorCode' => 'InvalidParam.ResourceType', - 'errorMessage' => 'The specified ResourceType is invalid.', + ], + ], + [ + 'apiName' => 'DeleteAccessControlList', + 'description' => '删除访问控制策略组', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteAccessControlList', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], ], - [ - 'errorCode' => 'InvalidParam.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', + ], + ], + [ + 'apiName' => 'CreateLoadBalancerTCPListener', + 'description' => '创建TCP监听', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerTCPListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidParam.TagKeyOrValue', - 'errorMessage' => 'The specified TagKey or TagValue is invalid.', + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#AclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], - [ - 'errorCode' => 'InvalidParam.TagOwnerUid', - 'errorMessage' => 'The specified TagOwnerUid is invalid.', + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerBackendServers', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParam.TagOwnerBid', - 'errorMessage' => 'The specified TagOwnerBid is invalid.', + ], + ], + [ + 'apiName' => 'SetCACertificateName', + 'description' => '设置CA证书名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetCACertificateName', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'MissingParam.TagOwnerUid', - 'errorMessage' => 'The parameter TagOwnerUid is required.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], ], - [ - 'errorCode' => 'MissingParam.TagOwnerBid', - 'errorMessage' => 'The parameter TagOwnerBid is required.', + ], + ], + [ + 'apiName' => 'DescribeTags', + 'description' => '查询已有标签列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeTags', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidParameter.RegionId', - 'errorMessage' => 'The specified RegionId does not exist.', + ], + ], + [ + 'apiName' => 'DescribeHealthCheckDiagnoseResult', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHealthCheckDiagnoseResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'MissingParam.ResourceId', - 'errorMessage' => 'The parameter ResourceId is required.', + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '查询实例已绑定的标签列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'DeniedForOperateCustomTag', - 'errorMessage' => '%s.', + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/{#ServerCertificateId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/{#CaCertificateId}'], ], - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The param TagKey has duplicate value.', + ], + ], + [ + 'apiName' => 'EnableMonitorLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:EnableMonitorLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteRulesEx', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DeleteRulesEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], - [ - 'errorCode' => 'SizeLimitExceeded.ResourceId', - 'errorMessage' => 'The maximum size of ResourceId is exceeded.', + ], + ], + [ + 'apiName' => 'DescribeRules', + 'description' => '查询指定监听已配置的转发规则', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeRules', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'SizeLimitExceeded.TagKey', - 'errorMessage' => 'The maximum size of TagKey is exceeded.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'UploadCACertificate', + 'description' => '上传CA证书', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:UploadCACertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/*'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B******\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', - 'title' => '为指定的资源列表统一解绑标签', - 'summary' => '为指定的资源列表统一解绑标签。', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RemoveTags' => [ - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DisableHighDefinationMonitor', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DisableHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeLoadBalancerUDPListenerAttribute', + 'description' => '查询UDP监听的配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerUDPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeLoadBalancersRelatedEcs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancersRelatedEcs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'SetAccessLogsDownloadAttribute', + 'description' => '修改访问日志的下载配置', 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'ramAction' => [ + 'action' => 'slb:SetAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例所属地域的ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)获取地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'RemoveTags', + 'description' => '解绑指定负载均衡实例下的标签', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveTags', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1l5j******', + ], + [ + 'apiName' => 'DescribeLoadBalancerTCPListenerAttributePro', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerTCPListenerAttributePro', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '需要解绑的Tag列表。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', + ], + [ + 'apiName' => 'SetListenerSecurityStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetListenerSecurityStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF3******', - ], - ], + [ + 'apiName' => 'AddListenerWhiteListItem', + 'description' => '添加监听访问控制白名单', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddListenerWhiteListItem', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.TagKey', - 'errorMessage' => 'The specified tag key is invalid.', + [ + 'apiName' => 'DescribeSlbQuotas', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeSlbQuotas', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'SetLoadBalancerUDPListenerAttribute', + 'description' => '修改UDP协议监听的配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerUDPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\"\\n}","type":"json"}]', - 'title' => '解绑指定负载均衡实例下的标签', - 'summary' => '解绑指定负载均衡实例下的标签。', - ], - 'DeleteAccessLogsDownloadAttribute' => [ - 'summary' => '删除指定传统型负载均衡实例的访问日志。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'AddTags', + 'description' => '为指定的负载均衡实例添加标签', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:AddTags', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'EnableVpcVipFlow', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:EnableVpcVipFlow', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ModifyLoadBalancerPayType', + 'description' => '将按量计费实例转换为包年包月实例(已废弃)', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerPayType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', + [ + 'apiName' => 'DescribeAliCloudCertificates', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'slb:DescribeAliCloudCertificates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'SetAccessControlListAttribute', + 'description' => '修改访问控制策略组的名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetAccessControlListAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:AclName'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], ], ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', + ], + [ + 'apiName' => 'SetLoadBalancerModificationProtection', + 'description' => '设置实例修改保护状态', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerModificationProtection', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-uf68ps3rekbljmdb0****', + ], + [ + 'apiName' => 'DescribeLoadBalancerHTTPSListenerAttribute', + 'description' => '查询HTTPS监听配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LogsDownloadAttributes', - 'in' => 'query', - 'schema' => [ - 'description' => '访问日志转发规则。组成参数:'."\n" - ."\n" - .'- **LogProject**:日志服务LogProject的名称。'."\n" - .'- **LogStore**:日志服务LogStore的名称。'."\n" - .'- **LoadBalancerId**:传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]', + ], + [ + 'apiName' => 'CreateAccessControlList', + 'description' => '创建访问控制策略组', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateAccessControlList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****', - ], - ], + [ + 'apiName' => 'StartLoadBalancerListener', + 'description' => '启动监听', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:StartLoadBalancerListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The AccessLogDownloadAttribute not exists.', + [ + 'apiName' => 'SetLoadBalancerHTTPListenerAttribute', + 'description' => '修改HTTP监听的配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DisableMonitorLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DisableMonitorLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9C****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteAccessLogsDownloadAttributeResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9C****</RequestId>\\n</DeleteAccessLogsDownloadAttributeResponse>","errorExample":""}]', - 'title' => '删除访问日志下载任务', - ], - 'SetAccessLogsDownloadAttribute' => [ - 'summary' => '为传统型负载均衡实例添加访问日志转发规则。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'SetDomainExtensionAttribute', + 'description' => '修改扩展域名的证书', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetDomainExtensionAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeLoadBalancerListenersEx', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerListenersEx', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateLoadBalancer', + 'description' => '创建传统型负载均衡实例', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancer', + 'authLevel' => 'operate', + 'actionConditions' => [ + ['conditionKey' => 'slb:AddressType', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'CreateMasterSlaveServerGroup', + 'description' => '创建主备服务器组', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateMasterSlaveServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeCertificateRelations', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeCertificateRelations', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeMasterSlaveVServerGroups', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeMasterSlaveVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], + ], + [ + 'apiName' => 'SetLoadBalancerTCPListenerAttribute', + 'description' => '修改TCP监听的配置', 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerTCPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'DescribeListenerAccessControlAttribute', + 'description' => '查询监听的白名单配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeListenerAccessControlAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。'."\n" - ."\n" - .'一次请求中,绑定的标签列表中最多支持10个标签。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', + ], + [ + 'apiName' => 'CancelIneffectiveOrder', + 'description' => '取消未生效订单', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:CancelIneffectiveOrder', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1b6c719dfa08ex*****', + ], + [ + 'apiName' => 'DescribeHealthStatusEx', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHealthStatusEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LogsDownloadAttributes', - 'in' => 'query', - 'schema' => [ - 'description' => '访问日志转发规则。组成参数:'."\n" - ."\n" - .'- **LogProject**:日志服务LogProject的名称。'."\n" - .'- **LogStore**:日志服务LogStore的名称。'."\n" - .'- **LoadBalancerId**:传统型负载均衡实例ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]', + ], + [ + 'apiName' => 'CheckProductFeatureControl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:CheckProductFeatureControl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****', - ], - ], + [ + 'apiName' => 'SetLoadBalancerAutoReleaseTime', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerAutoReleaseTime', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The AccessLogDownloadAttribute already exists.', + [ + 'apiName' => 'DeleteRules', + 'description' => '删除转发规则', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteRules', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'InvalidProject.NotExist', - 'errorMessage' => 'The specified project does not exist.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', - 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', + ], + ], + [ + 'apiName' => 'CreateRules', + 'description' => '为HTTP或HTTPS监听添加转发规则', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateRules', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9C****\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAccessLogsDownloadAttributeResponse>\\n <RequestId>9DEC9C28-AB05-4DDF-9A78-6B08EC9C****</RequestId>\\n</SetAccessLogsDownloadAttributeResponse>","errorExample":""}]', - 'title' => '修改访问日志的下载配置', - ], - 'DescribeAccessLogsDownloadAttribute' => [ - 'summary' => '查询指定传统型负载均衡实例的访问日志。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'TagResources', + 'description' => '给资源添加标签', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'SetLoadBalancerDeleteProtection', + 'description' => '设置实例删除保护状态', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerDeleteProtection', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateRulesEx', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:CreateRulesEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DiagnoseHealthCheckStatus', + 'description' => '', 'operationType' => 'get', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', + 'ramAction' => [ + 'action' => 'slb:DiagnoseHealthCheckStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例绑定的标签列表,其结构是一个JSON dictionary,包含标签键和标签值。'."\n" - ."\n" - .'一次请求中,绑定的标签列表中最多支持10个标签。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', + ], + [ + 'apiName' => 'UntagResources', + 'description' => '为指定的资源列表统一解绑标签', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1b6c719dfa08ex*****', + ], + [ + 'apiName' => 'DescribeLoadBalancersEcs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancersEcs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'LogType', - 'in' => 'query', - 'schema' => [ - 'description' => '访问日志类型。仅取值**layer7**,表示七层访问日志。', - 'type' => 'string', - 'required' => false, - 'example' => 'layer7', - 'default' => 'layer7', + ], + [ + 'apiName' => 'ModifyVServerGroupBackendServers', + 'description' => '替换虚拟服务器组中的后端服务器', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyVServerGroupBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '列表的页码。默认值:**1**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', + ], + [ + 'apiName' => 'DescribeHighDefinitionMonitorLogAttribute', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeHighDefinitionMonitorLogAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页查询时每页的行数。最大值:**50**。默认值:**10**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '10', - 'default' => '20', + ], + [ + 'apiName' => 'DescribeLoadBalancersPro', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancersPro', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'PageSize' => [ - 'description' => '分页查询时每页的行数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => '列表的页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', - ], - 'TotalCount' => [ - 'description' => '列表条目数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'LogsDownloadAttributes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LogsDownloadAttribute' => [ - 'description' => '访问日志配置信息。', - 'type' => 'array', - 'items' => [ - 'description' => '访问日志配置信息。', - 'type' => 'object', - 'properties' => [ - 'LogProject' => [ - 'description' => '日志服务LogProject的名称。', - 'type' => 'string', - 'example' => 'test-log-project', - ], - 'LogStore' => [ - 'description' => '日志服务LogStore的名称。', - 'type' => 'string', - 'example' => 'test-log-store', - ], - 'LoadBalancerId' => [ - 'description' => '传统型负载均衡实例的ID。', - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa08ex*****', - ], - 'Region' => [ - 'description' => '传统型负载均衡实例所在的地域ID。 ', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'LogType' => [ - 'description' => '访问日志类型。仅取值**layer7**,表示七层访问日志。'."\n", - 'type' => 'string', - 'example' => 'layer7', - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DeleteAccessLogsDownloadAttribute', + 'description' => '删除访问日志下载任务', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'CreateTLSCipherPolicy', + 'description' => '创建TLS策略', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/*'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\",\\n \\"TotalCount\\": 10,\\n \\"LogsDownloadAttributes\\": {\\n \\"LogsDownloadAttribute\\": [\\n {\\n \\"LogProject\\": \\"test-log-project\\",\\n \\"LogStore\\": \\"test-log-store\\",\\n \\"LoadBalancerId\\": \\"lb-bp1b6c719dfa08ex*****\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"LogType\\": \\"layer7\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeAccessLogsDownloadAttributeResponse>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <RequestId>8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E</RequestId>\\n <TotalCount>10</TotalCount>\\n <LogsDownloadAttributes>\\n <LogProject>test-log-project</LogProject>\\n <LogStore>test-log-store</LogStore>\\n <LoadBalancerId>lb-bp1b6c719dfa08ex*****</LoadBalancerId>\\n <Region>cn-hangzhou</Region>\\n <LogType>layer7</LogType>\\n </LogsDownloadAttributes>\\n</DescribeAccessLogsDownloadAttributeResponse>","errorExample":""}]', - 'title' => '查询指定实例的访问日志', - ], - 'EnableHighDefinationMonitor' => [ - 'summary' => '启用当前地域的秒级监控功能。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeVServerGroups', + 'description' => '查询虚拟服务器组列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeVServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeLoadBalancerAttribute', + 'description' => '查询指定负载均衡实例的详细信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SetLoadBalancerListenerAttributeEx', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerListenerAttributeEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88622', - 'abilityTreeNodes' => [ - 'FEATUREslbSG7ZOW', + [ + 'apiName' => 'DescribeLoadBalancerHTTPListenerAttribute', + 'description' => '查询HTTP监听配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerHTTPListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '日志标签。其结构是一个JSON dictionary,包含标签键和标签值。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', + [ + 'apiName' => 'CreateLoadBalancerPro', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerPro', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:AddressType', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡的地域ID。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'DeleteLoadBalancerListener', + 'description' => '删除监听', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteLoadBalancerListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LogProject', - 'in' => 'query', - 'schema' => [ - 'description' => '日志服务LogProject的名称。长度为4~63个字符,支持数字、小写字母,可包含短划线(-),开头和结尾必须为数字或字母。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-project', + ], + [ + 'apiName' => 'DescribeRuleAttributeEx', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeRuleAttributeEx', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'LogStore', - 'in' => 'query', - 'schema' => [ - 'description' => '日志服务LogStore的名称。长度为2~64个字符,支持数字、小写字母,可包含短划线(-)和下划线(_),开头和结尾必须为数字或字母。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-log-store', + ], + [ + 'apiName' => 'DescribeVServerGroupAttribute', + 'description' => '查询虚拟服务器组的详细信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeVServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Success' => [ - 'description' => '本次调用是否成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6', - ], - ], + [ + 'apiName' => 'CreateLoadBalancerHTTPSListener', + 'description' => '创建HTTPS监听', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerHTTPSListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', - 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', + [ + 'apiName' => 'SetLoadBalancerHTTPSListenerAttribute', + 'description' => '修改HTTPS监听的配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerHTTPSListenerAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'UnsupportedFeature.User', - 'errorMessage' => 'The feature of HighDefinationMonitor is not supported.', + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', - 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', + ], + ], + [ + 'apiName' => 'DeleteLoadBalancer', + 'description' => '删除后付费的负载均衡实例', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DeleteServerCertificate', + 'description' => '删除服务器证书', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"2F398FF5-B349-5C01-8638-8E9A0BF1DBE6\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableHighDefinationMonitorResponse>\\n <Success>true</Success>\\n <RequestId>2F398FF5-B349-5C01-8638-8E9A0BF1DBE6</RequestId>\\n</EnableHighDefinationMonitorResponse>","errorExample":""}]', - 'title' => '开启实例的秒级监控', - ], - 'ModifyHighDefinationMonitor' => [ - 'summary' => '修改高精度秒级监控的配置信息。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeServerCertificates', + 'description' => '查询指定地域的服务器证书列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeServerCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeServerCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeLoadBalancerListeners', + 'description' => '查询负载均衡监听列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerListeners', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'SetRule', + 'description' => '修改目标虚拟服务器组的转发规则', 'operationType' => 'update', - 'abilityTreeCode' => '121167', - 'abilityTreeNodes' => [ - 'FEATUREslbSG7ZOW', + 'ramAction' => [ + 'action' => 'slb:SetRule', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '传统型负载均衡实例所在的地域ID。 '."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + [ + 'apiName' => 'CreateLoadBalancerHTTPListener', + 'description' => '创建HTTP监听', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerHTTPListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LogProject', - 'in' => 'query', - 'schema' => [ - 'description' => '修改后的日志服务LogProject的名称。日志服务LogProject的名称。长度为4~63个字符,支持数字、小写字母,可包含短划线(-),开头和结尾必须为数字或字母。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-project', + ], + [ + 'apiName' => 'AssociateLoadBalancerWithCen', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:AssociateLoadBalancerWithCen', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'LogStore', - 'in' => 'query', - 'schema' => [ - 'description' => '修改后的日志服务LogStore的名称。长度为2~64个字符,支持数字、小写字母,可包含短划线(-)和下划线(_),开头和结尾必须为数字或字母。'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-log-store', + ], + [ + 'apiName' => 'DeleteDomainExtension', + 'description' => '删除扩展域名', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteDomainExtension', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Success' => [ - 'description' => '本次调用是否成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', - ], - ], + [ + 'apiName' => 'SetAutoRenewStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetAutoRenewStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', - 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', + [ + 'apiName' => 'ModifyLoadBalancerInstanceChargeType', + 'description' => '变更按量付费CLB实例的实例计费方式', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInstanceChargeType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], - [ - 'errorCode' => 'UnsupportedFeature.User', - 'errorMessage' => 'The feature of HighDefinationMonitor is not supported.', + ], + ], + [ + 'apiName' => 'RemoveNcServers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:RemoveNcServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], - [ - 'errorCode' => 'NoPermission.AliyunServiceRoleForSlbLogDelivery', - 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForSlbLogDelivery. Service Name: logdelivery.slb.aliyuncs.com. Please ensure the user has been granted the ram:CreateServiceLinkedRole permission', + ], + ], + [ + 'apiName' => 'SetTLSCipherPolicyAttribute', + 'description' => '设置TLS策略', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetTLSCipherPolicyAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#InstanceId}'], ], - [ - 'errorCode' => 'OperationDenied.HdMonitorListenerExist', - 'errorMessage' => 'The operation is denied because there are still listeners enabling HighDefinitionMnitor.', + ], + ], + [ + 'apiName' => 'StopLoadBalancerListener', + 'description' => '停止监听', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:StopLoadBalancerListener', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], ], - [ - 'errorCode' => 'OperationNotAllowed.HighDefinitionMonitorNotEnabled', - 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is not enabled in this region.', + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeMasterSlaveVServerGroupAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeMasterSlaveVServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHighDefinationMonitorResponse>\\n <Success>true</Success>\\n <RequestId>8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E</RequestId>\\n</ModifyHighDefinationMonitorResponse>","errorExample":""}]', - 'title' => '修改秒级监控配置信息', - ], - 'DescribeHighDefinationMonitor' => [ - 'summary' => '查询指定地域的秒级监控配置信息。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DeleteLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DeleteLogsDownloadAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'SetListenerAccessControlStatus', + 'description' => '是否开启指定监听的白名单访问控制', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetListenerAccessControlStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SetLoadBalancerStatus', + 'description' => '设置负载均衡实例的状态', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', + [ + 'apiName' => 'CreateLoadBalancerForCloudService', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateLoadBalancerForCloudService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], + ], + ], ], - 'parameters' => [ - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => '日志标签。其结构是一个JSON dictionary,包含标签键和标签值。', - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', + [ + 'apiName' => 'ModifyHighDefinationMonitor', + 'description' => '修改秒级监控配置信息', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '需要查询秒级监控信息的地域ID。'."\n" - ."\n" - .'您可以通过调用[DescribeRegions](~~27584~~)接口获取地域ID。 ', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', + ], + [ + 'apiName' => 'MigrateClassicLoadBalancerToVpc', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:MigrateClassicLoadBalancerToVpc', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'LogProject' => [ - 'description' => '日志服务LogProject的名称。', - 'type' => 'string', - 'example' => 'my-project', - ], - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6', - ], - 'LogStore' => [ - 'description' => '日志服务LogStore的名称。', - 'type' => 'string', - 'example' => 'my-log-store', - ], - 'Success' => [ - 'description' => '本次调用是否成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'string', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'SetLoadBalancerTCPListenerAttributePro', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetLoadBalancerTCPListenerAttributePro', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeHighDefinationMonitor', + 'description' => '查询实例业务运行监控数据', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"LogProject\\": \\"my-project\\",\\n \\"RequestId\\": \\"2F398FF5-B349-5C01-8638-8E9A0BF1DBE6\\",\\n \\"LogStore\\": \\"my-log-store\\",\\n \\"Success\\": \\"true\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeHighDefinationMonitorResponse>\\n <LogProject>my-project</LogProject>\\n <RequestId>2F398FF5-B349-5C01-8638-8E9A0BF1DBE6</RequestId>\\n <LogStore>my-log-store</LogStore>\\n <Success>true</Success>\\n</DescribeHighDefinationMonitorResponse>","errorExample":""}]', - 'title' => '查询实例业务运行监控数据', - ], - 'MoveResourceGroup' => [ - 'summary' => '修改云资源所属的资源组。', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeIdleInstancesForGlobal', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeIdleInstancesForGlobal', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeRulesEx', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeRulesEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeLogsDownloadStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLogsDownloadStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'SetLogsDownloadStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetLogsDownloadStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyLoadBalancerInternetSpec', + 'description' => '修改公网负载均衡实例的计费方式', 'operationType' => 'update', - 'abilityTreeCode' => '88639', - 'abilityTreeNodes' => [ - 'FEATUREslbPXSOQX', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInternetSpec', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '负载均衡实例的地域ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', + [ + 'apiName' => 'DescribeHealthStatus', + 'description' => '查询后端服务器的健康状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHealthStatus', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => '需要修改资源组的目标资源的ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-uf6ghek7ds2btzt65****', + ], + [ + 'apiName' => 'DescribeDomainExtensionAttribute', + 'description' => '查询已添加的扩展域名属性', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeDomainExtensionAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => '资源类型定义,取值:'."\n" - ."\n" - .'- **loadbalancer**:传统型负载均衡实例。'."\n" - ."\n" - .'- **certificate**:证书。'."\n" - ."\n" - .'- **acl**:访问控制。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [ - 'loadbalancer' => 'loadbalancer', - 'certificate' => 'certificate', - 'acl' => 'acl', - ], - 'example' => 'loadbalancer', + ], + [ + 'apiName' => 'RemoveBackendServers', + 'description' => '移除后端服务器', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveBackendServers', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'ecs:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'NewResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '新资源组ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rg-aek2rpsek5h****', + ], + [ + 'apiName' => 'EnableHighDefinationMonitor', + 'description' => '开启实例的秒级监控', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:EnableHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2dmxj56z****', + ], + [ + 'apiName' => 'RemoveListenerWhiteListItem', + 'description' => '删除监听白名单中的IP', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:RemoveListenerWhiteListItem', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], - [ - 'name' => 'access_key_id', - 'in' => 'query', - 'schema' => [ - 'description' => '阿里云颁发给用户的访问服务所用的密钥ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'yourAccessKeyID', + ], + [ + 'apiName' => 'DescribeMasterSlaveServerGroups', + 'description' => '查询主备服务器组列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeMasterSlaveServerGroups', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '18CAE30A-79CF-544C-86DB-EB36C739642E', - ], - ], + [ + 'apiName' => 'SetVServerGroupAttribute', + 'description' => '修改虚拟服务器组的配置', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetVServerGroupAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ['conditionKey' => 'slb:tag', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"18CAE30A-79CF-544C-86DB-EB36C739642E\\"\\n}","type":"json"}]', - 'title' => '修改资源组', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'slb.cn-qingdao.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'slb.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'slb.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'slb.cn-zhengzhou-jva.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'slb.cn-huhehaote.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'slb.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'slb.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'slb.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'slb.cn-nanjing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'slb.cn-fuzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'slb.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'slb.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'slb.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'slb.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'slb.cn-wuhan-lr.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'slb.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'slb.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'slb.ap-northeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'slb.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'slb.ap-southeast-2.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'slb.ap-southeast-3.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'slb.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'slb.ap-southeast-6.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'slb.us-east-1.aliyuncs.com', ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'slb.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'slb.eu-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'slb.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'slb.ap-south-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'slb.me-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'slb.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'slb.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'slb.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'slb.ap-southeast-7.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'slb.cn-beijing-finance-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'slb.me-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'slb.cn-heyuan-acdr-1.aliyuncs.com', - ], - [ - 'regionId' => 'na-south-1', - 'endpoint' => 'slb.na-south-1.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ['validationType' => 'conditional', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], + ['validationType' => 'always', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], + ['validationType' => 'conditional', 'resourceType' => 'instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId}'], + ['validationType' => 'always', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], + ['validationType' => 'conditional', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/*'], + ['validationType' => 'always', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:tlspolicy/*'], + ['validationType' => 'always', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/*'], + ['validationType' => 'always', 'resourceType' => 'acl', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#aclId}'], + ['validationType' => 'always', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#certificateId}'], + ['validationType' => 'always', 'resourceType' => 'certificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/*'], + ['validationType' => 'always', 'resourceType' => 'Rule', 'arn' => 'acs:slb:{#regionId}:{#accountId}:rule/{#RuleId}'], + ['validationType' => 'always', 'resourceType' => 'MasterSlaveServerGroup', 'arn' => 'acs:slb:{#regionId}:{#accountId}:masterslaveservergroup/{#MasterSlaveServerGroupId}'], + ['validationType' => 'always', 'resourceType' => 'AccessControlList', 'arn' => 'acs:slb:{#regionId}:{#accountId}:acl/{#AclId}'], + ['validationType' => 'always', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/{#ServerCertificateId}'], + ['validationType' => 'always', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#TLSCipherPolicyId}'], + ['validationType' => 'always', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:certificate/*'], + ['validationType' => 'conditional', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/{#CaCertificateId}'], + ['validationType' => 'always', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/*'], + ['validationType' => 'always', 'resourceType' => 'ServerCertificate', 'arn' => 'acs:slb:{#regionId}:{#accountId}:servercertificate/{#ServerCertificateId}'], + ['validationType' => 'always', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#InstanceId}'], ], ], ]; |
