diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/slb | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/slb')
| -rw-r--r-- | data/en_us/slb/2013-02-21/api-docs.php | 2251 | ||||
| -rw-r--r-- | data/en_us/slb/2014-05-15/api-docs.php | 33216 |
2 files changed, 15684 insertions, 19783 deletions
diff --git a/data/en_us/slb/2013-02-21/api-docs.php b/data/en_us/slb/2013-02-21/api-docs.php index 61ee851..0f77fbd 100644 --- a/data/en_us/slb/2013-02-21/api-docs.php +++ b/data/en_us/slb/2013-02-21/api-docs.php @@ -1,56 +1,30 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Slb', - 'version' => '2013-02-21', - ], + 'info' => ['style' => 'RPC', 'product' => 'Slb', 'version' => '2013-02-21'], 'directories' => [ [ 'id' => 95649, 'title' => null, 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], + 'children' => ['DescribeRegions'], ], [ 'id' => 95651, 'title' => null, 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancer', - 'DeleteLoadBalancer', - 'SetLoadBalancerName', - 'SetLoadBalancerStatus', - 'DescribeLoadBalancerAttribute', - 'DescribeLoadBalancers', - ], + 'children' => ['CreateLoadBalancer', 'DeleteLoadBalancer', 'SetLoadBalancerName', 'SetLoadBalancerStatus', 'DescribeLoadBalancerAttribute', 'DescribeLoadBalancers'], ], [ 'id' => 95658, 'title' => null, 'type' => 'directory', - 'children' => [ - 'AddBackendServers', - 'DescribeBackendServers', - 'RemoveBackendServers', - ], + 'children' => ['AddBackendServers', 'DescribeBackendServers', 'RemoveBackendServers'], ], [ 'id' => 95662, 'title' => null, 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerHTTPListener', - 'CreateLoadBalancerTCPListener', - 'DeleteLoadBalancerListener', - 'SetLoadBalancerHTTPListenerAttribute', - 'SetLoadBalancerListenerStatus', - 'SetLoadBalancerTCPListenerAttribute', - 'DescribeLoadBalancerHTTPListenerAttribute', - 'DescribeLoadBalancerTCPListenerAttribute', - ], + 'children' => ['CreateLoadBalancerHTTPListener', 'CreateLoadBalancerTCPListener', 'DeleteLoadBalancerListener', 'SetLoadBalancerHTTPListenerAttribute', 'SetLoadBalancerListenerStatus', 'SetLoadBalancerTCPListenerAttribute', 'DescribeLoadBalancerHTTPListenerAttribute', 'DescribeLoadBalancerTCPListenerAttribute'], ], ], 'components' => [ @@ -59,14 +33,8 @@ 'apis' => [ 'DescribeRegions' => [ 'summary' => '查询可用地域', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -76,27 +44,19 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '88712', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', - ], + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -104,9 +64,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], 'Regions' => [ 'type' => 'object', 'itemNode' => true, @@ -116,12 +74,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'LocalName' => [ - 'type' => 'string', - ], - 'RegionId' => [ - 'type' => 'string', - ], + 'LocalName' => ['type' => 'string'], + 'RegionId' => ['type' => 'string'], ], ], ], @@ -133,24 +87,15 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => ' ', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => ' '], ], ], 'responseDemo' => null, ], 'CreateLoadBalancer' => [ 'summary' => '创建实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -159,65 +104,39 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '88702', - 'abilityTreeNodes' => [ - 'FEATUREslb5GOIX2', - 'FEATUREslb2FPYY7', - 'FEATUREslbIQWMQE', - 'FEATUREslbH8UDIC', - 'FEATUREslb6Z0K4V', - 'FEATUREslbD4ZY2L', - 'FEATUREslbMMPQ1U', - ], + 'abilityTreeNodes' => ['FEATUREslb5GOIX2', 'FEATUREslb2FPYY7', 'FEATUREslbIQWMQE', 'FEATUREslbH8UDIC', 'FEATUREslb6Z0K4V', 'FEATUREslbD4ZY2L', 'FEATUREslbMMPQ1U'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'IsPublicAddress', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Address', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ClientToken', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'LoadBalancerMode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -225,126 +144,52 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Address' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'LoadBalancerName' => [ - 'type' => 'string', - ], - 'LoadBalancerId' => [ - 'type' => 'string', - ], + 'Address' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'LoadBalancerName' => ['type' => 'string'], + 'LoadBalancerId' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidServerId.NotFound', - 'errorMessage' => 'The specified server is not found.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter "BackendServers" is not valid.', - ], - [ - 'errorCode' => 'UnsupportedOperation', - 'errorMessage' => 'The specified action is not supported.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InvalidServerId.Malformed', - 'errorMessage' => 'A specified server ID is not valid.', - ], - [ - 'errorCode' => 'IpNotAvailable', - 'errorMessage' => 'The specified parameter "Address" is not valid.', - ], - [ - 'errorCode' => 'InvalidWeight.Malformed', - 'errorMessage' => 'A specified weight is not valid.', - ], - [ - 'errorCode' => 'UnsupportedParameter', - 'errorMessage' => 'The input parameter " is not unsupported.', - ], - [ - 'errorCode' => 'TooManyBackendServers', - 'errorMessage' => 'The backend server parameter has too many entries.', - ], - [ - 'errorCode' => 'ShareSlbHaltSales', - 'errorMessage' => 'The share instance has been discontinued.', - ], + ['errorCode' => 'InvalidServerId.NotFound', 'errorMessage' => 'The specified server is not found.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter "BackendServers" is not valid.'], + ['errorCode' => 'UnsupportedOperation', 'errorMessage' => 'The specified action is not supported.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.'], + ['errorCode' => 'InvalidServerId.Malformed', 'errorMessage' => 'A specified server ID is not valid.'], + ['errorCode' => 'IpNotAvailable', 'errorMessage' => 'The specified parameter "Address" is not valid.'], + ['errorCode' => 'InvalidWeight.Malformed', 'errorMessage' => 'A specified weight is not valid.'], + ['errorCode' => 'UnsupportedParameter', 'errorMessage' => 'The input parameter " is not unsupported.'], + ['errorCode' => 'TooManyBackendServers', 'errorMessage' => 'The backend server parameter has too many entries.'], + ['errorCode' => 'ShareSlbHaltSales', 'errorMessage' => 'The share instance has been discontinued.'], ], 403 => [ - [ - 'errorCode' => 'Forbidden', - 'errorMessage' => 'User not authorized to operate on the specified resource.', - ], + ['errorCode' => 'Forbidden', 'errorMessage' => 'User not authorized to operate on the specified resource.'], ], [ - [ - 'errorCode' => 'InvalidRegionId.NotFound', - 'errorMessage' => 'Specified region does not exist.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'No Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'CheckedListenerNotFound', - 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'InvalidLoadBalancerId.NotFound', - 'errorMessage' => 'LoadBalancerId does not exist.', - ], + ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified region does not exist.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'No Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'CheckedListenerNotFound', 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'LoadBalancerId does not exist.'], ], 500 => [ - [ - 'errorCode' => 'InternalInvokeError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.', - ], + ['errorCode' => 'InternalInvokeError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.'], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error, exception or failure.'], ], 503 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => null, ], 'DeleteLoadBalancer' => [ 'summary' => '删除实例', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -353,35 +198,24 @@ 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '88705', - 'abilityTreeNodes' => [ - 'FEATUREslbMUH6G6', - ], + 'abilityTreeNodes' => ['FEATUREslbMUH6G6'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -389,9 +223,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], @@ -400,14 +232,8 @@ ], 'SetLoadBalancerName' => [ 'summary' => '修改实例名称', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -416,43 +242,29 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '88716', - 'abilityTreeNodes' => [ - 'FEATUREslbMUH6G6', - ], + 'abilityTreeNodes' => ['FEATUREslbMUH6G6'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -460,9 +272,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], @@ -471,14 +281,8 @@ ], 'SetLoadBalancerStatus' => [ 'summary' => '修改实例状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -487,43 +291,29 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '88717', - 'abilityTreeNodes' => [ - 'FEATUREslbMUH6G6', - ], + 'abilityTreeNodes' => ['FEATUREslbMUH6G6'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'LoadBalancerStatus', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -531,9 +321,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], @@ -542,14 +330,8 @@ ], 'DescribeLoadBalancerAttribute' => [ 'summary' => '查询实例信息', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -558,41 +340,24 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '88708', - 'abilityTreeNodes' => [ - 'FEATUREslb5GOIX2', - 'FEATUREslb2FPYY7', - 'FEATUREslbIQWMQE', - 'FEATUREslbH8UDIC', - 'FEATUREslb6Z0K4V', - 'FEATUREslbD4ZY2L', - 'FEATUREslbMMPQ1U', - ], + 'abilityTreeNodes' => ['FEATUREslb5GOIX2', 'FEATUREslb2FPYY7', 'FEATUREslbIQWMQE', 'FEATUREslbH8UDIC', 'FEATUREslb6Z0K4V', 'FEATUREslbD4ZY2L', 'FEATUREslbMMPQ1U'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -600,88 +365,36 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'type' => 'string', - ], - 'CreateTimeStamp' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'LoadBalancerSpec' => [ - 'type' => 'string', - ], - 'AutoReleaseTime' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'IsPublicAddress' => [ - 'type' => 'string', - ], - 'CreateTime' => [ - 'type' => 'string', - ], - 'LoadBalancerId' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'AddressType' => [ - 'type' => 'string', - ], - 'NetworkType' => [ - 'type' => 'string', - ], - 'RegionId' => [ - 'type' => 'string', - ], - 'EndTime' => [ - 'type' => 'string', - ], - 'VSwitchId' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Bandwidth' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'LoadBalancerStatus' => [ - 'type' => 'string', - ], - 'LoadBalancerName' => [ - 'type' => 'string', - ], - 'InternetChargeType' => [ - 'type' => 'string', - ], - 'Address' => [ - 'type' => 'string', - ], - 'SlaveZoneId' => [ - 'type' => 'string', - ], - 'EndTimeStamp' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'RegionIdAlias' => [ - 'type' => 'string', - ], - 'MasterZoneId' => [ - 'type' => 'string', - ], + 'VpcId' => ['type' => 'string'], + 'CreateTimeStamp' => ['type' => 'integer', 'format' => 'int64'], + 'LoadBalancerSpec' => ['type' => 'string'], + 'AutoReleaseTime' => ['type' => 'integer', 'format' => 'int64'], + 'IsPublicAddress' => ['type' => 'string'], + 'CreateTime' => ['type' => 'string'], + 'LoadBalancerId' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'AddressType' => ['type' => 'string'], + 'NetworkType' => ['type' => 'string'], + 'RegionId' => ['type' => 'string'], + 'EndTime' => ['type' => 'string'], + 'VSwitchId' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'Bandwidth' => ['type' => 'integer', 'format' => 'int32'], + 'LoadBalancerStatus' => ['type' => 'string'], + 'LoadBalancerName' => ['type' => 'string'], + 'InternetChargeType' => ['type' => 'string'], + 'Address' => ['type' => 'string'], + 'SlaveZoneId' => ['type' => 'string'], + 'EndTimeStamp' => ['type' => 'integer', 'format' => 'int64'], + 'RegionIdAlias' => ['type' => 'string'], + 'MasterZoneId' => ['type' => 'string'], 'ListenerPorts' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ListenerPort' => [ 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], + 'items' => ['type' => 'string'], ], ], ], @@ -694,13 +407,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'ListenerProtocal' => [ - 'type' => 'string', - ], - 'ListenerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'ListenerProtocal' => ['type' => 'string'], + 'ListenerPort' => ['type' => 'integer', 'format' => 'int32'], ], ], ], @@ -715,13 +423,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'ListenerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ListenerProtocol' => [ - 'type' => 'string', - ], + 'ListenerPort' => ['type' => 'integer', 'format' => 'int32'], + 'ListenerProtocol' => ['type' => 'string'], ], ], ], @@ -736,13 +439,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ServerId' => [ - 'type' => 'string', - ], + 'Weight' => ['type' => 'integer', 'format' => 'int32'], + 'ServerId' => ['type' => 'string'], ], ], ], @@ -756,14 +454,8 @@ ], 'DescribeLoadBalancers' => [ 'summary' => 'slb实例批量查询', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -776,177 +468,104 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '88710', - 'abilityTreeNodes' => [ - 'FEATUREslb5GOIX2', - 'FEATUREslb2FPYY7', - 'FEATUREslbIQWMQE', - 'FEATUREslbH8UDIC', - 'FEATUREslb6Z0K4V', - 'FEATUREslbD4ZY2L', - 'FEATUREslbMMPQ1U', - ], + 'abilityTreeNodes' => ['FEATUREslb5GOIX2', 'FEATUREslb2FPYY7', 'FEATUREslbIQWMQE', 'FEATUREslbH8UDIC', 'FEATUREslb6Z0K4V', 'FEATUREslbD4ZY2L', 'FEATUREslbMMPQ1U'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ServerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ServerIntranetAddress', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'NetworkType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Address', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'MasterZoneId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'SlaveZoneId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'default' => '0', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'default' => '0'], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'default' => '10', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10'], ], ], 'responses' => [ @@ -954,21 +573,10 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], - 'PageNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalCount' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'RequestId' => ['type' => 'string'], + 'PageNumber' => ['type' => 'integer', 'format' => 'int32'], + 'PageSize' => ['type' => 'integer', 'format' => 'int32'], + 'TotalCount' => ['type' => 'integer', 'format' => 'int32'], 'LoadBalancers' => [ 'type' => 'object', 'itemNode' => true, @@ -978,58 +586,23 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'type' => 'string', - ], - 'CreateTimeStamp' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'CreateTime' => [ - 'type' => 'string', - ], - 'LoadBalancerId' => [ - 'type' => 'string', - ], - 'PayType' => [ - 'type' => 'string', - ], - 'AddressType' => [ - 'type' => 'string', - ], - 'NetworkType' => [ - 'type' => 'string', - ], - 'RegionId' => [ - 'type' => 'string', - ], - 'VSwitchId' => [ - 'type' => 'string', - ], - 'LoadBalancerStatus' => [ - 'type' => 'string', - ], - 'LoadBalancerName' => [ - 'type' => 'string', - ], - 'ResourceGroupId' => [ - 'type' => 'string', - ], - 'InternetChargeType' => [ - 'type' => 'string', - ], - 'Address' => [ - 'type' => 'string', - ], - 'SlaveZoneId' => [ - 'type' => 'string', - ], - 'RegionIdAlias' => [ - 'type' => 'string', - ], - 'MasterZoneId' => [ - 'type' => 'string', - ], + 'VpcId' => ['type' => 'string'], + 'CreateTimeStamp' => ['type' => 'integer', 'format' => 'int64'], + 'CreateTime' => ['type' => 'string'], + 'LoadBalancerId' => ['type' => 'string'], + 'PayType' => ['type' => 'string'], + 'AddressType' => ['type' => 'string'], + 'NetworkType' => ['type' => 'string'], + 'RegionId' => ['type' => 'string'], + 'VSwitchId' => ['type' => 'string'], + 'LoadBalancerStatus' => ['type' => 'string'], + 'LoadBalancerName' => ['type' => 'string'], + 'ResourceGroupId' => ['type' => 'string'], + 'InternetChargeType' => ['type' => 'string'], + 'Address' => ['type' => 'string'], + 'SlaveZoneId' => ['type' => 'string'], + 'RegionIdAlias' => ['type' => 'string'], + 'MasterZoneId' => ['type' => 'string'], ], ], ], @@ -1039,21 +612,13 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => null, ], 'AddBackendServers' => [ 'summary' => '添加后端服务器', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1062,45 +627,29 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '88701', - 'abilityTreeNodes' => [ - 'FEATUREslbZCBC3S', - 'FEATUREslb2W3JY0', - 'FEATUREslbQ7A0BW', - ], + 'abilityTreeNodes' => ['FEATUREslbZCBC3S', 'FEATUREslb2W3JY0', 'FEATUREslbQ7A0BW'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1108,12 +657,8 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], + 'LoadBalancerId' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, @@ -1123,12 +668,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Weight' => [ - 'type' => 'string', - ], - 'ServerId' => [ - 'type' => 'string', - ], + 'Weight' => ['type' => 'string'], + 'ServerId' => ['type' => 'string'], ], ], ], @@ -1142,14 +683,8 @@ ], 'DescribeBackendServers' => [ 'summary' => '查询后端服务器', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1160,56 +695,34 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '88707', - 'abilityTreeNodes' => [ - 'FEATUREslbZCBC3S', - 'FEATUREslb2W3JY0', - 'FEATUREslbQ7A0BW', - ], + 'abilityTreeNodes' => ['FEATUREslbZCBC3S', 'FEATUREslb2W3JY0', 'FEATUREslbQ7A0BW'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1217,9 +730,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], 'Listeners' => [ 'type' => 'object', 'itemNode' => true, @@ -1229,10 +740,7 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'ListenerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'ListenerPort' => ['type' => 'integer', 'format' => 'int32'], 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, @@ -1242,12 +750,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'ServerHealthStatus' => [ - 'type' => 'string', - ], - 'ServerId' => [ - 'type' => 'string', - ], + 'ServerHealthStatus' => ['type' => 'string'], + 'ServerId' => ['type' => 'string'], ], ], ], @@ -1266,14 +770,8 @@ ], 'RemoveBackendServers' => [ 'summary' => '删除默认服务器组的后端服务器', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1282,43 +780,29 @@ 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '88713', - 'abilityTreeNodes' => [ - 'FEATUREslbZCBC3S', - ], + 'abilityTreeNodes' => ['FEATUREslbZCBC3S'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1326,12 +810,8 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], + 'LoadBalancerId' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, @@ -1341,13 +821,8 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'Weight' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ServerId' => [ - 'type' => 'string', - ], + 'Weight' => ['type' => 'integer', 'format' => 'int32'], + 'ServerId' => ['type' => 'string'], ], ], ], @@ -1361,14 +836,8 @@ ], 'CreateLoadBalancerHTTPListener' => [ 'summary' => '创建HTTP监听', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1377,173 +846,104 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '88703', - 'abilityTreeNodes' => [ - 'FEATUREslbPXBZ65', - ], + 'abilityTreeNodes' => ['FEATUREslbPXBZ65'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'ListenerStatus', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'StickySession', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'StickySessionType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'CookieTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'Cookie', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'URI', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'HealthCheckTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'HostId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'maximum' => '5120', - 'minimum' => '-1', - 'default' => '-1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'maximum' => '5120', 'minimum' => '-1', 'default' => '-1'], ], ], 'responses' => [ @@ -1551,96 +951,41 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidServerId.NotFound', - 'errorMessage' => 'The specified server is not found.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter "BackendServers" is not valid.', - ], - [ - 'errorCode' => 'UnsupportedOperation', - 'errorMessage' => 'The specified action is not supported.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'TooManyBackendServers', - 'errorMessage' => 'The backend server parameter has too many entries.', - ], - [ - 'errorCode' => 'InvalidServerId.Malformed', - 'errorMessage' => 'A specified server ID is not valid.', - ], - [ - 'errorCode' => 'InvalidWeight.Malformed', - 'errorMessage' => 'A specified weight is not valid.', - ], - [ - 'errorCode' => 'StickySessionInvalid', - 'errorMessage' => 'StickySessionInvalid.', - ], + ['errorCode' => 'InvalidServerId.NotFound', 'errorMessage' => 'The specified server is not found.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter "BackendServers" is not valid.'], + ['errorCode' => 'UnsupportedOperation', 'errorMessage' => 'The specified action is not supported.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.'], + ['errorCode' => 'TooManyBackendServers', 'errorMessage' => 'The backend server parameter has too many entries.'], + ['errorCode' => 'InvalidServerId.Malformed', 'errorMessage' => 'A specified server ID is not valid.'], + ['errorCode' => 'InvalidWeight.Malformed', 'errorMessage' => 'A specified weight is not valid.'], + ['errorCode' => 'StickySessionInvalid', 'errorMessage' => 'StickySessionInvalid.'], ], 404 => [ - [ - 'errorCode' => 'InvalidRegionId.NotFound', - 'errorMessage' => 'Specified region does not exist.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'No Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'CheckedListenerNotFound', - 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'InvalidLoadBalancerId.NotFound', - 'errorMessage' => 'LoadBalancerId does not exist.', - ], + ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified region does not exist.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'No Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'CheckedListenerNotFound', 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'LoadBalancerId does not exist.'], ], 503 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => null, ], 'CreateLoadBalancerTCPListener' => [ 'summary' => '创建TCP监听', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1649,237 +994,124 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '88704', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - ], + 'abilityTreeNodes' => ['FEATUREslbOL61C3'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'ListenerStatus', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'default' => 'inactive', - ], + 'schema' => ['type' => 'string', 'required' => false, 'default' => 'inactive'], ], [ 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '-1', - 'default' => '-1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '-1', 'default' => '-1'], ], [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'default' => 'wrr', - ], + 'schema' => ['type' => 'string', 'required' => false, 'default' => 'wrr'], ], [ 'name' => 'PersistenceTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'default' => '0', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '0', 'default' => '0'], ], [ 'name' => 'EstablishedTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'default' => '900', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '900', 'minimum' => '10', 'default' => '900'], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'default' => '3', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3'], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'default' => '3', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3'], ], [ 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ConnectTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'default' => '5', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'default' => '5'], ], [ 'name' => 'ConnectPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1'], ], [ 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'MaxConnection', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000000', - 'minimum' => '5000', - 'default' => '5000000', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000000', 'minimum' => '5000', 'default' => '5000000'], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1887,33 +1119,22 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', - 'errorMessage' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', - ], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.'], ], ], 'responseDemo' => null, ], 'DeleteLoadBalancerListener' => [ 'summary' => '删除监听', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1922,50 +1143,29 @@ 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '88706', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - 'FEATUREslbMJNWX5', - 'FEATUREslbPXBZ65', - 'FEATUREslbFSBXXR', - 'FEATUREslb4A0V0T', - ], + 'abilityTreeNodes' => ['FEATUREslbOL61C3', 'FEATUREslbMJNWX5', 'FEATUREslbPXBZ65', 'FEATUREslbFSBXXR', 'FEATUREslb4A0V0T'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -1973,9 +1173,7 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], @@ -1984,14 +1182,8 @@ ], 'SetLoadBalancerHTTPListenerAttribute' => [ 'summary' => '更新http监听', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2000,145 +1192,89 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '88714', - 'abilityTreeNodes' => [ - 'FEATUREslbPXBZ65', - ], + 'abilityTreeNodes' => ['FEATUREslbPXBZ65'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'StickySession', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'StickySessionType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'CookieTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'Cookie', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'URI', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'HealthCheckTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'HostId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2146,93 +1282,40 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidServerId.NotFound', - 'errorMessage' => 'The specified server is not found.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter "BackendServers" is not valid.', - ], - [ - 'errorCode' => 'UnsupportedOperation', - 'errorMessage' => 'The specified action is not supported.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'TooManyBackendServers', - 'errorMessage' => 'The backend server parameter has too many entries.', - ], - [ - 'errorCode' => 'InvalidServerId.Malformed', - 'errorMessage' => 'A specified server ID is not valid.', - ], - [ - 'errorCode' => 'InvalidWeight.Malformed', - 'errorMessage' => 'A specified weight is not valid.', - ], - [ - 'errorCode' => 'StickySessionInvalid', - 'errorMessage' => 'StickySessionInvalid.', - ], + ['errorCode' => 'InvalidServerId.NotFound', 'errorMessage' => 'The specified server is not found.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter "BackendServers" is not valid.'], + ['errorCode' => 'UnsupportedOperation', 'errorMessage' => 'The specified action is not supported.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.'], + ['errorCode' => 'TooManyBackendServers', 'errorMessage' => 'The backend server parameter has too many entries.'], + ['errorCode' => 'InvalidServerId.Malformed', 'errorMessage' => 'A specified server ID is not valid.'], + ['errorCode' => 'InvalidWeight.Malformed', 'errorMessage' => 'A specified weight is not valid.'], + ['errorCode' => 'StickySessionInvalid', 'errorMessage' => 'StickySessionInvalid.'], ], 404 => [ - [ - 'errorCode' => 'InvalidRegionId.NotFound', - 'errorMessage' => 'Specified region does not exist.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'No Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'CheckedListenerNotFound', - 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'InvalidLoadBalancerId.NotFound', - 'errorMessage' => 'LoadBalancerId does not exist.', - ], + ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified region does not exist.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'No Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'CheckedListenerNotFound', 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'LoadBalancerId does not exist.'], ], 503 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => null, ], 'SetLoadBalancerListenerStatus' => [ 'summary' => '修改监听状态', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2241,48 +1324,29 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '88715', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - 'FEATUREslbMJNWX5', - 'FEATUREslbPXBZ65', - 'FEATUREslbFSBXXR', - 'FEATUREslb4A0V0T', - ], + 'abilityTreeNodes' => ['FEATUREslbOL61C3', 'FEATUREslbMJNWX5', 'FEATUREslbPXBZ65', 'FEATUREslbFSBXXR', 'FEATUREslb4A0V0T'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'ListenerStatus', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HostId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2290,89 +1354,39 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidServerId.NotFound', - 'errorMessage' => 'The specified server is not found.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter "BackendServers" is not valid.', - ], - [ - 'errorCode' => 'UnsupportedOperation', - 'errorMessage' => 'The specified action is not supported.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'TooManyBackendServers', - 'errorMessage' => 'The backend server parameter has too many entries.', - ], - [ - 'errorCode' => 'InvalidServerId.Malformed', - 'errorMessage' => 'A specified server ID is not valid.', - ], - [ - 'errorCode' => 'InvalidWeight.Malformed', - 'errorMessage' => 'A specified weight is not valid.', - ], + ['errorCode' => 'InvalidServerId.NotFound', 'errorMessage' => 'The specified server is not found.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter "BackendServers" is not valid.'], + ['errorCode' => 'UnsupportedOperation', 'errorMessage' => 'The specified action is not supported.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.'], + ['errorCode' => 'TooManyBackendServers', 'errorMessage' => 'The backend server parameter has too many entries.'], + ['errorCode' => 'InvalidServerId.Malformed', 'errorMessage' => 'A specified server ID is not valid.'], + ['errorCode' => 'InvalidWeight.Malformed', 'errorMessage' => 'A specified weight is not valid.'], ], 404 => [ - [ - 'errorCode' => 'InvalidRegionId.NotFound', - 'errorMessage' => 'Specified region does not exist.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'No Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'CheckedListenerNotFound', - 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'InvalidLoadBalancerId.NotFound', - 'errorMessage' => 'LoadBalancerId does not exist.', - ], + ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified region does not exist.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'No Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'CheckedListenerNotFound', 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'LoadBalancerId does not exist.'], ], 503 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => null, ], 'SetLoadBalancerTCPListenerAttribute' => [ 'summary' => '更新tcp监听', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2381,113 +1395,64 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '88718', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - 'FEATUREslb4A0V0T', - ], + 'abilityTreeNodes' => ['FEATUREslbOL61C3', 'FEATUREslb4A0V0T'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'PersistenceTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'default' => '3', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3'], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'default' => '3', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3'], ], [ 'name' => 'ConnectTimeout', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'ConnectPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false], ], [ 'name' => 'HostId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2495,93 +1460,40 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - ], + 'RequestId' => ['type' => 'string'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidServerId.NotFound', - 'errorMessage' => 'The specified server is not found.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter "BackendServers" is not valid.', - ], - [ - 'errorCode' => 'UnsupportedOperation', - 'errorMessage' => 'The specified action is not supported.', - ], - [ - 'errorCode' => 'ListenerAlreadyExists', - 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'TooManyBackendServers', - 'errorMessage' => 'The backend server parameter has too many entries.', - ], - [ - 'errorCode' => 'InvalidServerId.Malformed', - 'errorMessage' => 'A specified server ID is not valid.', - ], - [ - 'errorCode' => 'InvalidWeight.Malformed', - 'errorMessage' => 'A specified weight is not valid.', - ], - [ - 'errorCode' => 'StickySessionInvalid', - 'errorMessage' => 'StickySessionInvalid.', - ], + ['errorCode' => 'InvalidServerId.NotFound', 'errorMessage' => 'The specified server is not found.'], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter "BackendServers" is not valid.'], + ['errorCode' => 'UnsupportedOperation', 'errorMessage' => 'The specified action is not supported.'], + ['errorCode' => 'ListenerAlreadyExists', 'errorMessage' => 'There is already a listener bound to the port on the specified load balancer.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter "Cookie" that is mandatory for processing this request is not supplied.'], + ['errorCode' => 'TooManyBackendServers', 'errorMessage' => 'The backend server parameter has too many entries.'], + ['errorCode' => 'InvalidServerId.Malformed', 'errorMessage' => 'A specified server ID is not valid.'], + ['errorCode' => 'InvalidWeight.Malformed', 'errorMessage' => 'A specified weight is not valid.'], + ['errorCode' => 'StickySessionInvalid', 'errorMessage' => 'StickySessionInvalid.'], ], 404 => [ - [ - 'errorCode' => 'InvalidRegionId.NotFound', - 'errorMessage' => 'Specified region does not exist.', - ], - [ - 'errorCode' => 'ListenerNotFound', - 'errorMessage' => 'No Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'CheckedListenerNotFound', - 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.', - ], - [ - 'errorCode' => 'InvalidLoadBalancerId.NotFound', - 'errorMessage' => 'LoadBalancerId does not exist.', - ], + ['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'Specified region does not exist.'], + ['errorCode' => 'ListenerNotFound', 'errorMessage' => 'No Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'CheckedListenerNotFound', 'errorMessage' => 'No health-checked Listener to the specified port of the Load Balancer.'], + ['errorCode' => 'InvalidLoadBalancerId.NotFound', 'errorMessage' => 'LoadBalancerId does not exist.'], ], 503 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'The request has failed due to a temporary failure of the server.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'The request has failed due to a temporary failure of the server.'], ], ], 'responseDemo' => null, ], 'DescribeLoadBalancerHTTPListenerAttribute' => [ 'summary' => ' 查询HTTP监听配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2590,46 +1502,29 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '88709', - 'abilityTreeNodes' => [ - 'FEATUREslbPXBZ65', - ], + 'abilityTreeNodes' => ['FEATUREslbPXBZ65'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2637,97 +1532,33 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'type' => 'string', - ], - 'VServerGroupId' => [ - 'type' => 'string', - ], - 'Cookie' => [ - 'type' => 'string', - ], - 'Gzip' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'HealthCheckConnectPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Bandwidth' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthCheckTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'BackendServerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'CookieTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'URI' => [ - 'type' => 'string', - ], - 'UnhealthyThreshold' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'XForwardedFor_SLBID' => [ - 'type' => 'string', - ], - 'SecurityStatus' => [ - 'type' => 'string', - ], - 'HealthCheckHttpCode' => [ - 'type' => 'string', - ], - 'Domain' => [ - 'type' => 'string', - ], - 'MaxConnection' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'XForwardedFor' => [ - 'type' => 'string', - ], - 'ListenerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'StickySessionType' => [ - 'type' => 'string', - ], - 'Scheduler' => [ - 'type' => 'string', - ], - 'Interval' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthyThreshold' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'XForwardedFor_proto' => [ - 'type' => 'string', - ], - 'XForwardedFor_SLBIP' => [ - 'type' => 'string', - ], - 'StickySession' => [ - 'type' => 'string', - ], - 'HealthCheck' => [ - 'type' => 'string', - ], + 'Status' => ['type' => 'string'], + 'VServerGroupId' => ['type' => 'string'], + 'Cookie' => ['type' => 'string'], + 'Gzip' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'HealthCheckConnectPort' => ['type' => 'integer', 'format' => 'int32'], + 'Bandwidth' => ['type' => 'integer', 'format' => 'int32'], + 'HealthCheckTimeout' => ['type' => 'integer', 'format' => 'int32'], + 'BackendServerPort' => ['type' => 'integer', 'format' => 'int32'], + 'CookieTimeout' => ['type' => 'integer', 'format' => 'int32'], + 'URI' => ['type' => 'string'], + 'UnhealthyThreshold' => ['type' => 'integer', 'format' => 'int32'], + 'XForwardedFor_SLBID' => ['type' => 'string'], + 'SecurityStatus' => ['type' => 'string'], + 'HealthCheckHttpCode' => ['type' => 'string'], + 'Domain' => ['type' => 'string'], + 'MaxConnection' => ['type' => 'integer', 'format' => 'int32'], + 'XForwardedFor' => ['type' => 'string'], + 'ListenerPort' => ['type' => 'integer', 'format' => 'int32'], + 'StickySessionType' => ['type' => 'string'], + 'Scheduler' => ['type' => 'string'], + 'Interval' => ['type' => 'integer', 'format' => 'int32'], + 'HealthyThreshold' => ['type' => 'integer', 'format' => 'int32'], + 'XForwardedFor_proto' => ['type' => 'string'], + 'XForwardedFor_SLBIP' => ['type' => 'string'], + 'StickySession' => ['type' => 'string'], + 'HealthCheck' => ['type' => 'string'], ], ], ], @@ -2736,14 +1567,8 @@ ], 'DescribeLoadBalancerTCPListenerAttribute' => [ 'summary' => ' 查询TCP监听配置', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2752,47 +1577,29 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '88711', - 'abilityTreeNodes' => [ - 'FEATUREslbOL61C3', - 'FEATUREslb4A0V0T', - ], + 'abilityTreeNodes' => ['FEATUREslbOL61C3', 'FEATUREslb4A0V0T'], 'autoTest' => false, ], 'parameters' => [ [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => true, - ], + 'schema' => ['type' => 'string', 'required' => true], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1'], ], [ 'name' => 'access_key_id', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'required' => false], ], ], 'responses' => [ @@ -2800,83 +1607,28 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'type' => 'string', - ], - 'HealthCheckHttpCode' => [ - 'type' => 'string', - ], - 'ConnectPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Status' => [ - 'type' => 'string', - ], - 'MaxConnection' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PersistenceTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ListenerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthCheckURI' => [ - 'type' => 'string', - ], - 'SynProxy' => [ - 'type' => 'string', - ], - 'Scheduler' => [ - 'type' => 'string', - ], - 'RequestId' => [ - 'type' => 'string', - ], - 'Interval' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Bandwidth' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'EstablishedTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthCheckType' => [ - 'type' => 'string', - ], - 'MasterSlaveServerGroupId' => [ - 'type' => 'string', - ], - 'BackendServerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthyThreshold' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthCheckDomain' => [ - 'type' => 'string', - ], - 'UnhealthyThreshold' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'ConnectTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'HealthCheck' => [ - 'type' => 'string', - ], + 'VServerGroupId' => ['type' => 'string'], + 'HealthCheckHttpCode' => ['type' => 'string'], + 'ConnectPort' => ['type' => 'integer', 'format' => 'int32'], + 'Status' => ['type' => 'string'], + 'MaxConnection' => ['type' => 'integer', 'format' => 'int32'], + 'PersistenceTimeout' => ['type' => 'integer', 'format' => 'int32'], + 'ListenerPort' => ['type' => 'integer', 'format' => 'int32'], + 'HealthCheckURI' => ['type' => 'string'], + 'SynProxy' => ['type' => 'string'], + 'Scheduler' => ['type' => 'string'], + 'RequestId' => ['type' => 'string'], + 'Interval' => ['type' => 'integer', 'format' => 'int32'], + 'Bandwidth' => ['type' => 'integer', 'format' => 'int32'], + 'EstablishedTimeout' => ['type' => 'integer', 'format' => 'int32'], + 'HealthCheckType' => ['type' => 'string'], + 'MasterSlaveServerGroupId' => ['type' => 'string'], + 'BackendServerPort' => ['type' => 'integer', 'format' => 'int32'], + 'HealthyThreshold' => ['type' => 'integer', 'format' => 'int32'], + 'HealthCheckDomain' => ['type' => 'string'], + 'UnhealthyThreshold' => ['type' => 'integer', 'format' => 'int32'], + 'ConnectTimeout' => ['type' => 'integer', 'format' => 'int32'], + 'HealthCheck' => ['type' => 'string'], ], ], ], @@ -2885,153 +1637,42 @@ ], ], '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', - ], + ['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'], ], ]; diff --git a/data/en_us/slb/2014-05-15/api-docs.php b/data/en_us/slb/2014-05-15/api-docs.php index 4a7f5ff..007847f 100644 --- a/data/en_us/slb/2014-05-15/api-docs.php +++ b/data/en_us/slb/2014-05-15/api-docs.php @@ -1,314 +1,107 @@ <?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' => 'Query resources', - 'type' => 'directory', - 'children' => [ - 'DescribeAvailableResource', - ], - ], - [ - 'id' => 68274, - 'title' => 'Region and zone management', - 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - 'DescribeZones', - ], - ], - [ - 'id' => 68277, - 'title' => 'Classic Load Balancer instances', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancer', - 'DeleteLoadBalancer', - 'ModifyLoadBalancerInstanceSpec', - 'ModifyLoadBalancerInternetSpec', - 'ModifyLoadBalancerPayType', - 'SetLoadBalancerDeleteProtection', - 'SetLoadBalancerModificationProtection', - 'SetLoadBalancerName', - 'SetLoadBalancerStatus', - 'ModifyLoadBalancerInstanceChargeType', - 'DescribeLoadBalancerAttribute', - 'DescribeLoadBalancers', - ], - ], - [ - 'id' => 68332, - 'title' => 'Listeners', - 'type' => 'directory', - 'children' => [ - 'DeleteLoadBalancerListener', - 'StartLoadBalancerListener', - 'StopLoadBalancerListener', - 'DescribeLoadBalancerListeners', - ], - ], - [ - 'id' => 183721, - 'title' => 'TCP listeners', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerTCPListener', - 'SetLoadBalancerTCPListenerAttribute', - 'DescribeLoadBalancerTCPListenerAttribute', - ], - ], - [ - 'id' => 183722, - 'title' => 'UDP listeners', + 'children' => ['ModifyLoadBalancerInternetSpec', 'ModifyLoadBalancerPayType', 'SetLoadBalancerDeleteProtection', 'SetLoadBalancerModificationProtection', 'SetLoadBalancerName', 'ModifyLoadBalancerInstanceChargeType'], 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerUDPListener', - 'SetLoadBalancerUDPListenerAttribute', - 'DescribeLoadBalancerUDPListenerAttribute', - ], + 'title' => 'Instances', ], [ - 'id' => 183723, - 'title' => 'HTTP listeners', + 'children' => ['CreateRules', 'SetRule', 'DeleteRules', 'DescribeRuleAttribute', 'DescribeRules'], 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerHTTPListener', - 'SetLoadBalancerHTTPListenerAttribute', - 'DescribeLoadBalancerHTTPListenerAttribute', - ], - ], - [ - 'id' => 183724, - 'title' => 'HTTPS listeners', - 'type' => 'directory', - 'children' => [ - 'CreateLoadBalancerHTTPSListener', - 'SetLoadBalancerHTTPSListenerAttribute', - 'DescribeLoadBalancerHTTPSListenerAttribute', - ], - ], - [ - 'id' => 68289, 'title' => 'Forwarding rules', - 'type' => 'directory', - 'children' => [ - 'CreateRules', - 'SetRule', - 'DeleteRules', - 'DescribeRuleAttribute', - 'DescribeRules', - ], ], [ - 'id' => 183725, - 'title' => 'Default server group', + 'children' => ['CreateVServerGroup', 'DeleteVServerGroup', 'SetVServerGroupAttribute', 'DescribeVServerGroups', 'DescribeVServerGroupAttribute', 'AddVServerGroupBackendServers', 'ModifyVServerGroupBackendServers', 'RemoveVServerGroupBackendServers'], 'type' => 'directory', - 'children' => [ - 'AddBackendServers', - 'DescribeHealthStatus', - 'RemoveBackendServers', - 'SetBackendServers', - ], - ], - [ - 'id' => 68320, 'title' => 'vServer groups', - 'type' => 'directory', - 'children' => [ - 'CreateVServerGroup', - 'DeleteVServerGroup', - 'SetVServerGroupAttribute', - 'DescribeVServerGroups', - 'DescribeVServerGroupAttribute', - 'AddVServerGroupBackendServers', - 'ModifyVServerGroupBackendServers', - 'RemoveVServerGroupBackendServers', - ], ], [ - 'id' => 68310, - 'title' => 'Primary secondary server groups', + 'children' => ['CreateMasterSlaveServerGroup', 'DeleteMasterSlaveServerGroup', 'DescribeMasterSlaveServerGroupAttribute', 'DescribeMasterSlaveServerGroups'], 'type' => 'directory', - 'children' => [ - 'CreateMasterSlaveServerGroup', - 'DeleteMasterSlaveServerGroup', - 'DescribeMasterSlaveServerGroupAttribute', - 'DescribeMasterSlaveServerGroups', - ], + 'title' => 'Primary/secondary server groups', ], [ - 'id' => 68359, - 'title' => 'Certificates', + 'children' => ['DeleteCACertificate', 'DeleteServerCertificate', 'SetCACertificateName', 'SetServerCertificateName', 'DescribeCACertificates', 'DescribeServerCertificates', 'UploadCACertificate', 'UploadServerCertificate'], 'type' => 'directory', - 'children' => [ - 'DeleteCACertificate', - 'DeleteServerCertificate', - 'SetCACertificateName', - 'SetServerCertificateName', - 'DescribeCACertificates', - 'DescribeServerCertificates', - 'UploadCACertificate', - 'UploadServerCertificate', - ], + 'title' => 'Certificates', ], [ - 'id' => 68293, - 'title' => 'Domain name extensions', + 'children' => ['CreateDomainExtension', 'SetDomainExtensionAttribute', 'DeleteDomainExtension', 'DescribeDomainExtensionAttribute', 'DescribeDomainExtensions'], 'type' => 'directory', - 'children' => [ - 'CreateDomainExtension', - 'SetDomainExtensionAttribute', - 'DeleteDomainExtension', - 'DescribeDomainExtensionAttribute', - 'DescribeDomainExtensions', - ], + 'title' => 'Additional domain names', ], [ - 'id' => 183697, - 'title' => 'TLS policies', + 'children' => ['CreateTLSCipherPolicy', 'DeleteTLSCipherPolicy', 'SetTLSCipherPolicyAttribute', 'ListTLSCipherPolicies'], 'type' => 'directory', - 'children' => [ - 'CreateTLSCipherPolicy', - 'DeleteTLSCipherPolicy', - 'SetTLSCipherPolicyAttribute', - 'ListTLSCipherPolicies', - ], + 'title' => 'Security policies', ], [ - 'id' => 68298, - 'title' => 'Access control', + 'children' => ['CreateAccessControlList', 'AddAccessControlListEntry', 'DeleteAccessControlList', 'SetAccessControlListAttribute', 'DescribeAccessControlListAttribute', 'DescribeAccessControlLists', 'RemoveAccessControlListEntry'], 'type' => 'directory', - 'children' => [ - 'CreateAccessControlList', - 'AddAccessControlListEntry', - 'DeleteAccessControlList', - 'SetAccessControlListAttribute', - 'DescribeAccessControlListAttribute', - 'DescribeAccessControlLists', - 'RemoveAccessControlListEntry', - ], + 'title' => 'Access control', ], [ - 'id' => 68329, - 'title' => 'Access control (earlier version)', + 'children' => ['SetListenerAccessControlStatus', 'RemoveListenerWhiteListItem', 'AddListenerWhiteListItem', 'DescribeListenerAccessControlAttribute'], 'type' => 'directory', - 'children' => [ - 'SetListenerAccessControlStatus', - 'RemoveListenerWhiteListItem', - 'AddListenerWhiteListItem', - 'DescribeListenerAccessControlAttribute', - ], + 'title' => 'Access control (legacy)', ], [ - 'id' => 68352, - 'title' => 'Tags', + 'children' => ['DeleteAccessLogsDownloadAttribute', 'SetAccessLogsDownloadAttribute', 'DescribeAccessLogsDownloadAttribute'], 'type' => 'directory', - 'children' => [ - 'AddTags', - 'DescribeTags', - 'ListTagResources', - 'TagResources', - 'UntagResources', - 'RemoveTags', - ], - ], - [ - 'id' => 177279, 'title' => 'Access logs', - 'type' => 'directory', - 'children' => [ - 'DeleteAccessLogsDownloadAttribute', - 'SetAccessLogsDownloadAttribute', - 'DescribeAccessLogsDownloadAttribute', - ], ], [ - 'id' => 179251, - 'title' => 'Fine-grained monitoring', + 'children' => ['EnableHighDefinationMonitor', 'ModifyHighDefinationMonitor', 'DescribeHighDefinationMonitor'], 'type' => 'directory', - 'children' => [ - 'EnableHighDefinationMonitor', - 'ModifyHighDefinationMonitor', - 'DescribeHighDefinationMonitor', - ], + 'title' => 'Second-level monitoring', ], [ - 'id' => 183120, - 'title' => 'Resource group', - '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' => 'Others', + 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeAvailableResource' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AddAccessControlListEntry' => [ + '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' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the network ACL.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AddressType', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The network type.'."\n" - ."\n" - .'Valid values: **vpc, classic-internet, and classic-intranet**.'."\n" - ."\n" - .'vpc: an internal Classic Load Balancer (CLB) instance that is deployed in a virtual private cloud (VPC).'."\n" - ."\n" - .'classic_internet: a public-facing CLB instance.'."\n" - ."\n" - .'classic_intranet: an internal CLB instance that is deployed in a classic network.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc', - ], + 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43kze*****', 'title' => ''], ], [ - 'name' => 'AddressIPVersion', + 'name' => 'AclEntrys', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the IP address.'."\n" - ."\n" - .'Valid values: **ipv4 and ipv6**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - ], + 'schema' => ['description' => 'The configuration of the network ACL. Valid values:'."\n" + ."\n" + .'- **entry**: the IP entries that you want to add to the network ACL. You can add CIDR blocks. Separate multiple CIDR blocks with commas (,).'."\n" + ."\n" + .'- **comment**: the comment on the network ACL.'."\n" + ."\n" + .'> You can add at most 50 IP entries to a network ACL in each call. If the IP entry that you want to add to a network ACL already exists, the IP entry is not added. The IP entries that you add must be CIDR blocks.', 'type' => 'string', 'required' => false, 'example' => '[{"entry":"10.0.**.**/24","comment":"privaterule1"},{"entry":"192.168.**.**/16","comment":"privaterule2"}]', 'title' => ''], ], ], 'responses' => [ @@ -316,235 +109,128 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '173B0EEA-22ED-4EE2-91F9-3A1CDDFFBBBA', - ], - 'AvailableResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AvailableResource' => [ - 'description' => 'The zones and the supported resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'SlaveZoneId' => [ - 'description' => 'The secondary zone.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai-b', - ], - 'MasterZoneId' => [ - 'description' => 'The primary zone.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai-a', - ], - 'SupportResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SupportResource' => [ - 'description' => 'The supported resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AddressType' => [ - 'description' => 'The network type.'."\n" - ."\n" - .'Valid values: **vpc, classic-internet, and classic-intranet**.'."\n", - 'type' => 'string', - 'example' => 'classic_internet', - ], - 'AddressIPVersion' => [ - 'description' => 'The type of the IP address.'."\n" - ."\n" - .'Valid values: **ipv4 and ipv6**.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA4', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeAvailableResource', - 'summary' => 'Queries the available resources and resources that are available for purchase in the zones of a region.', - 'description' => '> Only the available resources and zones are returned.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParam.AclEntryExists', 'errorMessage' => 'The specified aclEntry already exists in the acl.', 'description' => ''], + ['errorCode' => 'IllegalEntry', 'errorMessage' => 'Entry version is conflict to the acl version.', 'description' => ''], + ['errorCode' => 'AclEntryIllegal', 'errorMessage' => '%s.', 'description' => 'The ACL entry is invalid.'], + ['errorCode' => 'InvalidEntry', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.Comment', 'errorMessage' => 'The specified comment is invalid.', 'description' => 'The specified comment is invalid.'], + ['errorCode' => 'AclEntryExceedLimit', 'errorMessage' => 'The maximum number of ACL entries is exceeded.', 'description' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], + ], + 503 => [ + ['errorCode' => 'ServiceUnavailable', 'errorMessage' => 'Service is unavailable now.', 'description' => ''], + ], + ], + 'title' => 'AddAccessControlListEntry', + 'summary' => 'Adds IP entries to an access control list (ACL).', + 'description' => 'Each network ACL can contain one or more IP addresses or CIDR blocks. Take note of the following limits on network ACLs:'."\n" + ."\n" + .'- The number of IP entries that can be added to a network ACL with each Alibaba Cloud account at a time: 50'."\n" + ."\n" + .'- The maximum number of IP entries that each network ACL can contain: 300', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRegions' => [ - 'summary' => 'Queries available regions.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2022-12-06T15:11:11.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-06T14:38:56.000Z', 'description' => 'Error codes changed'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddAccessControlListEntry'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88601', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AcceptLanguage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The supported language. Valid values:'."\n" - ."\n" - .'* zh-CN: Chinese'."\n" - .'* en-US: English'."\n" - .'* ja: Japanese'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', - ], - ], + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Region' => [ - 'description' => 'The list of regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionEndpoint' => [ - 'description' => 'The endpoint of the region.'."\n", - 'type' => 'string', - 'example' => 'slb.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'China (Beijing)', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - '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' => 'DescribeRegions', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA4\\"\\n}","type":"json"}]', ], - 'DescribeZones' => [ - 'summary' => 'Queries the zones in a region.', - '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' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" + ."\n" + .'You can call the [](t2293290.xdita#)operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'AcceptLanguage', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-2ze7o5h52g02kkzz******', 'title' => ''], + ], + [ + 'name' => 'BackendServers', + 'in' => 'query', + 'schema' => ['description' => 'The list of backend servers that you want to add. Set the following parameters:'."\n" + ."\n" + .'- **ServerId**: Required. This value must be a string. Enter the ID of an elastic network interface (ENI), or elastic container instance. If **ServerId** is set to the ID of an ENI or elastic container instance, **Type** is required.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**.'."\n" + ."\n" + .' If the value is set to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: Optional. The description of the backend server. This value must be a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): an ECS instance'."\n" + ."\n" + .' - **eni**: an ENI'."\n" + ."\n" + .' - **eci**: an elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as the backend servers only for high-performance CLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of the ECS instance, ENI, or elastic container instance'."\n" + ."\n" + .'- **Port**: the backend port'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- ECS instance: `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- ENI: `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- ENI with multiple IP addresses: `[{ "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" + .'- Elastic container instance: `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> The backend servers that you add to a CLB instance must be in the Running state. You can add at most 20 backend servers to a CLB instance in each request.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -552,467 +238,143 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A', - ], - 'Zones' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-2ze7o5h52g02kkzz****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '34B82C81-F13B-4EEB-99F6-A048C67CC830', 'title' => ''], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Zone' => [ - 'description' => 'The zones.'."\n", + 'BackendServer' => [ + 'description' => 'The list of backend servers.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ZoneId' => [ - 'description' => 'The ID of the zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'LocalName' => [ - 'description' => 'The name of the zone.'."\n", - 'type' => 'string', - 'example' => 'The list of secondary zones.'."\n", - ], - 'SlaveZones' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SlaveZone' => [ - 'description' => 'The secondary zones.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ZoneId' => [ - 'description' => 'The ID of the secondary zone.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-g', - ], - 'LocalName' => [ - 'description' => 'The name of the secondary zone.'."\n", - 'type' => 'string', - 'example' => 'Queries zones in a specified region.', - ], - ], - ], - ], - ], - ], + 'Type' => ['description' => 'The type of the backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): an ECS instance'."\n" + ."\n" + .'- **eni**: an ENI'."\n" + ."\n" + .'- **eci**: an elastic container instance', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.'."\n" + ."\n" + .'Valid values: **0 to 100**. Default value: **100**.'."\n" + ."\n" + .'If the value is set to **0**, no requests are forwarded to the backend server.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the backend server.'."\n" + ."\n" + .'> If you do not specify **Description** in the request, this parameter is not displayed.', 'type' => 'string', 'example' => 'The description of the backend server.', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the ECS instance, ENI, or elastic container instance.', 'type' => 'string', 'example' => 'i-2zej4lxhjoq1icu*****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'DescribeZones', + ['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' => ''], + ['errorCode' => 'OperationUnsupported.AddBackendServers', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => ''], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer does not support such action.', 'description' => ''], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'AddBackendServers', + 'summary' => 'Adds backend servers.', + 'description' => '> If multiple identical Elastic Compute Service (ECS) instances are specified in a request, only the first ECS instance is added. The other ECS instances are ignored. If the backend server that you add is the same as one of the existing backend servers that are already associated with the listener, an error message is returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateLoadBalancer' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-27T08:30:14.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + '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' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~DescribeRegions~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'AddressType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The network type of the CLB instance. Valid values:'."\n" - ."\n" - .'* **internet**: After an Internet-facing CLB instance is created, the system allocates a public IP address to the instance. The CLB instance can forward requests over the Internet.'."\n" - .'* **intranet**: After an internal-facing CLB instance is created, the system allocates a private IP address to the CLB instance. The CLB instance can forward requests only within the VPC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'internet', - 'default' => 'internet', - ], - ], - [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The metering method of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **paybytraffic** (default): pay-by-data-transfer'."\n" - ."\n" - .' > If you set InternetChargeType to **paybytraffic**, you do not need to configure the **Bandwidth** parameter. The value of **Bandwidth** does not take effect even if you specify one.'."\n" - ."\n" - .'* **paybybandwidth**: pay-by-bandwidth'."\n" - ."\n" - .'> If you set **PayType** to **PayOnDemand** and **InstanceChargeType** to **PayByCLCU**, the only valid value for InternetChargeType is **paybytraffic**.', - 'type' => 'string', - 'required' => false, - 'example' => 'paybytraffic', - 'default' => 'paybytraffic', - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n" - ."\n" - .'Valid values: **1** to **5120**. For a pay-by-bandwidth Internet-facing CLB instance, you can specify a maximum bandwidth for each listener. The sum of the maximum bandwidth of all listeners cannot exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '10', - 'default' => '-1', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" - ."\n" - .'You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" - ."\n" - .'> If you do not specify this parameter, the system uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3', - ], - ], - [ - 'name' => 'LoadBalancerName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance name.'."\n" - ."\n" - .'The name must be 1 to 80 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n" - ."\n" - .'If you do not specify this parameter, the system automatically assigns a name to the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1o94dp5i6ea****', - ], - ], - [ - 'name' => 'VpcId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1aevy8sofi8mh1****', - ], - ], - [ - 'name' => 'VSwitchId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch to which the CLB instance belongs.'."\n" - ."\n" - .'If you want to deploy the CLB instance in a VPC, this parameter is required. If this parameter is specified, **AddessType** is set to **intranet** by default.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3jgy****', - ], - ], - [ - 'name' => 'MasterZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary zone to which the CLB instance belongs.'."\n" - ."\n" - .'You can call the [DescribeZone](~~2401683~~) operation to query the primary and secondary zones in the region where you want to create the CLB instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], - ], - [ - 'name' => 'SlaveZoneId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the secondary zone to which the CLB instance belongs.'."\n" - ."\n" - .'You can call the [DescribeZone](~~2401683~~) operation to query the primary and secondary zones in the region where you want to create the CLB instance.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-d', - ], - ], - [ - 'name' => 'LoadBalancerSpec', - 'in' => 'query', - 'schema' => [ - 'description' => 'The specification of the CLB instance. Valid values:'."\n" - ."\n" - .'* **slb.s1.small**'."\n" - ."\n" - .'* **slb.s2.small**'."\n" - ."\n" - .'* **slb.s2.medium**'."\n" - ."\n" - .'* **slb.s3.small**'."\n" - ."\n" - .'* **slb.s3.medium**'."\n" - ."\n" - .'* **slb.s3.large**'."\n" - ."\n" - .' '."\n" - .' > If you do not specify this parameter, a shared-resource CLB instance is created. Shared-resource CLB instances are no longer available for purchase. Therefore, you must specify this parameter.'."\n" - ."\n" - .'If **InstanceChargeType** is set to **PayByCLCU**, this parameter is invalid and you do not need to specify this parameter.', - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtopt****', - ], - ], - [ - 'name' => 'PayType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the CLB instance. Valid values:'."\n" - ."\n" - .'**PayOnDemand**: pay-as-you-go.'."\n" - ."\n" - .'> The Alibaba Cloud International site supports only pay-as-you-go CLB instances.'."\n", - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'PayOnDemand', - 'default' => 'PayOnDemand', - ], - ], - [ - 'name' => 'PricingCycle', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing cycle of the subscription Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **month**'."\n" - .'* **year**'."\n" - ."\n" - .'> This parameter is supported only by subscription instances created on the Alibaba Cloud China site.'."\n", - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'month', - ], - ], - [ - 'name' => 'Duration', - 'in' => 'query', - 'schema' => [ - 'description' => 'The subscription duration of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* If **PricingCycle** is set to **month**, the valid values are **1 to 9**.'."\n" - .'* If **PricingCycle** is set to **year**, the valid values are **1 to 5**.'."\n" - ."\n" - .'> This parameter is supported only by subscription instances created on the Alibaba Cloud China site.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'deprecated' => true, - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], - ], - [ - 'name' => 'AutoPay', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically pay the subscription fee of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **true**: yes. The CLB instance is created after you call the API operation.'."\n" - .'* **false** (default): After you call the operation, the order is created but the payment is not completed. You can view pending orders in the console. The CLB instance will not be created until you complete the payment.'."\n" - ."\n" - .'> This parameter takes effect only for subscription CLB instances created on the Alibaba Cloud China site.', - 'type' => 'boolean', - 'deprecated' => true, - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], - ], - [ - 'name' => 'AddressIPVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP version of the CLB instance. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - 'default' => 'ipv4', - ], - ], - [ - 'name' => 'Address', - 'in' => 'query', - 'schema' => [ - 'description' => 'The private IP address of the CLB instance. The private IP address must belong to the destination CIDR block of the vSwitch.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the bastion host. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be at most 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'DeleteProtection', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable deletion protection for the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6ea*******', 'title' => ''], ], [ - 'name' => 'ModificationProtectionStatus', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the configuration read-only mode. Valid values:'."\n" - ."\n" - .'* **NonProtection**: disables the configuration read-only mode. After you disable the configuration read-only mode, the value of **ModificationProtectionReason** is cleared.'."\n" - .'* **ConsoleProtection**: enables the configuration read-only mode.'."\n" - ."\n" - .'> If you set this parameter to **ConsoleProtection**, you cannot modify instance configurations in the CLB console. However, you can modify instance configurations by calling API operations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ConsoleProtection', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'ModificationProtectionReason', + 'name' => 'SourceItems', 'in' => 'query', - 'schema' => [ - 'description' => 'The reason for enabling the configuration read-only mode. The reason must be 1 to 80 characters in length. It must start with a letter and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'> This parameter takes effect only when **ModificationProtectionStatus** is set to **ConsoleProtection**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Managed instance', - ], + 'schema' => ['description' => 'The IP addresses or CIDR blocks that you want to add to the whitelist.'."\n" + ."\n" + .'This parameter takes effect when the **AccessControlStatus** parameter of the listener is set to **open\\_white\\_list**.'."\n" + ."\n" + .'Separate multiple IP addresses or CIDR blocks with commas (,).'."\n" + ."\n" + .'You cannot enter **0.0.0.0** or **0.0.0.0/0**. To disable access control, you can call the [SetListenerAccessControlStatus](~~27599~~) operation to set the value of the **AccessControlStatus** parameter to **close**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.XX.XX', 'title' => ''], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The metering method of the CLB instance. Valid values:'."\n" - ."\n" - .'* **PayBySpec** (default)'."\n" - .'* **PayByCLCU**'."\n" - ."\n" - .'> This parameter is supported only by instances created on the Alibaba Cloud China site and only when **PayType** is set to **PayOnDemand**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayBySpec', - ], + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required when listeners that use different protocols listen on the same port.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], ], 'responses' => [ @@ -1020,407 +382,75 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vpc-25dvzy9****', - ], - 'AddressIPVersion' => [ - 'description' => 'The IP version that is used by the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vsw-255ecr****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'LoadBalancerName' => [ - 'description' => 'The CLB instance name.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1o94dp5i6ea****', - ], - 'LoadBalancerId' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'example' => 'lb-hddhfjg****', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3rto****', - ], - 'Address' => [ - 'description' => 'The IP address that is allocated to the CLB instance.'."\n", - 'type' => 'string', - 'example' => '42.XX.XX.6', - ], - 'NetworkType' => [ - 'description' => 'The network type of the CLB instance. Valid values:'."\n" - ."\n" - .'* **vpc**: VPC'."\n" - .'* **Classic**: classic network'."\n", - 'type' => 'string', - 'example' => 'classic', - ], - 'OrderId' => [ - 'description' => 'The order ID of the subscription CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20212961978****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], - ], - 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.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => ''], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'WhiteList is Disabled while Acl is Enabled', 'description' => ''], + ['errorCode' => 'InvalidAddress', 'errorMessage' => '%s,%s', 'description' => ''], + ['errorCode' => 'InvalidParameter.SourceItems', 'errorMessage' => '%s.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - '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' => 'CreateLoadBalancer', - 'summary' => 'Creates a Classic Load Balancer (CLB) instance.', - 'description' => '* Before you create a CLB instance, call the [DescribeAvailableResource](~~DescribeAvailableResource~~) operation to query the resources available for purchase in the region where you want to create the CLB instance.'."\n" - .'* After a CLB instance is created, you are charged for using the CLB instance.'."\n" - .'* The pay-as-you-go billing method supports the pay-by-specification and pay-by-LCU metering methods.', + 'title' => 'AddListenerWhiteListItem', + 'summary' => 'Adds IP addresses to the whitelist of a listener.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteLoadBalancer' => [ - 'summary' => 'Deletes a pay-as-you-go Server Load Balancer (SLB) instance.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddListenerWhiteListItem'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + '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' => 'The region ID of the SLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region to which the SLB instance belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The SLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1h66tp5uat8********', - ], + 'schema' => ['description' => 'The ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1kuzyb******', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The list of tags that need to be added.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', 'title' => ''], ], ], 'responses' => [ @@ -1428,142 +458,141 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34******', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['errorCode' => 'QuotaExceeded.Tag', 'errorMessage' => 'The number of Tag exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified tag key is invalid.', 'description' => ''], + ['errorCode' => 'MissingParameter.Tags', 'errorMessage' => 'The parameter Tags should not be null.', 'description' => ''], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contain duplicate key.', 'description' => ''], + ['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' => ''], + ['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' => 'DeleteLoadBalancer', - 'description' => '> The listeners and tags of the SLB instance are deleted along with the SLB instance.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => 'If the SLB instance that you want to delete has deletion protection enabled, the system reports an error in the following formats:'."\n" + 'title' => 'AddTags', + 'summary' => 'Adds tags to an SLB instance.', + 'description' => '# Limits'."\n" ."\n" - .'* JSON format'."\n" + .'Before you call this API, note the following limits:'."\n" + ."\n" + .'- You can add up to 10 tags to each SLB instance.'."\n" ."\n" - .' {'."\n" - .' "RequestId": "7B7AB375-1EA6-4A18-9D1C-F258F2D57638",'."\n" - .' "HostId": "slb.aliyuncs.com",'."\n" - .' "Code": "OperationDenied.DeleteProtectionIsOn",'."\n" - .' "Message": "The loadbalancer can\'t be deleted due to DeleteProtection is enabled."'."\n" - .' }'."\n" + .'- You can add up to five pairs of tags at a time.'."\n" ."\n" - .'* XML format'."\n" + .'- All the tags and keys added to an SLB instance must be unique.'."\n" ."\n" - .' <?xml version="1.0" encoding="UTF-8" ?>'."\n" - .' <DeleteLoadBabalancerResponse>'."\n" - .' <RequestId>7B7AB375-1EA6-4A18-9D1C-F258F2D57638</RequestId>'."\n" - .' <HostId>slb.aliyuncs.com</HostId>'."\n" - .' <Code>OperationDenied.DeleteProtectionIsOn</Code>'."\n" - .' <Message>The loadbalancer can\'t be deleted due to DeleteProtection is enabled.</Message>'."\n" - .' </DeleteLoadBabalancerResponse>'."\n", + .'- If you add a tag of which the key is the same as that of an existing tag, but the value is different, the new tag overwrites the existing one.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyLoadBalancerInstanceSpec' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-11-15T07:46:52.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-09-26T08:59:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34******\\"\\n}","type":"json"}]', + ], + 'AddVServerGroupBackendServers' => [ + 'summary' => 'Adds backend servers to a vServer group.', + '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' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~27584~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719df*********', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6******', 'title' => ''], ], [ - 'name' => 'LoadBalancerSpec', - 'in' => 'query', - 'schema' => [ - 'description' => 'The specification of the CLB instance. Valid values:'."\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" - .'The specifications available vary by region. For more information about the specifications, see [High-performance CLB instance](~~85931~~).'."\n" - ."\n" - .'> When you switch a shared-resource CLB instance to a high-performance CLB instance, your service may be interrupted for 10 to 30 seconds. We recommend that you modify the specification during off-peak hours or use Alibaba Cloud DNS to schedule your workloads to another CLB instance before you modify the specification.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'slb.s2.small', - ], - ], - [ - 'name' => 'AutoPay', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" - ."\n" - .'* **true**: automatically completes the payment.'."\n" - .'* **false** (default): If you select this option, you must complete the payment in the Order Center.'."\n" - ."\n" - .'> This parameter takes effect only for subscription instances.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The backend servers that you want to add. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: Required. The ID of the backend server. Specify the ID in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), and an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: Optional. The description of the backend server. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of an ENI or an elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Add an ECS instance:'."\n" + ."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI with multiple IP addresses:'."\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" + .'- Add an elastic container instance:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -1571,319 +600,286 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'OrderId' => [ - 'description' => 'The order ID of the subscription CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '201429619788910', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'example' => 'rsp-cige6j******', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******', 'title' => ''], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'eni', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the vServer group.', 'type' => 'string', 'example' => 'The description of the vServer group.', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the ECS instance or ENI.', 'type' => 'string', 'example' => 'eni-hhshhs****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['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' => ''], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'IncorrectStatus.CenNotAssociated', 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.MissingCenBandWidth', 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.VpcNotInCen', 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'description' => ''], + ['errorCode' => 'InvalidServerId.NotExist', 'errorMessage' => 'The specified ServerId is not exist.', 'description' => ''], + ['errorCode' => 'MissingParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is required.', 'description' => ''], + ['errorCode' => 'MissingParameter.VbrId', 'errorMessage' => 'The parameter VbrId is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', 'description' => ''], + ['errorCode' => 'InvalidVbrId.NotInCen', 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], + ['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' => 'The current load balancer instance is not allowed to mount IPv6 backend.'], + ['errorCode' => 'OperationBusy', 'errorMessage' => 'The operation is busy.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.vServers', 'errorMessage' => 'The specified enis %s does not exist.', 'description' => ''], + ['errorCode' => 'ResourceNotFound.Cen', 'errorMessage' => 'The specified resource Cen %s not Exists.', 'description' => ''], ], ], - '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' => 'ModifyLoadBalancerInstanceSpec', - 'summary' => 'Modifies the specification of a Classic Load Balancer (CLB) instance.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'AddVServerGroupBackendServers', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyLoadBalancerInternetSpec' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-09-26T08:59:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-27T08:30:14.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", + 'description' => 'The region ID of the ACL.', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => false, + 'required' => true, + 'docRequired' => true, 'example' => 'cn-hangzhou', + 'title' => '', ], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex******', - ], + 'schema' => ['description' => 'The name of the ACL. The name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), hyphens (-), forward slashes (/), and underscores (\\_). The name of the ACL that you create must be unique within each region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rule1', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'AddressIPVersion', 'in' => 'query', 'schema' => [ - 'description' => 'The metering method of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **paybybandwidth**: pay-by-bandwidth'."\n" - .'* **paybytraffic**: pay-by-data-transfer'."\n", + 'description' => 'The IP version. Valid values: **ipv4** and **ipv6**.', + 'enumValueTitles' => [], 'type' => 'string', 'required' => false, - 'example' => 'paybytraffic', + 'default' => 'ipv4', + 'example' => 'ipv4', + 'title' => '', ], ], [ - 'name' => 'Bandwidth', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the Internet-facing CLB instance that uses the pay-by-bandwidth metering method. Unit: Mbit/s.'."\n" - ."\n" - .'Valid values: **1 to 5000**. The maximum bandwidth varies based on the region where the CLB instance is created.****'."\n" - ."\n" - .'> You do not need to specify this parameter if you set **InternetChargeType** to **paybytraffic** (pay-by-data-transfer).'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '10', - 'default' => '-1', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rt******', 'title' => ''], ], [ - 'name' => 'AutoPay', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to automatically pay the subscription fee of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **true**: enables automatic payments. This is the default value.'."\n" - .'* **false**: disables automatic payment. You must complete the payment in Order Center.'."\n", - 'type' => 'boolean', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value must be 0 to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'false', - 'default' => 'false', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'OrderId' => [ - 'description' => 'The order ID of the subscription CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20142961978****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'AclId' => ['description' => 'The IP version. Valid values: **ipv4** and **ipv6**.', 'type' => 'string', 'example' => 'acl-rj9xpxzcwxrukois****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['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' => ''], + ['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' => 'ModifyLoadBalancerInternetSpec', - 'summary' => 'Modifies the metering method of an Internet-facing Classic Load Balancer (CLB) instance.', - 'description' => '## Description'."\n" + 'title' => 'CreateAccessControlList', + 'summary' => 'Creates an access control list (ACL).', + 'description' => 'You can create multiple ACLs. Each ACL can contain one or more IP addresses or CIDR blocks. Before you create an ACL, take note of the following limits:'."\n" + ."\n" + .'- An account can have a maximum of 50 ACLs in each region.'."\n" ."\n" - .'* If you modify only the maximum bandwidth of a pay-by-bandwidth CLB instance, the new bandwidth immediately takes effect.'."\n" - .'* If you modify the metering method (for example, switch from pay-by-bandwidth to pay-by-data-transfer), the new metering method and the other changes specified in the operation take effect at 00:00:00 the next day.'."\n", + .'- You can add a maximum of 50 IP addresses or CIDR blocks at a time within an account.'."\n" + ."\n" + .'- Each ACL can contain a maximum of 300 IP addresses or CIDR blocks.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyLoadBalancerPayType' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], ], - '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' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex*****', - ], - ], - [ - 'name' => 'PayType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the CLB instance. Valid values:'."\n" - ."\n" - .'* **PayOnDemand** (default): pay-as-you-go'."\n" - ."\n" - .'To change the billing method of a pay-as-you-go CLB instance to subscription, you must set the parameter to **PrePay**. In addition, the previous billing method of the CLB instance must be **PayOnDemand**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PrePay', - 'default' => 'PrePay', - ], + 'schema' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6earrxxxxxx', 'title' => ''], ], [ - 'name' => 'PricingCycle', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing cycle.'."\n" - ."\n" - .'Valid values: **year** and **month**.'."\n" - ."\n" - .'> This parameter is valid only when the **PayType** parameter is set to **PrePay**. This parameter is valid only for pay-as-you-go instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'month', - ], + 'schema' => ['description' => 'The frontend port that is used by the HTTPS listener of the SLB instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '443', 'title' => ''], ], [ - 'name' => 'Duration', + 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'description' => 'The subscription duration.'."\n" - ."\n" - .'* If **PricingCycle** is set to **month**, the valid values are **1** to **9**.'."\n" - .'* If **PricingCycle** is set to **year**, the valid values are **1** to **3**.'."\n" - ."\n" - .'> This parameter is valid only when the **PayType** parameter is set to **PrePay**. This parameter is valid only for pay-as-you-go instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The domain name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '*.example1.com', 'title' => ''], ], [ - 'name' => 'AutoPay', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false** (default): no'."\n" - ."\n" - .'> This parameter is valid only when the `PayType` parameter is set to **PrePay**. This parameter is valid only for pay-as-you-go instances.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the certificate used by the domain name.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '123157xxxxxxx_166f820xxxxxx_1714763408_709981xxxx', 'title' => ''], ], ], 'responses' => [ @@ -1891,137 +887,74 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'OrderId' => [ - 'description' => 'The order ID of the subscription CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20212961978891', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], + 'ListenerPort' => ['description' => 'The frontend port that is used by the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A6E7EFC9-0938-40CA-877D-9BE******', 'title' => ''], + 'DomainExtensionId' => ['description' => 'The ID of the additional domain name.', 'type' => 'string', 'example' => 'de-bp1rp7ta19******', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], - ], - ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": 20212961978891,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","type":"json"}]', - 'title' => 'ModifyLoadBalancerPayType', - 'summary' => 'Changes the billing method of a Classic Load Balancer (CLB) instance from pay-as-you-go to subscription.', + ['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' => ''], + ['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' => ''], + ['errorCode' => 'MissingParameter.CertificateId', 'errorMessage' => 'The parameter CertificateId is required.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'The param ServerCertificates is missing.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => ''], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ListenerPort\\": 80,\\n \\"RequestId\\": \\"A6E7EFC9-0938-40CA-877D-9BE******\\",\\n \\"DomainExtensionId\\": \\"de-bp1rp7ta19******\\"\\n}","type":"json"}]', + 'title' => 'CreateDomainExtension', + 'summary' => 'Adds an additional domain name.', + 'description' => '> Listeners on shared-resource instances do not support additional domain names.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerDeleteProtection' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2021-09-23T04:15:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-09-23T04:15:14.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDomainExtension'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region where the SLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query region IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], + 'ramActions' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e*****', - ], - ], - [ - 'name' => 'DeleteProtection', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specify whether to enable or disable deletion protection for the SLB instance.'."\n" - ."\n" - .'Valid values: **on and off**.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'off', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - '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}'], ], - 'description' => '', - ], - ], - ], - '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' => 'SetLoadBalancerDeleteProtection', - 'summary' => 'Enables or disables deletion protection for an SLB instance.', ], - 'SetLoadBalancerModificationProtection' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateLoadBalancer' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2030,487 +963,239 @@ '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' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [](t2293290.xdita#)operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e*****', - ], + 'schema' => ['description' => 'The network type of the CLB instance. Valid values:'."\n" + ."\n" + .'- **internet**: After an Internet-facing CLB instance is created, the system allocates a public IP address to the instance. The CLB instance can forward requests over the Internet.'."\n" + ."\n" + .'- **intranet**: After an internal-facing CLB instance is created, the system allocates a private IP address to the CLB instance. The CLB instance can forward requests only within the VPC.', 'type' => 'string', 'required' => false, 'default' => 'internet', 'example' => 'internet', 'title' => ''], ], [ - 'name' => 'ModificationProtectionStatus', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the configuration read-only mode. Valid values:'."\n" - ."\n" - .'* **NonProtection**: disables the configuration read-only mode. After you disable the configuration read-only mode, the value of **ModificationProtectionReason** is cleared.'."\n" - .'* **ConsoleProtection**: enables the configuration read-only mode.'."\n" - ."\n" - .'> If you set this parameter to **ConsoleProtection**, you cannot use the CLB console to modify instance configurations. However, you can call API operations to modify instance configurations.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'ConsoleProtection', - ], + 'schema' => ['description' => 'The Internet data transfer metering method for the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **paybytraffic** (default): pay-by-data-transfer'."\n" + ."\n" + .'- **paybybandwidth**: pay-by-bandwidth'."\n" + ."\n" + .'> * If you set **PayType** to **PayOnDemand** and **InstanceChargeType** to **PayByCLCU**, the only valid value for InternetChargeType is **paybytraffic**.'."\n" + .'>'."\n" + .'> * If you set InternetChargeType to **paybytraffic**, you do not need to configure the **Bandwidth** parameter. The value of **Bandwidth** does not take effect even if you specify one.', 'type' => 'string', 'required' => false, 'default' => 'paybytraffic', 'example' => 'paybytraffic', 'title' => ''], ], [ - 'name' => 'ModificationProtectionReason', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The reason why the configuration read-only mode is enabled. The value must be 1 to 80 characters in length. It must start with a letter and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'> This parameter is valid only if the **ModificationProtectionStatus** parameter is set to **ConsoleProtection**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Configuration change'."\n", - ], + 'schema' => ['description' => 'The maximum bandwidth of the instance. Unit: Mbit/s.'."\n" + ."\n" + .'Valid values: **1** to **5000**.'."\n" + ."\n" + .'> Only when **AddressType** is set to **internet** and **InternetChargeType** is set to **paybybandwidth**, this parameter takes effect.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'default' => '-1', 'example' => '10', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - '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' => 'SetLoadBalancerModificationProtection', - 'summary' => 'Enable or disable the configuration read-only mode for a Classic Load Balancer (CLB) instance.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetLoadBalancerName' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n" + ."\n" + .'> If you do not specify this parameter, the system uses the **request ID** as the **client token**. The **request ID** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '593B0448-D13E-4C56-AC0D-FDF0FDE0E9A3', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The CLB instance name.'."\n" + ."\n" + .'The name must be 1 to 80 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n" + ."\n" + .'If you do not specify this parameter, the system automatically assigns a name to the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1o94dp5i6ea****', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e******', - ], + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the CLB instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1aevy8sofi8mh1****', 'title' => ''], ], [ - 'name' => 'LoadBalancerName', + 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The new name of the CLB instance.'."\n" - ."\n" - .'The name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - 'description' => '', - ], + 'schema' => ['description' => 'The ID of the vSwitch to which the CLB instance belongs.'."\n" + ."\n" + .'If you want to deploy the CLB instance in a VPC, this parameter is required. If this parameter is specified, **AddessType** is set to **intranet** by default.'."\n" + ."\n" + .'> The vSwitch must be in the primary zone.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3jgy****', 'title' => ''], ], - ], - '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' => 'SetLoadBalancerName', - 'summary' => 'Changes the name of a Classic Load Balancer (CLB) instance.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetLoadBalancerStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'MasterZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the primary zone to which the CLB instance belongs.'."\n" + ."\n" + .'You can call the [](t2293253.xdita#)operation to query the primary and secondary zones in the region where you want to create the CLB instance.'."\n" + ."\n" + .'> The primary zone must be the zone where the vSwitch resides.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'SlaveZoneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can query region IDs from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the secondary zone to which the CLB instance belongs.'."\n" + ."\n" + .'You can call the [](t2293253.xdita#)operation to query the primary and secondary zones in the region where you want to create the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-d', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'LoadBalancerSpec', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08e******', - ], + 'schema' => ['description' => 'The specification of the CLB instance. Valid values:'."\n" + ."\n" + .'- **slb.s1.small**'."\n" + ."\n" + .'- **slb.s2.small**'."\n" + ."\n" + .'- **slb.s2.medium**'."\n" + ."\n" + .'- **slb.s3.small**'."\n" + ."\n" + .'- **slb.s3.medium**'."\n" + ."\n" + .'- **slb.s3.large**'."\n" + ."\n" + .'> * If **InstanceChargeType** is set to **PayByCLCU**, this parameter is invalid and you do not need to specify this parameter.'."\n" + .'>'."\n" + .'> * As of 00:00:00 (UTC+8) on June 1, 2025, pay-by-specification CLB instances are no longer available for purchase. For more details, see [](t2857909.xdita#).', 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small', 'title' => ''], ], [ - 'name' => 'LoadBalancerStatus', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The state of the CLB instance. Valid values: **active** and **inactive**.'."\n" - ."\n" - .'* **active** (default)'."\n" - ."\n" - .' If a CLB instance is in the **active** state, listeners of the CLB instance can forward traffic based on forwarding rules.'."\n" - ."\n" - .' By default, newly created CLB instances are in the **active** state.'."\n" - ."\n" - .'* **inactive**'."\n" - ."\n" - .' If a CLB instance is in the **inactive** state, listeners of the CLB instance do not forward traffic.'."\n" - ."\n" - .'> If all listeners of a CLB instance are deleted, the CLB instance automatically switches to the **inactive** state.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'active', - ], + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtopt****', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - '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' => 'SetLoadBalancerStatus', - 'summary' => 'Modifies the state of a Classic Load Balancer (CLB) instance.', - ], - 'ModifyLoadBalancerInstanceChargeType' => [ - 'summary' => 'Changes the metering method of a pay-as-you-go Classic Load Balancer (CLB) instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PayType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of the CLB instance. Valid value:'."\n" + ."\n" + .'**PayOnDemand**: pay-as-you-go.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'default' => 'PayOnDemand', 'example' => 'PayOnDemand', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'PricingCycle', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The billing cycle of the subscription Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **month**'."\n" + ."\n" + .'- **year**'."\n" + ."\n" + .'> This parameter is supported only by subscription instances created on the Alibaba Cloud China site.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'month', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'Duration', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b3jus5hpenznuu****', - ], + 'schema' => ['description' => 'The subscription duration of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- If **PricingCycle** is set to **month**, the valid values are **1 to 9**.'."\n" + ."\n" + .'- If **PricingCycle** is set to **year**, the valid values are **1 to 5**.'."\n" + ."\n" + .'> This parameter is supported only by subscription instances created on the Alibaba Cloud China site.', 'type' => 'integer', 'format' => 'int32', 'deprecated' => true, 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'AutoPay', 'in' => 'query', - 'schema' => [ - 'description' => 'The metering method of Internet data transfer after the change.'."\n" - ."\n" - .'Valid value: **paybytraffic**.'."\n" - ."\n" - .'> * If the value of the **InstanceChargeType** parameter is set to **PayByCLCU**, only pay-by-data-transfer is supported.'."\n" - .'>* When you change the metering method, the new metering method takes effect at 00:00:00 the next day.', - 'type' => 'string', - 'required' => false, - 'example' => 'paybytraffic', - ], + 'schema' => ['description' => 'Specifies whether to automatically pay the subscription fee of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **true**: yes. The CLB instance is created after you call the API operation.'."\n" + ."\n" + .'- **false** (default): After you call the operation, the order is created but the payment is not completed. You can view pending orders in the console. The CLB instance will not be created until you complete the payment.'."\n" + ."\n" + .'> This parameter takes effect only for subscription CLB instances created on the Alibaba Cloud China site.', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], ], [ - 'name' => 'InstanceChargeType', + 'name' => 'AddressIPVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The metering method of the instance after the change.'."\n" - ."\n" - .'Valid value: **PayByCLCU**. Only pay-by-LCU is supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PayByCLCU', - ], + 'schema' => ['description' => 'The IP version of the CLB instance. Valid values: **ipv4** and **ipv6**.', 'type' => 'string', 'required' => false, 'default' => 'ipv4', 'example' => 'ipv4', 'title' => ''], ], [ - 'name' => 'LoadBalancerSpec', + 'name' => 'Address', 'in' => 'query', - 'schema' => [ - 'description' => 'The specification of the CLB instance.'."\n" - ."\n" - .'You do not need to set this parameter. For pay-as-you-go CLB instances, you can only change the metering method from pay-by-specification to pay-by-LCU. You cannot change the metering method from pay-by-LCU to pay-by-specification.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'slb.s1.small', - ], + 'schema' => ['description' => 'The private IP address of the CLB instance. The private IP address must belong to the destination CIDR block of the vSwitch.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], ], [ - 'name' => 'Bandwidth', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum bandwidth of the Internet-facing CLB instance that is billed on a pay-by-bandwidth basis.'."\n" - ."\n" - .'You do not need to set this parameter. The metering method of Internet data transfer for pay-by-LCU instances supports only pay-by-traffic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5000', - 'minimum' => '1', - 'example' => '5', - 'default' => '-1', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the bastion host. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be at most 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], ], + 'required' => false, + 'title' => '', + 'example' => '', ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], - ], - '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' => 'ModifyLoadBalancerInstanceChargeType', - 'description' => '> * For pay-as-you-go CLB instances, you can only change the metering method from pay-by-specification to pay-by-LCU. You cannot change the metering method from pay-by-LCU to pay-by-specification.'."\n" - .'>* This operation can change the metering method of only one instance at a time.', - ], - 'DescribeLoadBalancerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'DeleteProtection', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable deletion protection for the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88574', - 'abilityTreeNodes' => [ - 'FEATUREslbL5KCST', + [ + 'name' => 'ModificationProtectionStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the configuration read-only mode. Valid values:'."\n" + ."\n" + .'- **NonProtection**: disables the configuration read-only mode. After you disable the configuration read-only mode, the value of **ModificationProtectionReason** is cleared.'."\n" + ."\n" + .'- **ConsoleProtection**: enables the configuration read-only mode.'."\n" + ."\n" + .'> If you set this parameter to **ConsoleProtection**, you cannot modify instance configurations in the CLB console. However, you can modify instance configurations by calling API operations.', 'type' => 'string', 'required' => false, 'example' => 'ConsoleProtection', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ModificationProtectionReason', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The reason for enabling the configuration read-only mode. The reason must be 1 to 80 characters in length. It must start with a letter and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> This parameter takes effect only when **ModificationProtectionStatus** is set to **ConsoleProtection**.', 'type' => 'string', 'required' => false, 'example' => 'Managed instance', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex****', - ], + 'schema' => ['description' => 'The resource metering method for the CLB instance. Valid value:'."\n" + ."\n" + .'- **PayByCLCU**: pay-by-data-transfer'."\n" + ."\n" + .'> As of 00:00:00 (UTC+8) on June 1, 2025, pay-by-specification CLB instances are no longer available for purchase. For more details, see [](t2857909.xdita#).', 'type' => 'string', 'required' => false, 'example' => 'PayBySpec', 'title' => ''], ], ], 'responses' => [ @@ -2518,1249 +1203,522 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC) where the internal-facing CLB instance is deployed.'."\n", - 'type' => 'string', - 'example' => 'vpc-25dvzy9f8****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be at most 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'TagValue' => [ - 'description' => 'The tag value. Valid values of N: **1** to **20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - ], - ], - 'CreateTimeStamp' => [ - 'description' => 'The timestamp generated when the CA certificate is uploaded.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2017-08-31T02:49:05Z', - ], - 'LoadBalancerId' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa08ex****', - ], - 'PayType' => [ - 'description' => 'The billing method of the CLB instance. Valid values:'."\n" - ."\n" - .'* Only **PayOnDemand** may be returned, which indicates the pay-as-you-go billing method.'."\n", - 'type' => 'string', - 'example' => 'PayOnDemand', - ], - 'AddressType' => [ - 'description' => 'The address type of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'internet', - ], - 'NetworkType' => [ - 'description' => 'The network type of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'vpc', - ], - 'AddressIPVersion' => [ - 'description' => 'The version of the IP address. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'RenewalCycUnit' => [ - 'description' => 'The auto-renewal cycle. Valid values: **Year** and **Month**. Default value: Month.'."\n" - ."\n" - .'> This parameter is valid only if you create a subscription CLB instance on the Alibaba Cloud China site. In this case, **PayType** must be set to **PrePay** and **RenewalStatus** must be set to **AutoRenewal**.'."\n", - 'type' => 'string', - 'example' => 'Month', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the Internet-facing CLB instance that is billed on a pay-by-bandwidth basis.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'LoadBalancerName' => [ - 'description' => 'The name of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-instance-test', - ], - 'Address' => [ - 'description' => 'The service IP address of the CLB instance.'."\n", - 'type' => 'string', - 'example' => '42.XX.XX.6', - ], - 'SlaveZoneId' => [ - 'description' => 'The ID of the secondary zone to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-d', - ], - 'EndTimeStamp' => [ - 'description' => 'The timestamp that indicates the expiration time of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '32493801600000', - ], - 'MasterZoneId' => [ - 'description' => 'The ID of the primary zone to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'LoadBalancerSpec' => [ - 'description' => 'The specification of the CLB instance.'."\n" - ."\n" - .'> Pay-as-you-go CLB instances are not subject to specifications. By default, **slb.lcu.elastic** is returned.'."\n", - 'type' => 'string', - 'example' => 'slb.s1.small', - ], - 'AutoReleaseTime' => [ - 'description' => 'The timestamp generated when the CLB instance is released.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1513947075000', - ], - 'ModificationProtectionReason' => [ - 'description' => 'The reason why the configuration read-only mode is enabled. The value is 1 to 80 characters in length. It starts with a letter and can contain digits, periods (.), underscores (\\_), and hyphens (-).'."\n" - ."\n" - .'> This parameter is valid only when **ModificationProtectionStatus** is set to **ConsoleProtection**.'."\n", - 'type' => 'string', - 'example' => 'Managed instance', - ], - 'RegionId' => [ - 'description' => 'The region ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ModificationProtectionStatus' => [ - 'description' => 'Indicates whether the configuration read-only mode is enabled. Valid values:'."\n" - ."\n" - .'* **NonProtection**: The configuration read-only mode is disabled. After you disable the configuration read-only mode, the value of **ModificationProtectionReason** is cleared.'."\n" - .'* **ConsoleProtection**: The configuration read-only mode is enabled.'."\n" - ."\n" - .'> If this parameter is set to **ConsoleProtection**, you cannot modify instance configurations in the CLB console. However, you can modify instance configurations by calling API operations.'."\n", - 'type' => 'string', - 'example' => 'ConsoleProtection', - ], - 'EndTime' => [ - 'description' => 'The time when the CLB instance expires.'."\n", - 'type' => 'string', - 'example' => '2022-09-08T16:00:00Z', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch to which the internal-facing CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vsw-255ecrwq5****', - ], - 'LoadBalancerStatus' => [ - 'description' => 'The status of the CLB instance. Valid values:'."\n" - ."\n" - .'* **inactive**: The CLB instance is disabled. CLB instances in the inactive state do not forward traffic.'."\n" - .'* **active**: The CLB instance is running as expected. Newly created CLB instances are in the **active** state by default.'."\n" - .'* **locked**: The CLB instance is locked. CLB instances may be locked due to overdue payments or other reasons.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3rtop****', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **paybytraffic**'."\n" - .'* **paybybandwidth**'."\n", - 'type' => 'string', - 'example' => 'paybytraffic', - ], - 'DeleteProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the CLB instance.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'RegionIdAlias' => [ - 'description' => 'The alias of the region to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'hangzhou', - ], - 'RenewalStatus' => [ - 'description' => 'Indicates whether auto-renewal is enabled. Valid values:'."\n" - ."\n" - .'* **AutoRenewal**: Auto-renewal is enabled.'."\n" - ."\n" - .'* **Normal**: Auto-renewal is disabled. You must manually renew the CLB instance.'."\n" - ."\n" - .'* **NotRenewal**: The CLB instance will not be renewed upon expiration. If this value is returned, the system does not send notifications until three days before the expiration date.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note** This parameter is valid only when you create a subscription CLB instance on the Alibaba Cloud China site. In this case, **PayType** must be set to **PrePay**.'."\n", - 'type' => 'string', - 'example' => 'AutoRenewal', - ], - 'RenewalDuration' => [ - 'description' => 'The auto-renewal duration. This parameter is valid only if **RenewalStatus** is set to **AutoRenewal**.'."\n" - ."\n" - .'* Valid values when **PeriodUnit** is set to **Year**: **1**~**5**.'."\n" - ."\n" - .'* Valid values when **PeriodUnit** is set to **Month**: **1**~ **9**.'."\n" - ."\n" - .'> This parameter is valid only when you create a subscription CLB instance on the Alibaba Cloud China site. In this case, the **PayType** parameter must be set to **PrePay**.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ListenerPorts' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListenerPort' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The frontend port used by the CLB instance.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - ], - ], - ], - 'ListenerPortsAndProtocal' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListenerPortAndProtocal' => [ - 'description' => 'The ports or protocols of the listeners.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ListenerProtocal' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'http', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - ], - ], - ], - ], - ], - 'ListenerPortsAndProtocol' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ListenerPortAndProtocol' => [ - 'description' => 'The ports or protocols of the listeners.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the CLB instance.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ListenerProtocol' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.', - 'type' => 'string', - 'example' => 'https', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether the listener is enabled.', - 'type' => 'string', - 'example' => 'on', - ], - 'Description' => [ - 'description' => 'Indicates whether the listener is enabled.', - 'type' => 'string', - 'example' => 'Listener Description', - ], - 'ForwardPort' => [ - 'description' => 'The destination listening port to which requests are forwarded. The port must be open and use HTTPS.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - ], - ], - ], - ], - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers of the CLB instance.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the backend server.', - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'Description' => [ - 'description' => 'The description of the backend server.'."\n" - ."\n" - .'> This parameter is not returned if Description is not set.', - 'type' => 'string', - 'example' => 'backend server description', - ], - 'ServerIp' => [ - 'description' => 'The ID of the elastic network interface (ENI) or elastic container instance.', - 'type' => 'string', - 'example' => '192.XX.XX.11', - ], - 'ServerId' => [ - 'description' => 'The backend server ID.', - 'type' => 'string', - 'example' => 'i-2zej4lxhjoq1icu*****', - ], - ], - ], - ], - ], - ], + 'VpcId' => ['description' => 'The ID of the VPC to which the CLB instance belongs.', 'type' => 'string', 'example' => 'vpc-25dvzy9****', 'title' => ''], + 'AddressIPVersion' => ['description' => 'The IP version that is used by the CLB instance.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the CLB instance belongs.', 'type' => 'string', 'example' => 'vsw-255ecr****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'LoadBalancerName' => ['description' => 'The CLB instance name.', 'type' => 'string', 'example' => 'lb-bp1o94dp5i6ea****', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'example' => 'lb-hddhfjg****', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the CLB instance belongs.', 'type' => 'string', 'example' => 'rg-atstuj3rto****', 'title' => ''], + 'Address' => ['description' => 'The IP address that is allocated to the CLB instance.', 'type' => 'string', 'example' => '42.XX.XX.6', 'title' => ''], + 'NetworkType' => ['description' => 'The network type of the CLB instance. Valid values:'."\n" + ."\n" + .'- **vpc**: VPC'."\n" + ."\n" + .'- **Classic**: classic network', 'type' => 'string', 'example' => 'classic', 'title' => ''], + 'OrderId' => ['description' => 'The order ID of the subscription CLB instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '20212961978****', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['errorCode' => 'CloudBoxNotSupportInternet', 'errorMessage' => 'The cloudBox instance does not support internet.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'InvalidParameter.Mismatch', 'errorMessage' => 'AddressType and IpVersion is conflict, IPv6 does not support intranet instance.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'VSwitchNotExist', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'Illegal parameter. The IP address is not in subnet.', 'description' => ''], + ['errorCode' => 'Instance.ShareSlbNotSupportPay95', 'errorMessage' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', 'description' => ''], + ['errorCode' => 'Instance.Pay95RateInvalid', 'errorMessage' => 'Illegal parameter. The rate is illegal.', 'description' => ''], + ['errorCode' => 'Instance.Pay95BandwidthIllegal', 'errorMessage' => 'Illegal parameter. The bandwidth is illegal.', 'description' => ''], + ['errorCode' => 'Instance.InternetChargeTypeNotAllowed', 'errorMessage' => 'Illegal parameter. The specified InternetChargeType not allowed.', 'description' => ''], + ['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' => 'Your account balance is insufficient. Top up your account and try again.'], + ['errorCode' => 'MissingParam.VSwitchId', 'errorMessage' => 'The parameter VSwitchId is required.', 'description' => ''], + ['errorCode' => 'InvalidVpcId.NotExist', 'errorMessage' => 'The specified VPC not exist.', 'description' => ''], + ['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' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.LoadBalancerSpec', 'errorMessage' => 'The param LoadBalancerSpec is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Bandwidth', 'errorMessage' => 'The param Bandwidth is invalid.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'InvalidParam.ModificationProtectionReason', 'errorMessage' => 'The param ModificationProtectionReason is invalid.', 'description' => ''], + ['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' => ''], + ['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' => 'The current specified vswitch instance is illegal.'], + ['errorCode' => 'IllegalParam.SpecType', 'errorMessage' => 'The param of SpecType is illegal.', 'description' => ''], + ['errorCode' => 'MissingParam.SpecType', 'errorMessage' => 'The param of SpecType is missing.', 'description' => ''], + ['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' => 'System Busy'], + ['errorCode' => 'PRODUCT.NOT_AVAILABLE_IZ', 'errorMessage' => 'The Instance zone id doesn t support', 'description' => ''], + ['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' => 'Total amount has reach the limit. Reduce the quantity and try again.'], + ['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' => 'No subnet IP address is available.'], + ['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' => ''], + ['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' => '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.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateLoadBalancer', + 'summary' => 'Creates a Classic Load Balancer (CLB) instance.', + 'description' => '<props="china">'."\n" + ."\n" + .'> - CLB 包年包月实例 2024 年 12 月 01 日 00:00:00 起停止新购。详细信息请参见[传统型负载均衡 CLB 包年包月停售公告](~~2839979~~)。'."\n" + .'>'."\n" + .'> - 实例创建前,请调用 [DescribeAvailableResource](~~117645~~) 查询可用区支持的资源售卖情况。'."\n" + .'>'."\n" + .'> - 实例创建后,会产生费用。'."\n" + .'>'."\n" + .'> - 按量付费模式支持创建按使用量计费实例和按规格计费实例。'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'> - Before you create a CLB instance, call the [](t2293251.xdita#)operation to query the resources available for purchase in the region where you want to create the CLB instance.'."\n" + .'>'."\n" + .'> - After a CLB instance is created, you are charged for using the CLB instance.'."\n" + .'>'."\n" + .'> - Pay-as-you-go CLB instances only support the pay-by-LCU instance resource metering method. As of 00:00:00 (UTC+8) on June 1, 2025, pay-by-specification CLB instances are no longer available for purchase. For more details, see [](t2857909.xdita#).'."\n" + ."\n" + .'</props>', + 'changeSet' => [ + ['createdAt' => '2024-12-19T06:34:28.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-16T06:03:00.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-01-26T09:46:02.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-26T08:59:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-06T09:06:04.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-06T06:27:11.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-08-23T11:34:37.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-12-15T08:18:11.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-12-15T08:18:11.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'DescribeLoadBalancerAttribute', - 'summary' => 'Queries the detail of a Classic Load Balancer (CLB) instance.', - 'description' => '> If backend servers are deployed in a vServer group, you can call the [DescribeVServerGroupAttribute](~~35224~~) operation to query the backend servers.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', 'extraInfo' => ' ', ], - 'DescribeLoadBalancers' => [ - 'summary' => 'Queries Classic Load Balancer (CLB) instances.', - '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' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.'."\n" + ."\n" + .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~27584~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ServerId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the backend server that is added to the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vm-server-23****', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1c9vixxjh92q83tw*****', 'title' => ''], ], [ - 'name' => 'AddressIPVersion', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP version that is used by the CLB instance. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - ], + 'schema' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'**-1**: specifies that the bandwidth of the listener is unlimited.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'default' => '-1', 'example' => '-1', 'title' => ''], ], [ - 'name' => 'LoadBalancerStatus', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the CLB instance. Valid values:'."\n" - ."\n" - .'* **inactive:** The CLB instance is disabled. CLB instances in the inactive state do not forward traffic.'."\n" - .'* **active:** The CLB instance runs as expected. By default, newly created CLB instances are in the **active** state.'."\n" - .'* **locked:** The CLB instance is locked. After a CLB instance expires, it is locked for seven days. A locked CLB instance cannot forward traffic and you cannot perform operations on the locked CLB instance. However, other settings such as the IP address are retained.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'active', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n" - ."\n" - .'You can specify up to 10 IDs. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1b6c719dfa****', - ], + 'schema' => ['description' => 'The backend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'> If the VServerGroupId parameter is not specified, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'LoadBalancerName', + 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the CLB instance.'."\n" - ."\n" - .'The name must be 1 to 80 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n" - ."\n" - .'You can specify up to 10 names. Separate multiple names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'- **on** (default)'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'on', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'ServerIntranetAddress', + 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => 'The private IP address of the backend server that is added to the CLB instance.'."\n" - ."\n" - .'You can specify multiple IP addresses. Separate multiple IP addresses with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10.XX.XX.102', - ], + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.', 'type' => 'string', 'required' => false, 'default' => 'wrr', 'example' => 'wrr', 'title' => ''], ], [ - 'name' => 'AddressType', + 'name' => 'StickySession', 'in' => 'query', - 'schema' => [ - 'description' => 'The network type of the CLB instance. Valid values:'."\n" - ."\n" - .'* **internet:** After an Internet-facing CLB instance is created, the system assigns a public IP address to the CLB instance. Then, the CLB instance can forward requests over the Internet.'."\n" - .'* **intranet:** After an internal-facing CLB instance is created, the system assigns a private IP address to the CLB instance. Then, the CLB instance can forward requests only over internal networks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'intranet', - ], + 'schema' => ['description' => 'Specifies whether to enable session persistence. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', 'required' => false, 'docRequired' => true, 'default' => 'off', 'example' => 'off', 'title' => ''], ], [ - 'name' => 'InternetChargeType', + 'name' => 'StickySessionType', 'in' => 'query', - 'schema' => [ - 'description' => 'The metering method of Internet data transfer. Valid values:'."\n" - ."\n" - .'* **paybybandwidth:** pay-by-bandwidth.'."\n" - .'* **paybytraffic:** pay-by-data-transfer.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'paybytraffic', - ], + 'schema' => ['description' => 'The method that is used to handle cookies. Valid values:'."\n" + ."\n" + .'- **insert**: inserts a cookie.'."\n" + ."\n" + .' The first time a client accesses CLB, CLB inserts a cookie into the response packet. Subsequent requests from the client that carry the cookie are distributed to the same backend server as the first request.'."\n" + ."\n" + .'- **server**: rewrites the original cookie.'."\n" + ."\n" + .' CLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.'."\n" + ."\n" + .'> This parameter is required if the **StickySession** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'insert', 'title' => ''], ], [ - 'name' => 'VpcId', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) to which the CLB instance belongs.'."\n", - 'type' => 'string', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key of the bastion host. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be at most 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'vpc-bp1aevy8sof****', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'VSwitchId', + 'name' => 'CookieTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3****', - ], + 'schema' => ['description' => 'The timeout period of a cookie. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **86400**.'."\n" + ."\n" + .'> If **StickySession** is set to **on** and **StickySessionType** is set to **insert**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500', 'title' => ''], ], [ - 'name' => 'NetworkType', + 'name' => 'Cookie', 'in' => 'query', - 'schema' => [ - 'description' => 'The network type of the internal-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **vpc**: VPC'."\n" - .'* **Classic**: classic network'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc', - ], + 'schema' => ['description' => 'The cookie configured for the server.'."\n" + ."\n" + .'The cookie must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), space characters, or start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required when the **StickySession** parameter is set to **on** and the **StickySessionType** parameter is set to **server**.', 'type' => 'string', 'required' => false, 'example' => 'testCookie', 'title' => ''], ], [ - 'name' => 'Address', + 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address that the CLB instance uses to provide services.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'on', 'title' => ''], ], [ - 'name' => 'MasterZoneId', + 'name' => 'HealthCheckMethod', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary zone to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-b', - ], + 'schema' => ['description' => 'The health check method used in HTTP health checks. Valid values: **head** and **get**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'get', 'title' => ''], ], [ - 'name' => 'SlaveZoneId', + 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the secondary zone to which the CLB instance belongs.'."\n" - ."\n" - .'CLB instances on Alibaba Finance Cloud do not support cross-zone deployment.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-d', - ], + 'schema' => ['description' => 'The domain name that is used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: the private IP address of a backend server. If an IP address is specified, or this parameter is not specified, the CLB instance uses the private IP address of each backend server as the domain name for health checks.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '172.16.*.*/12', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n" - ."\n" - .'You can specify up to 10 tags in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', - ], + 'schema' => ['description' => 'The URI that is used for health checks.'."\n" + ."\n" + .'The URI must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '/test/index.html', 'title' => ''], ], [ - 'name' => 'PayType', + 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of the CLB instance. Valid values:'."\n" - ."\n" - .'* Set the value to **PayOnDemand**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayOnDemand', - ], + 'schema' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxazb4p****', - ], + 'schema' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'HealthCheckTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '1', - 'default' => '0', - ], + 'schema' => ['description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds'."\n" + ."\n" + .'Valid values: **1** to **300**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page.'."\n" - ."\n" - .'Valid values: **1** to **100**.'."\n" - ."\n" - .'> If you specify the **PageSize** parameter, you must also specify the **PageNumber** parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '50', - 'default' => '10', - ], + 'schema' => ['description' => 'The backend port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '80', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'HealthCheckInterval', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => 'The value of the tag. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be at most 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on the current page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'TotalCount' => [ - 'description' => 'The number of instances returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LoadBalancers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LoadBalancer' => [ - 'description' => 'An array of CLB instances.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The CLB instances.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the VPC in which the internal-facing CLB instance was deployed.'."\n", - 'type' => 'string', - 'example' => 'vpc-25dvzy9f8****', - ], - 'CreateTimeStamp' => [ - 'description' => 'The timestamp when the instance was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa****', - ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2021-12-02T02:49:05Z', - ], - 'PayType' => [ - 'description' => 'The billing method of the CLB instance.'."\n" - ."\n" - .'* **PayOnDemand** is returned, which indicates the pay-as-you-go billing method.'."\n", - 'type' => 'string', - 'example' => 'PayOnDemand', - ], - 'AddressType' => [ - 'description' => 'The network type of the CLB instance. Valid values:'."\n" - ."\n" - .'* **internet:** After an Internet-facing CLB instance is created, the system assigns a public IP address to the CLB instance. Then, the CLB instance can forward requests over the Internet.'."\n" - .'* **intranet:** After an internal-facing CLB instance is created, the system assigns a private IP address to the CLB instance. Then, the CLB instance can forward requests only over internal networks.'."\n", - 'type' => 'string', - 'example' => 'intranet', - ], - 'NetworkType' => [ - 'description' => 'The network type of the internal-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **vpc**: VPC'."\n" - .'* **Classic**: classic network'."\n", - 'type' => 'string', - 'example' => 'vpc', - ], - 'AddressIPVersion' => [ - 'description' => 'The IP version that is used by the CLB instance. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'LoadBalancerName' => [ - 'description' => 'The name of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1o94dp5i6ea****', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'Address' => [ - 'description' => 'The endpoint of the CLB instance.'."\n", - 'type' => 'string', - 'example' => '100.XX.XX.28', - ], - 'SlaveZoneId' => [ - 'description' => 'The ID of the secondary zone to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-d', - ], - 'MasterZoneId' => [ - 'description' => 'The ID of the primary zone to which the CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-b', - ], - 'InternetChargeTypeAlias' => [ - 'description' => 'The metering method of Internet data transfer. Valid values:'."\n" - ."\n" - .'* **paybybandwidth:** pay-by-bandwidth.'."\n" - .'* **paybytraffic:** pay-by-data-transfer.'."\n", - 'type' => 'string', - 'example' => 'paybybandwidth', - ], - 'LoadBalancerSpec' => [ - 'description' => 'The specification of the CLB instance.'."\n" - ."\n" - .'> Pay-as-you-go CLB instances are not subject to specifications. **slb.lcu.elastic** is returned by default.'."\n", - 'type' => 'string', - 'example' => 'slb.s1.small', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the CLB instance was deployed.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ModificationProtectionReason' => [ - 'description' => 'The reason why the configuration read-only mode was enabled. The reason must be 1 to 80 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The reason must start with a letter.'."\n" - ."\n" - .'> This parameter takes effect only when you set the `ModificationProtectionStatus` parameter to **ConsoleProtection**.'."\n", - 'type' => 'string', - 'example' => 'ManagedInstance'."\n", - ], - 'ModificationProtectionStatus' => [ - 'description' => 'Indicates whether the configuration read-only mode is enabled for the CLB instance. Valid values:'."\n" - ."\n" - .'* **NonProtection:** The configuration read-only mode is disabled. In this case, you cannot specify the ModificationProtectionReason parameter. If you specify the `ModificationProtectionReason` parameter, the value is cleared.'."\n" - .'* **ConsoleProtection:** The configuration read-only mode is enabled.'."\n" - ."\n" - .'> If you set this parameter to **ConsoleProtection**, you cannot modify the configurations of the CLB instance in the CLB console. However, you can call API operations to modify the configurations of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'ConsoleProtection', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch to which the internal-facing CLB instance belongs.'."\n", - 'type' => 'string', - 'example' => 'vsw-255ecr****', - ], - 'LoadBalancerStatus' => [ - 'description' => 'The status of the CLB instance. Valid values:'."\n" - ."\n" - .'* **inactive:** The CLB instance is disabled. CLB instances in the inactive state do not forward traffic.'."\n" - .'* **active:** The CLB instance runs as expected. By default, newly created CLB instances are in the **active** state.'."\n" - .'* **locked:** The CLB instance is locked.'."\n", - 'type' => 'string', - 'example' => 'active', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3r****', - ], - 'InternetChargeType' => [ - 'description' => 'The metering method of the Internet-facing CLB instance. Valid values:'."\n" - ."\n" - .'* **3:** pay-by-bandwidth (**paybybandwidth**).'."\n" - .'* **4:** pay-by-data-transfer (**paybytraffic**).'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'DeleteProtection' => [ - 'description' => 'Indicates whether deletion protection is enabled for the CLB instance. Valid values:'."\n" - ."\n" - .'* **on:** Deletion protection is enabled.'."\n" - .'* **off:** Deletion protection is disabled.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'RegionIdAlias' => [ - 'description' => 'The region where the CLB instance was deployed.'."\n", - 'type' => 'string', - 'example' => 'hangzhou', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'FinanceJoshua', - ], - 'TagKey' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - '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' => 'DescribeLoadBalancers', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DeleteLoadBalancerListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + ."\n" + .'Valid values: **http\\_2xx** (default), **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'http_2xx', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n" - ."\n" - .'> The **RegionId** parameter is required if the endpoint of the region is slb.aliyuncs.com.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j*****', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'XForwardedFor_SLBIP', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp13jaf5qli5xmg******', - ], + 'schema' => ['description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address of the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'XForwardedFor_SLBID', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'XForwardedFor_proto', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is specified for listeners of different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off** (default)', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], - ], - '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' => 'DeleteLoadBalancerListener', - 'summary' => 'Deletes a listener.', - 'description' => '> You can delete only listeners that are in the **stopped** or **running** state.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StartLoadBalancerListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable `GZIP` compression to compress specific types of files. Valid values:'."\n" + ."\n" + .'- **on** (default)'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'on', 'example' => 'on', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region where the CLB instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" + ."\n" + .'> If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jw******', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp13jaf5qli5*********', - ], + 'schema' => ['description' => 'The type of access control. Valid values:'."\n" + ."\n" + .'- **white**: Only requests from IP addresses and CIDR blocks on the whitelist are forwarded by the listener. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, the listener forwards only requests from IP addresses that are added to the whitelist.'."\n" + ."\n" + .' If you configure a whitelist but do not add an IP address to the whitelist, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: Requests from the IP addresses and CIDR blocks on the blacklist are blocked.'."\n" + ."\n" + .' If you configure a blacklist but do not add an IP address to the blacklist, the listener forwards all requests.'."\n" + ."\n" + .'> When **AclStatus** is set to **on**, this parameter takes effect.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off** (default): no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is used by listeners of different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - 'description' => '', - ], + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'HTTP_443', 'title' => ''], ], - ], - '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' => 'Specifies whether to enable HTTP-to-HTTPS redirection. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off** (default): no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'StartLoadBalancerListener', - 'summary' => 'Enables a listener.', - 'description' => 'When you call this operation, take note of the following items:'."\n" - ."\n" - .'* You can call the operation only when the listener is in the Stopped state.'."\n" - .'* If the operation is successful, the listener switches to the Starting state.'."\n" - .'* You cannot perform this operation when the Classic Load Balancer (CLB) instance to which the listener belongs is in the Locked state.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'StopLoadBalancerListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ForwardPort', + 'in' => 'query', + 'schema' => ['description' => 'The listening port that is used to redirect HTTP requests to HTTPS.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '443', 'title' => ''], ], - ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'IdleTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" - ."\n" - .'To query the region ID, refer to the list of [regions and zones](~~40654~~) or call [DescribeRegions](~~25609~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The timeout period of an idle connection. Unit: seconds.'."\n" + ."\n" + .'Default value: **15**. Valid values: **1** to **60**.'."\n" + ."\n" + .'If no request is received within the specified timeout period, SLB closes the connection. When a request is received, SLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '3', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'RequestTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp13jaf5qli5xmg******', - ], + 'schema' => ['description' => 'The timeout period of a request. Unit: seconds.'."\n" + ."\n" + .'Default value: **60**. Valid values: **1** to **180**.'."\n" + ."\n" + .'If no response is received from the backend server within the specified timeout period, CLB sends an `HTTP 504` error code to the client.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '6', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'XForwardedFor_SLBPORT', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'XForwardedFor_ClientSrcPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is used by listeners of different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client port. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], ], 'responses' => [ @@ -3768,142 +1726,140 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified ListenerPort or ForwardPort is invalid.', 'description' => ''], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => ''], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', 'errorMessage' => 'The slb instance does not support create HTTP or HTTPS listener.', 'description' => ''], + ['errorCode' => 'InvalidParameter.VServerGroupId', 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'description' => ''], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => ''], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'LbNotSupportTcpssl', 'errorMessage' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'description' => ''], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => ''], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => 'You cannot create a rule for the specified listener.'], + ['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' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'StopLoadBalancerListener', - 'summary' => 'Stops a listener.', - 'description' => 'Before you make this API call, note the following:'."\n" + 'title' => 'CreateLoadBalancerHTTPListener', + 'summary' => 'Creates an HTTP listener for a Classic Load Balancer (CLB) instance.', + 'description' => 'A newly created listener is in the **stopped** state. After a listener is created, you can call the [StartLoadBalancerListener](~~StartLoadBalancerListener~~) operation to start the listener. After the listener is started, the listener can forward traffic to backend servers.'."\n" ."\n" - .'* After the API call is successfully made, the listener enters the stopped state.'."\n" - .'* If the Classic Load Balancer (CLB) instance to which the listener to be stopped belongs is in the locked state, this API call cannot be made.'."\n" + .'## Prerequisites'."\n" ."\n" - .'> If you stop the listener, your services will be disrupted. Exercise caution when you perform this action.'."\n", + .'A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~StartLoadBalancerListener~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerListeners' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-25T07:27:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ], + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + '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' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~DescribeRegions~~) operation to query the most recent region list.'."\n" - ."\n" - .'> If the endpoint of the selected region is slb.aliyuncs.com, the `RegionId` parameter is required.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used for the next query. Valid values:'."\n" - ."\n" - .'* If this is your first query and no subsequent queries are to be sent, ignore this parameter.'."\n" - .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6earr****', 'title' => ''], ], [ - 'name' => 'MaxResults', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return in each call.'."\n" - ."\n" - .'Valid values: **1** to **100**. If you do not specify this parameter, the default value **20** is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '101', - 'minimum' => '0', - 'example' => '50', - 'default' => '20', - ], + 'schema' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n" + ."\n" + .'The URL must meet the following requirements:'."\n" + ."\n" + .'- **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this parameter is set to -1. This indicates that the bandwidth of the listener is unlimited.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol used by the listener. Valid values:'."\n" - ."\n" - .'* **tcp**'."\n" - .'* **udp**'."\n" - .'* **http**'."\n" - .'* **https**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'BackendServerPort', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the CLB instances. You can specify up to 10 instance IDs.'."\n" - ."\n" - .'> If you do not use the SDK to call this operation, use the LoadBalancerId.N parameter.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'LoadBalancerId.1=lb-uf6so8u4g35prnvsw****,LoadBalancerId.2=lb-uf6s1l1kukqv4u5nt****', - ], - 'required' => false, - 'example' => 'lb-123wrwer', - 'maxItems' => 11, - ], + 'schema' => ['description' => 'The backend port that is used by the CLB instance. Valid values: **1** to **65535**.'."\n" + ."\n" + .'If the VServerGroupId parameter is not set, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ 'name' => 'Tag', @@ -3911,1381 +1867,346 @@ 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ListenerPort', + 'name' => 'XForwardedFor', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '443', - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'on', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'Scheduler', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS_443', - ], + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.', 'type' => 'string', 'required' => false, 'default' => 'wrr', 'example' => 'wrr', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that determines the start point of the query. Valid values:'."\n" - ."\n" - .'* If **NextToken** is empty, it indicates that no subsequent query is to be sent.'."\n" - .'* If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.'."\n", - 'type' => 'string', - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxResults' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'Listeners' => [ - 'description' => 'A list of listeners of the CLB instance.'."\n" - ."\n" - .'> This parameter is not returned if the CLB instance does not have a listener.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AclType' => [ - 'description' => 'The type of access control. Valid values:'."\n" - ."\n" - .'* **white**: The listener forwards requests only from IP addresses and CIDR blocks on the whitelist. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, the listener forwards requests only from IP addresses that are added to the whitelist.'."\n" - ."\n" - .'If you configure a whitelist but no IP address is added to the whitelist, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: The listener blocks requests from IP addresses and CIDR blocks on the blacklist.'."\n" - ."\n" - .'If you configure a blacklist but no IP address is added to the blacklist, the listener forwards all requests.'."\n", - 'type' => 'string', - 'example' => 'white', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopped**'."\n", - 'type' => 'string', - 'example' => 'running', - ], - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group associated with the listener.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'ListenerProtocol' => [ - 'description' => 'The protocol used by the listener.'."\n", - 'type' => 'string', - 'example' => 'http', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa****', - ], - 'ListenerPort' => [ - 'description' => 'The listener port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'AclId' => [ - 'description' => 'The ID of the access control list (ACL).'."\n", - 'type' => 'string', - 'example' => 'nacl-a2do9e413e0spzasx****', - ], - 'Scheduler' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **tch**: specifies consistent hashing based on the source IP address, destination IP address, source port, and destination port. Requests that have the same four factors are distributed to the same backend server.'."\n" - .'* **qch**: specifies consistent hashing based on Quick UDP Internet Connection (QUIC) IDs. Requests that contain the same QUIC ID are scheduled to the same backend server.'."\n" - ."\n" - .'> Only high-performance CLB instances support the **sch**, **tch**, and **qch** consistent hashing algorithms.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'Description' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'AclStatus' => [ - 'description' => 'Indicates whether access control is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'BackendServerPort' => [ - 'description' => 'The port of the backend server.'."\n" - ."\n" - .'> This parameter takes effect only when the `VServerGroupId` and `MasterSlaveServerGroupId` parameters are both empty.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'AclIds' => [ - 'description' => 'The IDs of the ACLs.'."\n", - 'type' => 'array', - ], - 'HTTPListenerConfig' => [ - 'description' => 'The configurations of the HTTP listener.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthCheckHttpVersion' => [ - 'description' => 'The HTTP version for health checks.'."\n", - 'type' => 'string', - 'example' => 'HTTP 1.0', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'Cookie' => [ - 'description' => 'The cookie configures for the server.'."\n", - 'type' => 'string', - 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', - ], - 'Gzip' => [ - 'description' => 'Indicates whether GZIP compression is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only when **HealthCheck** is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The maximum timeout period of a health check. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckType' => [ - 'description' => 'The protocol that you want to use for health checks.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'CookieTimeout' => [ - 'description' => 'The maximum amount of time to wait before the session cookie expires. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **86400**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBID' => [ - 'description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'ForwardPort' => [ - 'description' => 'The listener port that is used for HTTP-to-HTTPS redirection.'."\n" - ."\n" - .'> If the **ListenerForward** parameter is set to **off**, this parameter is not returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code that indicates a healthy backend server.'."\n", - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled for the listener. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor' => [ - 'description' => 'Indicates whether the `X-Forwarded-For` header is used to preserve client IP addresses. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1** to **60**.'."\n" - ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'RequestTimeout' => [ - 'description' => 'The timeout period of a request. Unit: seconds. Valid values: **1** to **180**.'."\n" - ."\n" - .'If no response is received from a backend server during the request timeout period, CLB sends the `HTTP 504` status code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI that is used for health checks.'."\n", - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'StickySessionType' => [ - 'description' => 'The method used to handle the cookie. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie. CLB inserts the SERVERID cookie to the HTTP or HTTPS response to the first request from a client. Subsequent requests that carry the SERVERID cookie from the client are forwarded to the same backend server as the first request.'."\n" - .'* **server**: rewrites the original cookie. CLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.'."\n", - 'type' => 'string', - 'example' => 'insert', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_proto' => [ - 'description' => 'Indicates whether the `X-Forwarded-Proto` header is used to obtain the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => 'Indicates whether the `SLB-IP` header is used to retrieve the VIP of the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method. Valid values: **head** and **get**.'."\n", - 'type' => 'string', - 'example' => 'get', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - ], - ], - 'HTTPSListenerConfig' => [ - 'description' => 'The configurations of the HTTPS listener.'."\n", - 'type' => 'object', - 'properties' => [ - 'XForwardedFor_ClientCertClientVerify' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertClientVerify` header is used to obtain the verification result of the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckHttpVersion' => [ - 'description' => 'The HTTP version for health checks.'."\n", - 'type' => 'string', - 'example' => 'HTTP 1.0', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'Cookie' => [ - 'description' => 'The cookie configures for the server.'."\n", - 'type' => 'string', - 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', - ], - 'Gzip' => [ - 'description' => 'Indicates whether GZIP compression is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'EnableHttp2' => [ - 'description' => 'Indicates whether `HTTP 2.0` is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'CACertificateId' => [ - 'description' => 'The ID of the CA certificate.'."\n", - 'type' => 'string', - 'example' => 'idkp-234-cn-test-0****', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The timeout period of a health check response. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckType' => [ - 'description' => 'The protocol that you want to use for health checks.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'CookieTimeout' => [ - 'description' => 'The maximum amount of time to wait before the session cookie expires. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **86400**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBID' => [ - 'description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_ClientCertSubjectDN' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertSubjectDN` header is used to obtain information about the owner of the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code that indicates a healthy backend server.'."\n", - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'XForwardedFor_ClientCertFingerprint' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertFingerprint` header is used to obtain the fingerprint of the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'XForwardedFor' => [ - 'description' => 'Indicates whether the `X-Forwarded-For` header is used to retrieve client IP addresses. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'RequestTimeout' => [ - 'description' => 'The request timeout period. Unit: seconds. Valid values: **1** to **180**.'."\n" - ."\n" - .'If no response is received from a backend server during the request timeout period, CLB sends the `HTTP 504` status code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1** to **60**.'."\n" - ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '15', - ], - 'ServerCertificateId' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'example' => 'idkp-123-cn-test-0****', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI that is used for health checks.'."\n", - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'StickySessionType' => [ - 'description' => 'The method used to handle the cookie.'."\n" - ."\n" - .'* **insert**: inserts a cookie. CLB inserts the SERVERID cookie to the HTTP or HTTPS response to the first request from a client. Subsequent requests that carry the SERVERID cookie from the client are forwarded to the same backend server as the first request.'."\n" - .'* **server**: rewrites the original cookie. CLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.'."\n", - 'type' => 'string', - 'example' => 'insert', - ], - 'XForwardedFor_ClientCertIssuerDN' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertIssuerDN` header is used to obtain information about the authority that issues the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_proto' => [ - 'description' => 'Indicates whether the `X-Forwarded-Proto` header is used to obtain the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => 'Indicates whether the `SLB-IP` header is used to retrieve the VIP of the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method.'."\n", - 'type' => 'string', - 'example' => 'get', - ], - 'TLSCipherPolicy' => [ - 'description' => 'A TLS security policy contains TLS protocols and cipher suites available for HTTPS.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_0**:'."\n" - ."\n" - .' Supported TLS versions: TLSv1.0, TLSv1.1, and TLSv1.2.'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_1**:'."\n" - ."\n" - .' Supported TLS versions: TLSv1.1 and TLSv1.2.'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2**'."\n" - ."\n" - .' Supported TLS versions: TLSv1.2.'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" - ."\n" - .' Supported TLS versions: TLSv1.2.'."\n" - ."\n" - .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" - ."\n" - .' Supported TLS versions: TLSv1.2 and TLSv1.3.'."\n" - ."\n" - .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA.'."\n", - 'type' => 'string', - 'example' => 'tls_cipher_policy_1_0', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - ], - ], - 'TCPListenerConfig' => [ - 'description' => 'The configurations of the TCP listener.'."\n", - 'type' => 'object', - 'properties' => [ - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code that indicates a healthy backend server.'."\n", - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'ConnectionDrainTimeout' => [ - 'description' => 'The timeout period of connection draining. Unit: seconds.'."\n" - ."\n" - .'Value values: **10 to 900**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'PersistenceTimeout' => [ - 'description' => 'Indicates whether session persistence is enabled. Unit: seconds.'."\n" - ."\n" - .'Valid values: **0** to **3600**.'."\n" - ."\n" - .'**0** indicates that session persistence is disabled.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI that is used for health checks.'."\n", - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'EstablishedTimeout' => [ - 'description' => 'The timeout period of a connection. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckType' => [ - 'description' => 'The protocol that you want to use for health checks.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => 'The timeout period of health checks. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **300**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the primary/secondary server group associated with the listener.'."\n", - 'type' => 'string', - 'example' => 'rsp-0bfucw*****', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ConnectionDrain' => [ - 'description' => 'Indicates whether connection draining is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method.'."\n", - 'type' => 'string', - 'example' => 'get', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => 'Indicates whether the Proxy protocol is used to pass source client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: enables the burst feature for the data disk.'."\n" - .'* **false**: The task is not being retried.'."\n", - 'type' => 'string', - 'example' => 'false', - ], - ], - ], - 'UDPListenerConfig' => [ - 'description' => 'The configurations of the UDP listener.'."\n", - 'type' => 'object', - 'properties' => [ - 'ConnectionDrainTimeout' => [ - 'description' => 'The timeout period of connection draining. Unit: seconds.'."\n" - ."\n" - .'Value values: **10 to 900**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckExp' => [ - 'description' => 'The response string of UDP health checks.'."\n", - 'type' => 'string', - 'example' => 'ok', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => 'The timeout period for a health check response.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the primary/secondary server group that is associated with the listener.'."\n", - 'type' => 'string', - 'example' => 'rsp-0bfucw****', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of times that a backend server must consecutively pass health checks before it is declared healthy.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of times that a backend server must consecutively fail health checks before it is declared unhealthy.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ConnectionDrain' => [ - 'description' => 'Indicates whether connection draining is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckReq' => [ - 'description' => 'The request string of UDP health checks.'."\n", - 'type' => 'string', - 'example' => 'hello', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => 'Indicates whether the Proxy protocol is used to pass source client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: enables the burst feature for the data disk.'."\n" - .'* **false**: The task is not being retried.'."\n", - 'type' => 'string', - 'example' => 'false', - ], - ], - ], - 'Tags' => [ - 'description' => 'A list of tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - ], - ], - ], - ], - ], - ], - ], - 'description' => '', - ], - ], - ], - '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' => 'DescribeLoadBalancerListeners', - 'summary' => 'Queries the listeners of a Classic Load Balancer (CLB) instance.', - 'description' => '* A CLB instance is created. For more information, see [CreateLoadBalancer](~~2401685~~).'."\n" - ."\n" - .'* One or more listeners are added to the CLB instance. For more information, see the following topics:'."\n" - ."\n" - .' * [CreateLoadBalancerUDPListener](~~CreateLoadBalancerUDPListener~~)'."\n" - .' * [CreateLoadBalancerTCPListener](~~CreateLoadBalancerTCPListener~~)'."\n" - .' * [CreateLoadBalancerHTTPListener](~~CreateLoadBalancerHTTPListener~~)'."\n" - .' * [CreateLoadBalancerHTTPSListener](~~CreateLoadBalancerHTTPSListener~~)', - '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' => 'Specifies whether to enable session persistence. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'docRequired' => true, 'default' => 'off', 'example' => 'on', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'StickySessionType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'For the most recent region list, refer to [Regions and zones](~~40654~~) or call the [DescribeRegions](~~2401682~~) operation the retrieve the information.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The method that is used to handle a cookie. Valid values: **insert** and **server**.'."\n" + ."\n" + .'- **insert**: inserts a cookie.'."\n" + ."\n" + .' CLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" + ."\n" + .'- **server**: rewrites a cookie.'."\n" + ."\n" + .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener will distribute the request to the recorded backend server.'."\n" + ."\n" + .'> This parameter is required if the **StickySession** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'insert ', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'CookieTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex****', - ], + 'schema' => ['description' => 'The timeout period of a cookie. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **86400**.'."\n" + ."\n" + .'> If **StickySession** is set to **on** and **StickySessionType** is set to **insert**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'Cookie', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'The cookie that you configure for the server.'."\n" + ."\n" + .'The cookie must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), spaces, or start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required when the **StickySession** parameter is set to **on** and the **StickySessionType** parameter is set to **server**.', 'type' => 'string', 'required' => false, 'example' => 'testCookie', 'title' => ''], ], [ - 'name' => 'BackendServerPort', + 'name' => 'HealthCheck', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'If the **VServerGroupId** parameter is not set, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'on', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'HealthCheckMethod', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of the tag. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be at most 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The health check method used in HTTP health checks. Valid values: **head** and **get**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'get', 'title' => ''], ], [ - 'name' => 'Bandwidth', + 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this value can be set to -1, which specifies unlimited bandwidth.'."\n" - .'* **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of the maximum bandwidth values that you set for all listeners cannot exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => 'The domain name that is used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: the private IP address of a backend server. If you do not set the HealthCheckDomain parameter or set the parameter to $\\_ip, the CLB instance uses the private IP address of each backend server for health checks.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length and can contain letters, digits, periods (.), and hyphens (-).'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.16', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" - ."\n" - .'> Only high-performance CLB instances support the **sch** and **tch** consistent hashing algorithms.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], + 'schema' => ['description' => 'The URI that is used for health checks.'."\n" + ."\n" + .'The URI must be 1 to 80 characters in length, and can contain letters, digits, and the following special characters: `-/.%?#&`. The URI must start with a forward slash (`/`), but cannot be a single forward slash (`/`).'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '/test/index.html', 'title' => ''], ], [ - 'name' => 'PersistenceTimeout', + 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of session persistence. Unit: seconds'."\n" - ."\n" - .'Valid values: **0 to 3600**'."\n" - ."\n" - .'Default value: **0**. If the default value is used, the system disables session persistence.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'example' => '0', - 'default' => '0', - ], + 'schema' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], ], [ - 'name' => 'EstablishedTimeout', + 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a connection. Unit: seconds'."\n" - ."\n" - .'Valid values: **10** to **900**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - 'default' => '900', - ], + 'schema' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'HealthCheckTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds Valid values: **1** to **300**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3', 'title' => ''], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => 'The port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '8080', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectTimeout', + 'name' => 'HealthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum timeout period of a health check response. Unit: seconds'."\n" - ."\n" - .'Valid values: **1** to **300**'."\n" - ."\n" - .'Default value: **5**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - 'default' => '5', - ], + 'schema' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'If this parameter is not set, the backend port specified by **BackendServerPort** is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx', 'title' => ''], ], [ - 'name' => 'healthCheckInterval', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **50**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'idkp-123-cn-test-****', 'title' => ''], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that you want to use for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: the private IP address of a backend server. If you do not set the HealthCheckDomain parameter or set the parameter to $\\_ip, the CLB instance uses the private IP address of each backend server for health checks.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.6', - ], + 'schema' => ['description' => 'The ID of the server group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j5e7p****', 'title' => ''], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URI that is used for health checks. The URI must be 1 to 80 characters in length, and can contain only digits, letters, hyphens (-), forward slashes (/), periods (.), percent signs (%), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" - ."\n" - .'You can set this parameter when the TCP listener requires HTTP health checks. If you do not set this parameter, TCP health checks are performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + 'schema' => ['description' => 'The ID of the certification authority (CA) certificate.'."\n" + ."\n" + .'If both the CA certificate and the server certificate are uploaded, mutual authentication is used.'."\n" + ."\n" + .'If you upload only the server certificate, one-way authentication is used.', 'type' => 'string', 'required' => false, 'example' => '139a00604ad-cn-east-hangzh****', 'title' => ''], ], [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'XForwardedFor_SLBIP', 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,). Valid values:'."\n" - ."\n" - .'* **http\\_2xx**(default)'."\n" - .'* **http\\_3xx**'."\n" - .'* **http\\_4xx**'."\n" - .'* **http\\_5xx**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', - ], + 'schema' => ['description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address of the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'HealthCheckType', + 'name' => 'XForwardedFor_SLBID', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of health checks. Valid values:'."\n" - ."\n" - .'* **tcp** (default)'."\n" - .'* **http**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], + 'schema' => ['description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'XForwardedFor_proto', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j****', - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'off', 'example' => 'on', 'title' => ''], ], [ - 'name' => 'MasterSlaveServerGroupId', + 'name' => 'Gzip', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n" - ."\n" - .'> You cannot set both VServerGroupId and MasterSlaveServerGroupId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-0bfucw****', - ], + 'schema' => ['description' => 'Specifies whether to enable `GZIP` compression to compress specific types of files. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'default' => 'on', 'example' => 'on', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL that is associated with the listener.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jwfiv6******', - ], + 'schema' => ['description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" + ."\n" + .'> This parameter is required if **AclStatus** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'acl-a2do9e413e0spzasx****', 'title' => ''], ], [ 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application.'."\n" - ."\n" - .' Your service may be adversely affected if the whitelist is not properly configured.'."\n" - ."\n" - .' If a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener. If a whitelist is configured but no IP address is added to the whitelist, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'black', - ], + 'schema' => ['description' => 'The type of the network ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios in which you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the allowlist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" + ."\n" + .' If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are denied. The blacklist applies to scenarios in which you want to deny access from specific IP addresses to an application.'."\n" + ."\n" + .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" + ."\n" + .'> If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], ], [ 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off** (default): no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the listener.'."\n" - ."\n" - .'The name must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp_80', - ], + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'HTTPS_443', 'title' => ''], ], [ - 'name' => 'ConnectionDrain', + 'name' => 'IdleTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable connection draining. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The timeout period of an idle connection. Valid values: **1 to 60**. Default value: **15**. Unit: seconds.'."\n" + ."\n" + .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '12', 'title' => ''], ], [ - 'name' => 'ConnectionDrainTimeout', + 'name' => 'RequestTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of connection draining. Unit: seconds.'."\n" - ."\n" - .'Valid values: **10** to **900**.'."\n" - ."\n" - .'> This parameter is required if **ConnectionDrain** is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The timeout period of a request. Valid values: **1 to 180**. Default value: **60**. Unit: seconds.'."\n" + ."\n" + .'If no response is received from a backend server within the specified timeout period, CLB returns the HTTP 504 status code to the client.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '23', 'title' => ''], ], [ - 'name' => 'ProxyProtocolV2Enabled', + 'name' => 'EnableHttp2', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false** (default): no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable HTTP/2. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ - 'name' => 'HealthCheckSwitch', + 'name' => 'TLSCipherPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on** (default): yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The Transport Layer Security (TLS) security policy. Each security policy contains TLS protocol versions and cipher suites available for HTTPS.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_0**:'."\n" + ."\n" + .' Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_1**:'."\n" + ."\n" + .' Supported TLS versions: TLS 1.1 and TLS 1.2'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2**'."\n" + ."\n" + .' Supported TLS version: TLS 1.2'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' Supported TLS version: TLS 1.2'."\n" + ."\n" + .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict\\_with\\_1\\_3**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.2 and TLS 1.3'."\n" + ."\n" + .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA', 'type' => 'string', 'required' => false, 'example' => 'tls_cipher_policy_1_1', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBPORT', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_ClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client port. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], ], 'responses' => [ @@ -5293,630 +2214,385 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => ''], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => ''], + ['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' => ''], + ['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' => ''], + ['errorCode' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', 'errorMessage' => 'The slb instance does not support create HTTP or HTTPS listener.', 'description' => ''], + ['errorCode' => 'InvalidParameter.VServerGroupId', 'errorMessage' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'description' => ''], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => ''], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => ''], + ['errorCode' => 'TLSCipherPolicyVipRelationOverLimit', 'errorMessage' => 'The number of listeners associated with a policy has exceeded.', 'description' => ''], + ['errorCode' => 'CertificateTypeMismatched', 'errorMessage' => 'The certificate type does not match.', 'description' => ''], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'Server certificates are required.', 'description' => ''], + ['errorCode' => 'TooManyCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => ''], + ['errorCode' => 'CnCertificateNotSupport', 'errorMessage' => 'The cn certificate is not support.', 'description' => ''], + ['errorCode' => 'InvalidParam.CertificateBindingType', 'errorMessage' => 'The param CertificateBindingType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => ''], + ['errorCode' => 'TooManyCertificates.ServerCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => ''], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => 'You cannot create a rule for the specified listener.'], + ['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' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ], + 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' => 'CreateLoadBalancerTCPListener', - 'summary' => 'Creates a TCP listener.', - 'description' => '> Newly created listeners are in the **stopped** state. After a listener is created, call the [StartLoadBalancerListener](~~2401757~~) operation to enable the listener to forward network traffic.'."\n", + 'title' => 'CreateLoadBalancerHTTPSListener', + 'summary' => 'Creates an HTTPS listener.', + 'description' => 'A newly created listener is in the **stopped** state. After a listener is created, you can call the [StartLoadBalancerListener](~~27597~~) operation to start the listener. After the listener is started, the listener can forward traffic to backend servers.'."\n" + ."\n" + .'## Prerequisites'."\n" + ."\n" + .'A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createloadbalancer-2).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerTCPListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-25T07:27:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-24T02:58:01.000Z', 'description' => 'Error codes changed'], + ], + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + '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' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~DescribeRegions~~) operation.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" + ."\n" + .'For the most recent region list, refer to [Regions and zones](~~40654~~) or call the [DescribeRegions](~~2401682~~) operation the retrieve the information.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ygod3yctvg1y****', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex****', 'title' => ''], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'The frontend port used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'Bandwidth', + 'name' => 'BackendServerPort', 'in' => 'query', + 'schema' => ['description' => 'The backend port used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'If the **VServerGroupId** parameter is not set, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values: **-1** and **1** to **5120**.'."\n" - ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, you can set this parameter to **-1**, which specifies unlimited bandwidth.'."\n" - .'* **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of the maximum bandwidth values of all listeners cannot exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The value of the tag. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be at most 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '43', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this value can be set to -1, which specifies unlimited bandwidth.'."\n" + ."\n" + .'- **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of the maximum bandwidth values that you set for all listeners cannot exceed the maximum bandwidth of the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'title' => ''], + ], + [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" - ."\n" - .'> * Only high-performance CLB instances support the **sch** and **tch** algorithms.'."\n" - .'> * CLB does not support converting the **wrr** and **rr** algorithms to sch or tch. You cannot switch the hash algorithm from one to another.', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" + ."\n" + .'> Only high-performance CLB instances support the **sch** and **tch** consistent hashing algorithms.', 'type' => 'string', 'required' => false, 'default' => 'wrr', 'example' => 'wrr', 'title' => ''], ], [ 'name' => 'PersistenceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of session persistence. Valid values: **0** to **3600**. Unit: seconds.'."\n" - ."\n" - .'Default value: **0**. If the default value is used, the system disables session persistence.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '3600', - 'minimum' => '0', - 'example' => '0', - ], + 'schema' => ['description' => 'The timeout period of session persistence. Unit: seconds'."\n" + ."\n" + .'Valid values: **0 to 3600**'."\n" + ."\n" + .'Default value: **0**. If the default value is used, the system disables session persistence.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '0', 'default' => '0', 'example' => '0', 'title' => ''], ], [ 'name' => 'EstablishedTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a connection. Unit: seconds. Valid values: **10** to **900**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '900', - 'minimum' => '10', - 'example' => '500', - ], + 'schema' => ['description' => 'The timeout period of a connection. Unit: seconds'."\n" + ."\n" + .'Valid values: **10** to **900**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '900', 'minimum' => '10', 'default' => '900', 'example' => '500', 'title' => ''], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3', 'example' => '4', 'title' => ''], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3', 'example' => '4', 'title' => ''], ], [ 'name' => 'HealthCheckConnectTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check.'."\n" - ."\n" - .'If a backend ECS instance does not return a health check response within the specified timeout period, the server fails the health check.'."\n" - ."\n" - .'Valid values: **1** to **300**. Unit: seconds.'."\n" - ."\n" - .'> If the value of the **HealthCheckConnectTimeout** parameter is smaller than that of the **HealthCheckInterval** parameter, the timeout period specified by the **HCTimeout** parameter is ignored and the period of time specified by the **HealthCheckInterval** parameter is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - ], + 'schema' => ['description' => 'The maximum timeout period of a health check response. Unit: seconds'."\n" + ."\n" + .'Valid values: **1** to **300**'."\n" + ."\n" + .'Default value: **5**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'default' => '5', 'example' => '100', 'title' => ''], ], [ 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**.'."\n" - ."\n" - .'If you do not set this parameter, the port specified by the **BackendServerPort** parameter is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '8080', - ], + 'schema' => ['description' => 'The port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'If this parameter is not set, the backend port specified by **BackendServerPort** is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'healthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **50**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '3', 'title' => ''], ], [ 'name' => 'HealthCheckDomain', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that is used for health checks. You can set this parameter when the TCP listener requires HTTP health checks. If you do not set this parameter, TCP health checks are performed.'."\n" - ."\n" - .'* **$\\_ip**: the private IP addresses of the backend servers.'."\n" - ."\n" - .' If you do not set the HealthCheckHost parameter or set the parameter to $SERVER_IP, the CLB instance uses the private IP addresses of backend servers for health checks.'."\n" - ."\n" - .'* **domain**: The domain name is 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => 'The domain name that you want to use for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: the private IP address of a backend server. If you do not set the HealthCheckDomain parameter or set the parameter to $\\_ip, the CLB instance uses the private IP address of each backend server for health checks.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.6', 'title' => ''], ], [ 'name' => 'HealthCheckURI', 'in' => 'query', - 'schema' => [ - 'description' => 'The URI that is used for health checks. The URI must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" - ."\n" - .'You can set this parameter when the TCP listener requires HTTP health checks.'."\n" - ."\n" - .'If you do not set this parameter, TCP health checks are performed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + 'schema' => ['description' => 'The URI that is used for health checks. The URI must be 1 to 80 characters in length, and can contain only digits, letters, hyphens (-), forward slashes (/), periods (.), percent signs (%), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" + ."\n" + .'You can set this parameter when the TCP listener requires HTTP health checks. If you do not set this parameter, TCP health checks are performed.', 'type' => 'string', 'required' => false, 'example' => '/test/index.html', 'title' => ''], ], [ 'name' => 'HealthCheckHttpCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" - ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], + 'schema' => ['description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,). Valid values:'."\n" + ."\n" + .'- **http\\_2xx**(default)'."\n" + ."\n" + .'- **http\\_3xx**'."\n" + ."\n" + .'- **http\\_4xx**'."\n" + ."\n" + .'- **http\\_5xx**', 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx', 'title' => ''], ], [ 'name' => 'HealthCheckType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the health check. Valid values: **tcp** and **http**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp', - ], - ], - [ - 'name' => 'SynProxy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the SynProxy feature of CLB for protection. Valid values:'."\n" - ."\n" - .'* **enable**: yes'."\n" - .'* **disable**: no'."\n" - ."\n" - .'We recommend that you use the default value of this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'enable', - ], - ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a vServer group. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n" - ."\n" - .'> You cannot set both **VserverGroup** and **MasterSlaveServerGroup** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The type of health checks. Valid values:'."\n" + ."\n" + .'- **tcp** (default)'."\n" + ."\n" + .'- **http**', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''], ], [ 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j5****', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j****', 'title' => ''], ], [ 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n" - ."\n" - .'> You can set only one of the VServerGroupId and MasterSlaveServerGroupId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige****', - ], - ], - [ - 'name' => 'MasterSlaveServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a primary/secondary server group. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n" - ."\n" - .'You cannot set both **VserverGroup** and **MasterSlaveServerGroup** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The ID of the primary/secondary server group.'."\n" + ."\n" + .'> You cannot set both VServerGroupId and MasterSlaveServerGroupId.', 'type' => 'string', 'required' => false, 'example' => 'rsp-0bfucw****', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" - ."\n" - .'If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12333', - ], + 'schema' => ['description' => 'The ID of the network ACL that is associated with the listener.'."\n" + ."\n" + .'> If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jwfiv6******', 'title' => ''], ], [ 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the network ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the allowlist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .' If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => 'The type of the ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application.'."\n" + ."\n" + .' Your service may be adversely affected if the whitelist is not properly configured.'."\n" + ."\n" + .' If a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener. If a whitelist is configured but no IP address is added to the whitelist, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" + ."\n" + .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" + ."\n" + .'> If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'black', 'title' => ''], ], [ 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off** (default): no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the listener.'."\n" - ."\n" - .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tcp_80', - ], + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'tcp_80', 'title' => ''], ], [ 'name' => 'ConnectionDrain', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable connection draining. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'Specifies whether to enable connection draining. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ 'name' => 'ConnectionDrainTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of connection draining. This parameter is required if **ConnectionDrain** is set to **on**. Unit: seconds.'."\n" - ."\n" - .'Valid values: **10** to **900**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The timeout period of connection draining. Unit: seconds.'."\n" + ."\n" + .'Valid values: **10** to **900**.'."\n" + ."\n" + .'> This parameter is required if **ConnectionDrain** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'ProxyProtocolV2Enabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false** (default): no', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'HealthCheckSwitch', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on** (default): yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], ], ], 'responses' => [ @@ -5924,512 +2600,105 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['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' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => ''], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => ''], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'OperationUnsupported.SetAccessControl', 'errorMessage' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', 'description' => ''], + ['errorCode' => 'InvalidParam.PortRange', 'errorMessage' => 'The specified PortRange is invalid.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => ''], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => 'You cannot create a rule for the specified listener.'], + ['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' => ''], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'description' => ''], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => ''], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => ''], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', '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' => 'MissingParameter', 'errorMessage' => 'The BackendServerPort or VServerGroupId is required at lease one.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], ], ], - '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' => 'SetLoadBalancerTCPListenerAttribute', - 'summary' => 'Modifies the configurations of a TCP listener of Classic Load Balancer (CLB).', - 'description' => '* A CLB instance is created. For more information, see [CreateLoadBalancer](~~2401685~~).'."\n" - .'* A TCP listener is created. For more information, see [CreateLoadBalancerTCPListener](~~CreateLoadBalancerTCPListener~~).', + 'title' => 'CreateLoadBalancerTCPListener', + 'summary' => 'Creates a TCP listener.', + 'description' => '> Newly created listeners are in the **stopped** state. After a listener is created, call the [StartLoadBalancerListener](~~2401757~~) operation to enable the listener to forward network traffic.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerTCPListenerAttribute' => [ - 'summary' => 'Queries the configurations of a TCP listener of Classic Load Balancer (CLB).', - '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' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ygod3yctvg1y****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the associated server group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6******8', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopped**'."\n", - 'type' => 'string', - 'example' => 'stopped', - ], - 'AclType' => [ - 'description' => 'The type of the ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios in which you want to allow only specific IP addresses to access an application.'."\n" - ."\n" - .' Your service may be adversely affected if the whitelist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .' If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are rejected. Blacklists apply to scenarios in which you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is returned.'."\n", - 'type' => 'string', - 'example' => 'white', - ], - 'ConnectionDrainTimeout' => [ - 'description' => 'The timeout period of connection draining. If **ConnectionDrain** is set to **on**, the parameter is returned.'."\n" - ."\n" - .'Valid values: 10 to 900. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If this parameter is not set, the port specified by BackendServerPort is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Description' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'example' => 'TCP_80', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this parameter is set to -1. This indicates that the bandwidth of the listener is unlimited.'."\n" - .'* **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of maximum bandwidth of all listeners cannot exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'HealthCheckType' => [ - 'description' => 'The health check method that is used by the TCP listener.'."\n" - ."\n" - .'Valid values: **tcp** and **http**.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the primary/secondary server group that is associated with the listener.'."\n", - 'type' => 'string', - 'example' => 'rsp-0bfucw****', - ], - 'BackendServerPort' => [ - 'description' => 'The backend port used by the CLB instance.'."\n" - ."\n" - .'> If the listener is associated with a vServer group, this parameter is not returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'AclStatus' => [ - 'description' => 'Indicates whether access control is enabled. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: the private IP addresses of backend servers. If you do not set the HealthCheckDomain parameter or set the parameter to $\\_ip, the CLB instance uses the private IP address of each backend server for health checks.'."\n" - .'* **domain**: The domain name is 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n", - 'type' => 'string', - 'example' => 'www.domain.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The unhealthy threshold. The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code for a successful health check.'."\n", - 'type' => 'string', - 'example' => 'http_2xx', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => 'Indicates whether the Proxy protocol is used to pass client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'PersistenceTimeout' => [ - 'description' => 'The timeout period of session persistence.'."\n" - ."\n" - .'Valid values: **0** to **3600**. Unit: seconds. Default value: **0**. If the default value is used, the system disables session persistence.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '110', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval between two consecutive health checks. Valid values: **1** to **50**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckURI' => [ - 'description' => 'The URL that is used for health checks. The URL must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URL is not a single forward slash (/) but it starts with a forward slash (/).'."\n", - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'AclId' => [ - 'description' => 'The ID of the network ACL that is associated with the listener.'."\n" - ."\n" - .'If **AclStatus** is set to **on**, this parameter is returned.'."\n", - 'type' => 'string', - 'example' => 'acl-uf60jwfi******', - ], - 'SynProxy' => [ - 'description' => 'Indicates whether the SynProxy feature of CLB is enabled for protection.'."\n" - ."\n" - .'We recommend that you use the default value of this parameter. Valid values:'."\n" - ."\n" - .'* **enable**: yes'."\n" - .'* **disable**: no'."\n", - 'type' => 'string', - 'example' => 'disable', - ], - 'Scheduler' => [ - 'description' => 'The scheduling algorithm.'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" - ."\n" - .'> Only high-performance CLB instances support the sch and tch algorithms.', - 'type' => 'string', - 'example' => 'wrr', - ], - 'EstablishedTimeout' => [ - 'description' => 'The timeout period of a connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => 'The timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'HealthyThreshold' => [ - 'description' => 'The healthy threshold. The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ConnectionDrain' => [ - 'description' => 'Indicates whether connection draining is enabled. If **ConnectionDrain** is set to **on**, the parameter is returned. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclId' => [ - 'description' => 'The IDs of the ACLs.'."\n", - 'type' => 'array', - ], - ], - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1ygod3yctvg1y****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.', - 'type' => 'array', - 'items' => [ - 'description' => 'The tag list.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag value cannot be an empty string. The tag key can be up to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-27T10:24:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-11-15T07:46:52.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-10-11T15:07:09.000Z', 'description' => 'Request parameters changed'], + ], + '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}'], ], - 'description' => '', - ], - ], - ], - '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' => 'DescribeLoadBalancerTCPListenerAttribute', - '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' => [], @@ -6440,20 +2709,13 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '88530', - 'abilityTreeNodes' => [ - 'FEATUREslbMJNWX5', - ], + 'abilityTreeNodes' => ['FEATUREslbMJNWX5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the CLB instance is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'Tag', @@ -6461,320 +2723,190 @@ 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ygod3yctvg1y7****', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ygod3yctvg1y7****', 'title' => ''], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'The frontend port used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ 'name' => 'BackendServerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'If the **VServerGroupId** parameter is not set, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'The backend port used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'If the **VServerGroupId** parameter is not set, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'**-1**: For a pay-by-data-transfer Internet-facing CLB instance, you can set this parameter to **-1**. This way, the bandwidth of the listener is unlimited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'**-1**: For a pay-by-data-transfer Internet-facing CLB instance, you can set this parameter to **-1**. This way, the bandwidth of the listener is unlimited.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'title' => ''], ], [ 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - .'* **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - .'* **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" - .'* **qch**: specifies consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" - ."\n" - .'Only high-performance CLB instances support the sch, tch, and qch consistent hashing algorithms.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: specifies consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" + ."\n" + .'Only high-performance CLB instances support the sch, tch, and qch consistent hashing algorithms.', 'type' => 'string', 'required' => false, 'default' => 'wrr', 'example' => 'wrr', 'title' => ''], ], [ 'name' => 'HealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3', 'example' => '4', 'title' => ''], ], [ 'name' => 'UnhealthyThreshold', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - 'default' => '3', - ], + 'schema' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'default' => '3', 'example' => '4', 'title' => ''], ], [ 'name' => 'HealthCheckConnectTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check.'."\n" - ."\n" - .'If a backend server, such as an Elastic Compute Service (ECS) instance, does not respond to a probe packet within the specified timeout period, the server fails the health check. Unit: seconds'."\n" - ."\n" - .'Valid values: **1** to **300**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - 'default' => '5', - ], + 'schema' => ['description' => 'The timeout period of a health check.'."\n" + ."\n" + .'If a backend server, such as an Elastic Compute Service (ECS) instance, does not respond to a probe packet within the specified timeout period, the server fails the health check. Unit: seconds'."\n" + ."\n" + .'Valid values: **1** to **300**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'default' => '5', 'example' => '100', 'title' => ''], ], [ 'name' => 'HealthCheckConnectPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'If this parameter is not set, the backend port specified by **BackendServerPort** is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'If this parameter is not set, the backend port specified by **BackendServerPort** is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ 'name' => 'healthCheckInterval', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **50**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '3', 'title' => ''], ], [ 'name' => 'healthCheckReq', 'in' => 'query', - 'schema' => [ - 'description' => 'The request string for UDP listener health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - ], + 'schema' => ['description' => 'The request string for UDP listener health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'hello', 'title' => ''], ], [ 'name' => 'healthCheckExp', 'in' => 'query', - 'schema' => [ - 'description' => 'The response string for UDP listener health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ok', - ], + 'schema' => ['description' => 'The response string for UDP listener health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'ok', 'title' => ''], ], [ 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j8****', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j8****', 'title' => ''], ], [ 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n" - ."\n" - .'> You can set only one of the VServerGroupId and MasterSlaveServerGroupId parameters.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-0bfucwu****', - ], + 'schema' => ['description' => 'The ID of the primary/secondary server group.'."\n" + ."\n" + .'> You can set only one of the VServerGroupId and MasterSlaveServerGroupId parameters.', 'type' => 'string', 'required' => false, 'example' => 'rsp-0bfucwu****', 'title' => ''], ], [ 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL that is associated with the listener.'."\n" - ."\n" - .'If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123', - ], + 'schema' => ['description' => 'The ID of the network ACL that is associated with the listener.'."\n" + ."\n" + .'If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jw***', 'title' => ''], ], [ 'name' => 'AclType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the network ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios in which you want to allow only specific IP addresses to access an application. After a whitelist is configured, only IP addresses in the whitelist can access the CLB listener. Risks may arise if the whitelist is improperly set.'."\n" - ."\n" - .' If a whitelist is configured but no IP address is added to the whitelist, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are blocked. Blacklists apply to scenarios in which you want to deny access from specific IP addresses to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => 'The type of the network ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios in which you want to allow only specific IP addresses to access an application. After a whitelist is configured, only IP addresses in the whitelist can access the CLB listener. Risks may arise if the whitelist is improperly set.'."\n" + ."\n" + .' If a whitelist is configured but no IP address is added to the whitelist, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are blocked. Blacklists apply to scenarios in which you want to deny access from specific IP addresses to an application.'."\n" + ."\n" + .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" + ."\n" + .'If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], ], [ 'name' => 'AclStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off** (default): no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off** (default): no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the listener.'."\n" - ."\n" - .'The name must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'udp_80', - ], + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'udp_80', 'title' => ''], ], [ 'name' => 'ProxyProtocolV2Enabled', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false** (default): no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false** (default): no', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'HealthCheckSwitch', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on** (default): yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on** (default): yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], ], ], 'responses' => [ @@ -6782,226 +2914,108 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75556', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '06F00FBB-3D9E-4CCE-9D43-1A6946A75556', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['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' => ''], + ['errorCode' => 'InvalidParameter.ListenerPortConflict', 'errorMessage' => 'There is conflict listener port exists.', 'description' => ''], + ['errorCode' => 'InvalidParam.VServerGroupId', 'errorMessage' => 'The specified VServerGroupId is invalid.', 'description' => ''], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => ''], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'LbSupportTcpsslOnly', 'errorMessage' => 'The specified load balancer supports TCP SSL type listener only.', 'description' => ''], + ['errorCode' => 'ListenerNotSupportRule', 'errorMessage' => 'You cannot create a rule for the specified listener.', 'description' => 'You cannot create a rule for the specified listener.'], + ['errorCode' => 'InvalidParamLength.HealthCheckExp', 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamLength.HealthCheckReq', 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.HealthCheckReq', 'errorMessage' => 'The param HealthCheckReq is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.HealthCheckExp', 'errorMessage' => 'The param HealthCheckExp is invalid.', 'description' => ''], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'IllegalParam.HealthCheckType', 'errorMessage' => 'The param of HealthCheckType is illegal.', 'description' => ''], + ['errorCode' => 'MissingParam.HealthCheckMethod', 'errorMessage' => 'The param of HealthCheckMethod is missing.', 'description' => ''], + ['errorCode' => 'IllegalParam.HealthCheckMethod', 'errorMessage' => 'The param of HealthCheckMethod is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.HealthCheck', 'errorMessage' => 'The param of HealthCheck is illegal.', 'description' => ''], + ['errorCode' => 'OperationDenied.SpecialListenerPortNotAllowed', 'errorMessage' => 'The operation is not allowed because port 4789 is reserved by the system.', 'description' => ''], + ['errorCode' => 'Mismatch.SlbSpecTypeAndListenerProtocol', 'errorMessage' => 'The SlbSpecType and ListenerProtocol are mismatched.', 'description' => ''], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => ''], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => ''], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', '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' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], ], ], - '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' => 'CreateLoadBalancerUDPListener', 'summary' => 'Creates a UDP listener.', 'description' => 'UDP listeners of Classic Load Balancer (CLB) instances in a classic network cannot pass client IP addresses to backend servers.'."\n" ."\n" - .'> A newly created listener is in the **stopped** state. After a listener is created, you can call the [StartLoadBalancerListener](~~27597~~) operation to enable the listener to forward traffic to backend servers.'."\n", + .'> A newly created listener is in the **stopped** state. After a listener is created, you can call the [StartLoadBalancerListener](~~27597~~) operation to enable the listener to forward traffic to backend servers.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerUDPListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:54.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-27T10:24:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-10-11T15:07:09.000Z', 'description' => 'Request parameters changed'], + ], + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06F00FBB-3D9E-4CCE-9D43-1A6946A75556\\"\\n}","type":"json"}]', + ], + 'CreateMasterSlaveServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7009,324 +3023,81 @@ ], 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88677', - 'abilityTreeNodes' => [ - 'FEATUREslbMJNWX5', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1rtfnodmywb43ecu4sf-c****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, you can set this parameter to **-1**. This way, the bandwidth of the listener is unlimited.'."\n" - .'* **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of bandwidth limits that you set for all listeners cannot exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - ."\n" - .' If two backend servers have the same weight, the backend server that has fewer connections is expected to receive more requests.'."\n" - ."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - ."\n" - .'* **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" - ."\n" - .'* **tch**: specifies consistent hashing that is based on the following parameters: source IP address, destination IP address, source port, and destination port. Requests that contain the same preceding information are distributed to the same backend server.'."\n" - ."\n" - .'* **qch**: specifies consistent hashing that is based on QUIC connection IDs. Requests that contain the same QUIC connection ID are distributed to the same backend server.'."\n" - ."\n" - .'> * Only high-performance CLB instances support **sch**, **tch**, and **qch**.'."\n" - .'> * You cannot switch the algorithm used by a CLB instance from **wrr** or **rr** to consistent hashing or from consistent hashing to weighted round robin or round robin.', - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it can be declared healthy (from **fail** to **success**).'."\n" - ."\n" - .'Valid values: **1** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **1** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'HealthCheckConnectTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check. If a backend server, such as an Elastic Compute Service (ECS) instance, does not return a health check response within the specified timeout period, the server fails the health check. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **300**.'."\n" - ."\n" - .'> If the value of the **HealthCheckConnectTimeout** parameter is smaller than that of the **HealthCheckInterval** parameter, the timeout period specified by the **HealthCheckConnectTimeout** parameter is ignored and the period of time specified by the **HealthCheckInterval** parameter is used as the timeout period.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '100', - ], - ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **50**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], - ], - [ - 'name' => 'healthCheckReq', - 'in' => 'query', - 'schema' => [ - 'description' => 'The request string for UDP listener health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hello', - ], - ], - [ - 'name' => 'healthCheckExp', - 'in' => 'query', - 'schema' => [ - 'description' => 'The response string for UDP listener health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ok', - ], - ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a vServer group. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n" - ."\n" - .'> You cannot set both **VserverGroup** and **MasterSlaveServerGroup** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6****', - ], - ], - [ - 'name' => 'MasterSlaveServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n" - ."\n" - .'> You cannot specify both VServerGroupId and MasterSlaveServerGroupId.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-0bfuc****', - ], - ], - [ - 'name' => 'MasterSlaveServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a primary/secondary server group. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n" - ."\n" - .'> You cannot set **VserverGroup** and **MasterSlaveServerGroup** both to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'AclType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the network ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the whitelist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .' If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are denied. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1hv944r69al4j******', 'title' => ''], ], [ - 'name' => 'AclStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'Description', + 'name' => 'MasterSlaveServerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the listener.'."\n" - ."\n" - .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'udp_80', - ], + 'schema' => ['description' => 'The name of the primary/secondary server group.', 'type' => 'string', 'required' => false, 'example' => 'Group1', 'title' => ''], ], [ - 'name' => 'ProxyProtocolV2Enabled', + 'name' => 'MasterSlaveBackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false** (default): no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The backend servers in the primary/secondary server group. Each primary/secondary server group consists of two backend servers.'."\n" + ."\n" + .'Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of Elastic Compute Service (ECS) instances, elastic network interfaces (ENIs), and elastic container instances. If you set **ServerId** to the IDs of ENIs or elastic container instances, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: optional. The description of the backend servers. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/). periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'- **ServerType**: Specify the primary and secondary backend servers in a string. Valid values:'."\n" + ."\n" + .' - **Master**: primary server'."\n" + ."\n" + .' - **Slave**: secondary server', '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" }]', 'title' => ''], ], [ - 'name' => 'HealthCheckSwitch', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on** (default): yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'Value' => ['description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'on', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -7335,243 +3106,167 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the active/standby server group.', 'type' => 'string', 'example' => 'rsp-bp19au4******', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7CA4DB76-4D32-523B-822E-5C9******', 'title' => ''], + 'MasterSlaveBackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'MasterSlaveBackendServer' => [ + 'description' => 'The backend servers in the primary/secondary server group.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs**: ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the primary/secondary server group.', 'type' => 'string', 'example' => 'test-112', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '82', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server that you want to add.', 'type' => 'string', 'example' => 'i-bp1fq61enf4loa5i****', 'title' => ''], + 'ServerType' => ['description' => 'The type of backend server.'."\n" + ."\n" + .'Valid values: **Master** and **Slave**.', 'type' => 'string', 'example' => 'Master', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['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' => ''], + ['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' => ''], + ['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' => ''], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer does not support such action.', 'description' => ''], + ['errorCode' => 'RsTunnelIp2VmNameConflict', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', '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' => ''], ], ], - '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' => 'SetLoadBalancerUDPListenerAttribute', - 'summary' => 'Modifies the configurations of a UDP listener.', - 'description' => '* A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~27577~~).'."\n" - .'* A UDP listener is created. For more information, see [CreateLoadBalancerUDPListener](~~27595~~).', + 'title' => 'CreateMasterSlaveServerGroup', + 'summary' => 'Creates a primary/secondary server group. Each primary/secondary server group consists of two backend servers. One backend server functions as the primary server, and the other backend server functions as the secondary backend server.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerUDPListenerAttribute' => [ - 'summary' => 'Queries the configurations of a UDP listener.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], ], - '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + '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' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the load balancer instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1rtfnodmywb43e*****', - ], + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ca0zt07t934w******', 'title' => ''], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], + 'schema' => ['description' => 'The frontend listener port of the load balancer instance.'."\n" + ."\n" + .'Valid values: **1–65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '443', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The frontend protocol of the listener.'."\n" + ."\n" + .'> This parameter is required if you configure listeners that use different protocols on the same port.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], + ], + [ + 'name' => 'RuleList', + 'in' => 'query', + 'schema' => ['description' => 'The forwarding rules to add. You can add up to 10 forwarding rules in a single request. Each forwarding rule consists of the following parameters:'."\n" + ."\n" + .'- **RuleName** (Required): String. The name of the forwarding rule. The name must be 1 to 40 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_). Rule names must be unique within the same listener.'."\n" + ."\n" + .'- **Domain** (Optional): String. The domain name to associate with the forwarding rule. You must specify at least one of this parameter and the **Url** parameter.'."\n" + ."\n" + .'- **Url** (Optional): String. The URL path. The path must be 1 to 80 characters in length. It can contain Chinese characters, letters, digits, and the following special characters: `- / . % ? # &`. The URL path must start with a forward slash (/), but cannot be a single forward slash (/). You must specify at least one of this parameter and the **Domain** parameter.'."\n" + ."\n" + .'- **VServerGroupId** (Required): String. The ID of the target vServer group for the forwarding rule.'."\n" + ."\n" + .'> You must specify the `Domain` parameter, the `Url` parameter, or both. The combination of a `Domain` and a `Url` must be unique within the same listener.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"RuleName":"Rule2","Domain":"test.com","VServerGroupId":"rsp-bp114ni******"}]', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -7579,1440 +3274,269 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group that is associated with the listener.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopped**'."\n", - 'type' => 'string', - 'example' => 'stopped', - ], - 'AclType' => [ - 'description' => 'The type of the ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios in which you want to allow only specified IP addresses to access an application.'."\n" - ."\n" - .' Your service may be adversely affected if the whitelist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener. If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are blocked. Blacklists apply to scenarios in which you want to deny access from specific IP addresses or CIDR blocks to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n", - 'type' => 'string', - 'example' => 'white', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**. If this parameter is not set, the port specified by BackendServerPort is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Description' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this parameter is set to -1. This indicates that the bandwidth of the listener is unlimited.'."\n" - .'* **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of maximum bandwidth of all listeners cannot exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the primary/secondary server group that is associated with the listener.'."\n", - 'type' => 'string', - 'example' => 'rsp-0bfucw****', - ], - 'BackendServerPort' => [ - 'description' => 'The backend port used by the CLB instance.'."\n" - ."\n" - .'> If the listener is associated with a vServer group, this parameter is not returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'AclStatus' => [ - 'description' => 'Indicates whether access control is enabled. Valid values: **on** and **off**. Default value: off.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The unhealthy threshold. The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ProxyProtocolV2Enabled' => [ - 'description' => 'Indicates whether the Proxy protocol is used to pass client IP addresses to backend servers. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '53', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval between two consecutive health checks. Valid values: **1** to **50**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'HealthCheckExp' => [ - 'description' => 'The response string for UDP listener health checks. The string is up to 64 characters in length, and can contain letters and digits.'."\n", - 'type' => 'string', - 'example' => 'ok', - ], - 'AclId' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'example' => '123943****', - ], - 'Scheduler' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheckConnectTimeout' => [ - 'description' => 'The timeout period of a health check. If a backend Elastic Compute Service (ECS) instance does not return a health check response within the specified timeout period, the server fails the health check. Valid values: **1** to **300**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'HealthyThreshold' => [ - 'description' => 'The healthy threshold. The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**. Valid values: **2** to **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'HealthCheckReq' => [ - 'description' => 'The request string for UDP listener health checks. The string is up to 64 characters in length, and can contain letters and digits.'."\n", - 'type' => 'string', - 'example' => 'hello', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclId' => [ - 'description' => 'The ID of the access control list (ACL).'."\n", - 'type' => 'array', - ], - ], - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1rtfnodmywb43e*****', - ], - 'Tags' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + 'Rules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.'."\n", + 'Rule' => [ + 'description' => 'A list of forwarding rules.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.'."\n", + 'description' => 'A forwarding rule.', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag value cannot be an empty string. The tag key can be up to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'RuleName' => ['description' => 'The name of the forwarding rule.', 'type' => 'string', 'example' => 'Rule2', 'title' => ''], + 'RuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => 'rule-bp12jzy0*****', 'title' => ''], ], + 'enumValueTitles' => [], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => ''], + ['errorCode' => 'DomainExist', 'errorMessage' => 'rule with same domain and url already exists in specified vip', 'description' => 'The specified domain name and URL already exists in another listener rule.'], + ['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' => ''], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ], ], - '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' => 'DescribeLoadBalancerUDPListenerAttribute', + 'title' => 'CreateRules', + 'summary' => 'Adds one or more forwarding rules to a specified HTTP or HTTPS listener.', '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\",\\n \\"Rules\\": {\\n \\"Rule\\": [\\n {\\n \\"RuleName\\": \\"Rule2\\",\\n \\"RuleId\\": \\"rule-bp12jzy0*****\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + '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' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~27584~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1c9vixxjh92q83tw*****', - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" - ."\n" - .'**-1**: specifies that the bandwidth of the listener is unlimited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - 'default' => '-1', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'BackendServerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'> If the VServerGroupId parameter is not specified, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve client IP addresses. Valid values:'."\n" - ."\n" - .'* **on** (default)'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is created.'."\n" + ."\n" + .'You can call the [](t2293290.xdita#)operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'StickySession', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable session persistence. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'off', - 'default' => 'off', - ], + 'schema' => ['description' => 'The name of the TLS policy. The name must be 2 to 200 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TLSPolicy-test', 'title' => ''], ], [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to handle cookies. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie.'."\n" - ."\n" - .' The first time a client accesses CLB, CLB inserts a cookie into the response packet. Subsequent requests from the client that carry the cookie are distributed to the same backend server as the first request.'."\n" - ."\n" - .'* **server**: rewrites the original cookie.'."\n" - ."\n" - .' CLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.'."\n" - ."\n" - .'> This parameter is required if the **StickySession** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], - ], - [ - 'name' => 'Tag', + 'name' => 'Ciphers', 'in' => 'query', - 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the bastion host. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be at most 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a cookie. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **86400**.'."\n" - ."\n" - .'> If **StickySession** is set to **on** and **StickySessionType** is set to **insert**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', - ], - ], - [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cookie configured for the server.'."\n" - ."\n" - .'The cookie must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), space characters, or start with a dollar sign ($).'."\n" - ."\n" - .'> This parameter is required when the **StickySession** parameter is set to **on** and the **StickySessionType** parameter is set to **server**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], - ], - [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'on', - ], - ], - [ - 'name' => 'HealthCheckMethod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health check method used in HTTP health checks. Valid values: **head** and **get**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], - ], - [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: the private IP address of a backend server. If an IP address is specified, or this parameter is not specified, the CLB instance uses the private IP address of each backend server as the domain name for health checks.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.16.0.0/12', - ], - ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URI that is used for health checks.'."\n" - ."\n" - .'The URI must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" + 'description' => 'The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.'."\n" ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" ."\n" - .'Valid values: **2** to **10**.'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" ."\n" - .'Valid values: **1** to **300**.'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', - ], - ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port that is used for health checks.'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" ."\n" - .'Valid values: **1** to **65535**.'."\n" + .'- **AES128-SHA**'."\n" ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '80', - ], - ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + .'- **AES256-SHA**'."\n" ."\n" - .'Valid values: **1** to **50**.'."\n" + .'- **DES-CBC3-SHA**'."\n" ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], - ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + .'TLS 1.2 supports the following cipher suites:'."\n" ."\n" - .'Valid values: **http\\_2xx** (default), **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx', - ], - ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j*****', - ], - ], - [ - 'name' => 'XForwardedFor_SLBIP', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address of the client. Valid values:'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], - ], - [ - 'name' => 'XForwardedFor_SLBID', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], - ], - [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol. Valid values:'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" ."\n" - .'* **on**'."\n" - .'* **off** (default)'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], - ], - [ - 'name' => 'Gzip', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable `GZIP` compression to compress specific types of files. Valid values:'."\n" + .'- **AES128-SHA**'."\n" ."\n" - .'* **on** (default)'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', - ], - ], - [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" + .'- **AES256-SHA**'."\n" ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jw******', - ], - ], - [ - 'name' => 'AclType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of access control. Valid values:'."\n" + .'- **DES-CBC3-SHA**'."\n" ."\n" - .'* **white**: Only requests from IP addresses and CIDR blocks on the whitelist are forwarded by the listener. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, the listener forwards only requests from IP addresses that are added to the whitelist.'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" ."\n" - .' If you configure a whitelist but do not add an IP address to the whitelist, the listener forwards all requests.'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" ."\n" - .'* **black**: Requests from the IP addresses and CIDR blocks on the blacklist are blocked.'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" ."\n" - .' If you configure a blacklist but do not add an IP address to the blacklist, the listener forwards all requests.'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" ."\n" - .'> When **AclStatus** is set to **on**, this parameter takes effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], - ], - [ - 'name' => 'AclStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" ."\n" - .'* **on**: yes'."\n" - .'* **off** (default): no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the listener.'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" ."\n" - .'The name must be 1 to 256 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP_443', - ], - ], - [ - 'name' => 'ListenerForward', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable HTTP-to-HTTPS redirection. Valid values:'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" ."\n" - .'* **on**: yes'."\n" - .'* **off** (default): no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'ForwardPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The listening port that is used to redirect HTTP requests to HTTPS.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '443', - ], - ], - [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of an idle connection. Unit: seconds.'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" ."\n" - .'Default value: **15**. Valid values: **1** to **60**.'."\n" + .'- **AES128-GCM-SHA256**'."\n" ."\n" - .'If no request is received within the specified timeout period, SLB closes the connection. When a request is received, SLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '3', - ], - ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a request. Unit: seconds.'."\n" + .'- **AES256-GCM-SHA384**'."\n" ."\n" - .'Default value: **60**. Valid values: **1** to **180**.'."\n" + .'- **AES128-SHA256**'."\n" ."\n" - .'If no response is received from the backend server within the specified timeout period, CLB sends an `HTTP 504` error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '6', - ], - ], - [ - 'name' => 'XForwardedFor_SLBPORT', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the CLB instance. Valid values:'."\n" + .'- **AES256-SHA256**'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'XForwardedFor_ClientSrcPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client port. Valid values:'."\n" + .'TLS 1.3 supports the following cipher suites:'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - ], - ], - ], - ], - '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.', - ], - ], - ], - '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' => 'CreateLoadBalancerHTTPListener', - 'summary' => 'Creates an HTTP listener for a Classic Load Balancer (CLB) instance.', - 'description' => 'A newly created listener is in the **stopped** state. After a listener is created, you can call the [StartLoadBalancerListener](~~StartLoadBalancerListener~~) operation to start the listener. After the listener is started, the listener can forward traffic to backend servers.'."\n" - ."\n" - .'## Prerequisites'."\n" - ."\n" - .'A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~StartLoadBalancerListener~~).', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetLoadBalancerHTTPListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88668', - 'abilityTreeNodes' => [ - 'FEATUREslbPXBZ65', - ], - ], - 'parameters' => [ - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" + .'- **TLS\\_AES\\_128\\_GCM\\_SHA256**'."\n" ."\n" - .'You can query the region ID from the [Regions and zones](~~27585~~) list or by calling the [DescribeRegions](~~27584~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3ah*****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" + .'- **TLS\\_AES\\_256\\_GCM\\_SHA384**'."\n" ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Set the value to'."\n" + .'- **TLS\\_CHACHA20\\_POLY1305\\_SHA256**'."\n" ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this value specifies that the bandwidth of the listener is unlimited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], - ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-For` header to preserve client IP addresses. Valid values:'."\n" + .'- **TLS\\_AES\\_128\\_CCM\\_SHA256**'."\n" ."\n" - .'* **on** (default)'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" + .'- **TLS\\_AES\\_128\\_CCM\\_8\\_SHA256**', + 'type' => 'array', + 'items' => ['description' => 'The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.'."\n" ."\n" - .'* **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], - ], - [ - 'name' => 'StickySession', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable session persistence. Valid values:'."\n" + .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to handle a cookie. Valid values:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" ."\n" - .'* **insert**: inserts a cookie.'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" ."\n" - .'CLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client contains this cookie, and the listener distributes the request to the recorded backend server.'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" ."\n" - .'* **server**: rewrites a cookie.'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" ."\n" - .'When CLB detects a user-defined cookie, CLB overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener forwards the request to the recorded backend server.'."\n" + .'- **AES128-SHA**'."\n" ."\n" - .'> This parameter is required when **StickySession** is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], - ], - [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a cookie.'."\n" + .'- **AES256-SHA**'."\n" ."\n" - .'Valid values: **1** to **86400**. Unit: seconds.'."\n" + .'- **DES-CBC3-SHA**'."\n" ."\n" - .'> This parameter is required when **StickySession** is set to **on** and **StickySessionType** is set to **insert**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', - ], - ], - [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cookie that is configured on the server.'."\n" + .'TLS 1.2 supports the following cipher suites:'."\n" ."\n" - .'The cookie must be 1 to 200 characters in length, and can contain ASCII characters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" ."\n" - .'> This parameter is required when **StickySession** is set to **on** and **StickySessionType** is set to **server**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], - ], - [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'HealthCheckMethod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health check method that is used in HTTP health checks. Valid values: **head** and **get**.'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], - ], - [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" ."\n" - .'* **$\\_ip**: the private IP address of a backend server. If you specify \\*\\*$\\_ip **or** ignore HealthCheckDomain\\*\\*, CLB uses the private IP addresses of backend servers as the health check domain names.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n" + .'- **AES128-SHA**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.16', - ], - ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Uniform Resource Identifier (URI) that you want to use for health checks.'."\n" + .'- **AES256-SHA**'."\n" ."\n" - .'The URI must be 1 to 80 characters in length, and can contain letters, digits, and the following characters: - / . % ? # & The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" + .'- **DES-CBC3-SHA**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], - ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" ."\n" - .'Valid values: **2** to **10**.'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" ."\n" - .'Valid values: **2** to **10**.'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], - ], - [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" ."\n" - .'Valid values: **1** to **300**. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', - ], - ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval at which health checks are performed.'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" ."\n" - .'Valid values: **1** to **50**. Unit: seconds.'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], - ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks.'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" ."\n" - .'Valid values: **1** to **65535**.'."\n" + .'- **AES128-GCM-SHA256**'."\n" ."\n" - .'> This parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '8080', - ], - ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + .'- **AES256-GCM-SHA384**'."\n" ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + .'- **AES128-SHA256**'."\n" ."\n" - .'> The parameter takes effect only if you set **HealthCheck** to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', - ], - ], - [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a vServer group. Valid values:'."\n" + .'- **AES256-SHA256**'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j*****', - ], - ], - [ - 'name' => 'XForwardedFor_SLBIP', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address (VIP) requested by the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'XForwardedFor_SLBID', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'Gzip', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable `GZIP` compression to compress specific types of files. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], - ], - [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the access control list (ACL) that is associated with the listener.'."\n" - ."\n" - .'> This parameter is required when **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acl-uf60jw******', - ], - ], - [ - 'name' => 'AclType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Risks may occur if a whitelist is improperly configured. If a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .'If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .'If a blacklist is configured for a listener but no IP addresses are added to the blacklist, the listener forwards all requests.'."\n" + .'TLS 1.3 supports the following cipher suites:'."\n" ."\n" - .'> This parameter takes effect when the value of **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], - ], - [ - 'name' => 'AclStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" + .'- **TLS\\_AES\\_128\\_GCM\\_SHA256**'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], - ], - [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1 to 60**. Default value: **15**.'."\n" + .'- **TLS\\_AES\\_256\\_GCM\\_SHA384**'."\n" ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '12', - ], - ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a request. Unit: seconds. Valid values: **1 to 180**. Default value: **60**.'."\n" + .'- **TLS\\_CHACHA20\\_POLY1305\\_SHA256**'."\n" ."\n" - .'If no response is received from the backend server within the request timeout period, CLB returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '3', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the listener.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'XForwardedFor_SLBPORT', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the CLB instance. Valid values:'."\n" + .'- **TLS\\_AES\\_128\\_CCM\\_SHA256**'."\n" ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', + .'- **TLS\\_AES\\_128\\_CCM\\_8\\_SHA256**', 'type' => 'string', 'required' => false, 'example' => 'ECDHE-ECDSA-AES128-SHA', 'title' => ''], + 'required' => true, + 'example' => 'AES256-SHA256', + 'maxItems' => 30, + 'title' => '', ], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'TLSVersions', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', + 'description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**. You can specify at most four TLS versions.', + 'type' => 'array', + 'items' => ['description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**. You can specify at most four TLS versions.', 'type' => 'string', 'required' => false, 'example' => 'TLSv1.0', 'title' => ''], + 'required' => true, + 'example' => 'TLSv1.0', + 'maxItems' => 5, + 'title' => '', ], ], ], @@ -9021,158 +3545,162 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'TLSCipherPolicyId' => ['description' => 'The ID of the policy.', 'type' => 'string', 'example' => 'tls-bp14bb1e7dll4f****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'MissingParam.Name', 'errorMessage' => 'The param Name is missing.', 'description' => ''], + ['errorCode' => 'MissingParam.TlsVersions', 'errorMessage' => 'The param TlsVersions is missing.', 'description' => ''], + ['errorCode' => 'MissingParam.Ciphers', 'errorMessage' => 'The param Ciphers is missing.', 'description' => ''], + ['errorCode' => 'ParamDuplicateError.TlsVersions', 'errorMessage' => 'The param TlsVersions is duplicate in request.', 'description' => ''], + ['errorCode' => 'ParamDuplicateError.Ciphers', 'errorMessage' => 'The param Ciphers is duplicate in request.', 'description' => ''], + ['errorCode' => 'TLSPolicyNoSupportVersion', 'errorMessage' => 'The specified TLS version is not supported.', 'description' => ''], + ['errorCode' => 'TLSPolicyNoSupportCipher', 'errorMessage' => 'The specified TLS cipher is not supported.', 'description' => ''], + ['errorCode' => 'TLSCipherPolicyOverLimit', 'errorMessage' => 'The TLSCipherPolicy is over the limit.', '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' => 'SetLoadBalancerHTTPListenerAttribute', - 'summary' => 'Modifies the configurations of an HTTP listener.', - 'description' => '### Prerequisites'."\n" - ."\n" - .'* A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~27577~~).'."\n" - .'* An HTTP listener is created. For more information about how to create an HTTP listener, see [CreateLoadBalancerHTTPListener](~~27592~~).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TLSCipherPolicyId\\": \\"tls-bp14bb1e7dll4f****\\",\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\"\\n}","type":"json"}]', + 'title' => 'CreateTLSCipherPolicy', + 'summary' => 'Creates a Transport Layer Security (TLS) policy.', + 'description' => 'This operation is unavailable by default. To use it, contact your account manager or submit a ticket. We recommend you use Application Load Balancer (ALB) or Network Load Balancer (NLB) and configure TLS security policies.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerHTTPListenerAttribute' => [ - 'summary' => 'Queries the configurations of an HTTP listener.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTLSCipherPolicy'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [ + [ + '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' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88577', - 'abilityTreeNodes' => [ - 'FEATUREslbOMAMKB', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '88537', + 'abilityTreeNodes' => ['FEATUREslb1HTJST'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'cn-hangzhou', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the SLB instance is deployed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1uaunez0uho0zf0****', - ], + 'schema' => ['description' => 'The ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3ahl******', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'VServerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The name of the vServer group.'."\n" + ."\n" + .'The name must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.),and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'Group1', 'title' => ''], + ], + [ + 'name' => 'BackendServers', + 'in' => 'query', + 'schema' => ['description' => 'The backend servers that you want to add. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: required. The ID of the backend server. Specify the ID in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set ServerId to the ID of an ENI or an elastic container instance, you must configure the Type parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: 0 to 100. Default value: 100. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: optional. The description of the backend server. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs (default)**: ECS instance'."\n" + ."\n" + .' - **eni**: ENI.'."\n" + ."\n" + .' - **eni**: elastic container instance.'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" + ."\n" + .'- **ServerIp**: The IP address of the ECS instance or ENI.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Add an ECS instance:'."\n" + ."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI with multiple IP addresses:'."\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" + .'- Add an elastic container instance:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -9180,1017 +3708,439 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclType' => [ - 'description' => 'The type of the ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .'If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .'If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> This parameter is required when **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'white', - ], - 'VServerGroupId' => [ - 'description' => 'The ID of the associated server group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopped**'."\n", - 'type' => 'string', - 'example' => 'stopped', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'Cookie' => [ - 'description' => 'The cookie that is configured on the server.'."\n", - 'type' => 'string', - 'example' => 'testCookie', - ], - 'Gzip' => [ - 'description' => 'Indicates whether `Gzip` compression is enabled to compress specific types of files. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'> This parameter takes effect only when **HealthCheck** is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'Description' => [ - 'description' => 'The name of the listener.'."\n", - 'type' => 'string', - 'example' => 'HTTP_80', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n" - ."\n" - .'* **-1**: If -1 is returned, it indicates that the bandwidth of the listener is unlimited.'."\n" - .'* **1 to 5120**: If a value from 1 to 5120 is returned, the value indicates the maximum bandwidth of the listener. The sum of the maximum bandwidth of all listeners added to a CLB instance does not exceed the maximum bandwidth of the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The timeout period of each health check. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AclStatus' => [ - 'description' => 'Indicates whether access control is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'BackendServerPort' => [ - 'description' => 'The backend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'CookieTimeout' => [ - 'description' => 'The timeout period of a cookie. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that you want to use for health checks.'."\n", - 'type' => 'string', - 'example' => 'www.domain.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The unhealthy threshold.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'ForwardPort' => [ - 'description' => 'The listener port that is used to redirect HTTP requests to HTTPS.'."\n" - ."\n" - .'> If the **ListenerForward** parameter is set to **off**, this parameter is not displayed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'XForwardedFor_SLBID' => [ - 'description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'SecurityStatus' => [ - 'description' => 'Indicates whether the listener is in the Secure state. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code for a successful health check.'."\n", - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'ListenerForward' => [ - 'description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor' => [ - 'description' => 'Indicates whether the `X-Forwarded-For` header is used to preserve the real IP address of the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period of an idle connection. Unit: seconds.'."\n" - ."\n" - .'Default value: **15**. Valid values: **1 to 60**.'."\n" - ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RequestTimeout' => [ - 'description' => 'The timeout period of a request. Unit: seconds.'."\n" - ."\n" - .'Default value: **60**. Valid values: **1 to 180**.'."\n" - ."\n" - .'If no response is received from a backend server within the specified timeout period, CLB returns the HTTP 504 status code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheckURI' => [ - 'description' => 'The URL path that is used for health checks.'."\n" - ."\n" - .'The URI must be 1 to 80 characters in length, and can contain only digits, letters, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n", - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'StickySessionType' => [ - 'description' => 'The method that is used to handle a cookie.'."\n" - ."\n" - .'Valid values: **insert** and **server**.'."\n" - ."\n" - .'* **insert**: inserts a cookie.'."\n" - ."\n" - .' CLB inserts a session cookie (SERVERID) into the first HTTP or HTTPS response that is sent to a client. Subsequent requests to CLB carry this cookie, and CLB determines the destination servers of the requests based on the cookies.'."\n" - ."\n" - .'* **server**: rewrites a cookie.'."\n" - ."\n" - .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener forwards this request to the recorded backend server.'."\n" - ."\n" - .'> This parameter is required when **StickySession** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'insert ', - ], - 'AclId' => [ - 'description' => 'The ID of the network ACL that is associated with a listener.'."\n" - ."\n" - .'> This parameter is returned when **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'acl-uf60jw******', - ], - 'Scheduler' => [ - 'description' => 'The routing algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* \\*\\* rr\\*\\*: Requests are sequentially distributed to backend servers.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthyThreshold' => [ - 'description' => 'The healthy threshold.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_proto' => [ - 'description' => 'Indicates whether the `X-Forwarded-Proto` header is used to retrieve the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => 'Indicates whether the `SLB-IP` header is used to retrieve the virtual IP address requested by the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method used by HTTP listeners. Valid values: **head** and **get**.'."\n" - ."\n" - .'> This parameter is returned when **HealthCheck** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'get', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclId' => [ - 'description' => 'The ID of the access control list (ACL).'."\n", - 'type' => 'array', - ], - ], - ], - 'Rules' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Rule' => [ - 'description' => 'The list of forwarding rules.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the server group specified in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rsp-uf6w******', - ], - 'Url' => [ - 'description' => 'The request URL.'."\n", - 'type' => 'string', - 'example' => '/example', - ], - 'Domain' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RuleName' => [ - 'description' => 'The name of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RuleId' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => '1234', - ], - ], - 'description' => 'The forwarding rules.'."\n", - ], - ], - ], - ], - 'LoadBalancerId' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1uaunez0uho0zf0****', - ], - 'Tags' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'example' => 'rsp-cige6******', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.'."\n", + 'BackendServer' => [ + 'description' => 'The list of backend servers.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The backend servers.', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag value cannot be an empty string. The tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): ECS instance'."\n" + ."\n" + .'- **eni**: elastic network interface (ENI)'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'eni', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the vServer group.', 'type' => 'string', 'example' => 'vServer group', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the ECS instance or ENI.', 'type' => 'string', 'example' => 'eni-hhshhs****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeLoadBalancerHTTPListenerAttribute', - 'description' => '* A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~27577~~).'."\n" - .'* An HTTP listener is created. For more information about how to create an HTTP listener, see [CreateLoadBalancerHTTPListener](~~27592~~).', + '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' => ''], + ['errorCode' => 'OperationUnsupported.CreateVServerGroup', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => ''], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'IncorrectStatus.CenNotAssociated', 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.MissingCenBandWidth', 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.VpcNotInCen', 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'description' => ''], + ['errorCode' => 'InvalidServerId.NotExist', 'errorMessage' => 'The specified ServerId is not exist.', 'description' => ''], + ['errorCode' => 'MissingParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is required.', 'description' => ''], + ['errorCode' => 'MissingParameter.VbrId', 'errorMessage' => 'The parameter VbrId is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', 'description' => ''], + ['errorCode' => 'InvalidVbrId.NotInCen', 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', 'description' => ''], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => ''], + ['errorCode' => 'NetworkConflict', 'errorMessage' => '%s.', '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' => '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 error'], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'CreateVServerGroup', + 'summary' => 'Creates a vServer group and adds backend servers to the vServer group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateLoadBalancerHTTPSListener' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-08-26T06:38:01.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-10-13T07:59:49.000Z', 'description' => 'Error codes changed'], + ], + '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' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88526', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6earr****', - ], + 'schema' => ['description' => 'The region ID of the ACL.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Bandwidth', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n" - ."\n" - .'The URL must meet the following requirements:'."\n" - ."\n" - .'* **-1**: For a pay-by-data-transfer Internet-facing CLB instance, this parameter is set to -1. This indicates that the bandwidth of the listener is unlimited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'BackendServerPort', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend port that is used by the CLB instance. Valid values: **1** to **65535**.'."\n" - ."\n" - .'If the VServerGroupId parameter is not set, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The ACL ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43kz******', 'title' => ''], ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', 'title' => ''], ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve client IP addresses. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', - ], - ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - 'default' => 'wrr', - ], - ], - [ - 'name' => 'StickySession', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'Specifies whether to enable session persistence. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'on', - 'default' => 'off', - ], - ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to handle a cookie. Valid values: **insert** and **server**.'."\n" - ."\n" - .'* **insert**: inserts a cookie.'."\n" - ."\n" - .' CLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" - ."\n" - .'* **server**: rewrites a cookie.'."\n" - ."\n" - .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener will distribute the request to the recorded backend server.'."\n" - ."\n" - .'> This parameter is required if the **StickySession** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'insert ', - ], - ], - [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a cookie. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **86400**.'."\n" - ."\n" - .'> If **StickySession** is set to **on** and **StickySessionType** is set to **insert**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '500', - ], - ], - [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cookie that you configure for the server.'."\n" - ."\n" - .'The cookie must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), spaces, or start with a dollar sign ($).'."\n" - ."\n" - .'> This parameter is required when the **StickySession** parameter is set to **on** and the **StickySessionType** parameter is set to **server**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HealthCheck', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'on', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'OperationFailed.AclBindedWithVip', 'errorMessage' => 'The ACL has binded with vip.', 'description' => ''], ], - [ - 'name' => 'HealthCheckMethod', - 'in' => 'query', - 'schema' => [ - 'description' => 'The health check method used in HTTP health checks. Valid values: **head** and **get**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'get', + ], + 'title' => 'DeleteAccessControlList', + 'summary' => 'Deletes an access control list (ACL).', + 'description' => 'You can delete an ACL only if it is not associated with a listener.', + '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' => 'Deletes the access log of a Classic Load Balancer (CLB) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: the private IP address of a backend server. If you do not set the HealthCheckDomain parameter or set the parameter to $\\_ip, the CLB instance uses the private IP address of each backend server for health checks.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length and can contain letters, digits, periods (.), and hyphens (-).'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.16', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'HealthCheckURI', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URI that is used for health checks.'."\n" - ."\n" - .'The URI must be 1 to 80 characters in length, and can contain letters, digits, and the following special characters: `-/.%?#&`. The URI must start with a forward slash (`/`), but cannot be a single forward slash (`/`).'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HealthyThreshold', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', 'title' => ''], ], [ - 'name' => 'UnhealthyThreshold', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => false, 'example' => 'lb-uf68ps3rekbljmdb0****', 'title' => ''], ], [ - 'name' => 'HealthCheckTimeout', + 'name' => 'LogsDownloadAttributes', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds Valid values: **1** to **300**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '3', - ], + 'schema' => ['description' => 'The access log forwarding rule. Parameters:'."\n" + ."\n" + .'- **LogProject**: the name of the project of Log Service.'."\n" + ."\n" + .'- **LogStore**: the name of the Logstore of Log Service.'."\n" + ."\n" + .'- **LoadBalancerId**: the ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]', 'title' => ''], ], - [ - 'name' => 'HealthCheckConnectPort', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '8080', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HealthCheckInterval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **50**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The AccessLogDownloadAttribute not exists.', 'description' => ''], ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" - ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteAccessLogsDownloadAttribute', + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9C****\\"\\n}","type":"json"}]', + ], + 'DeleteCACertificate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'idkp-123-cn-test-****', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'VServerGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j5e7p****', - ], + 'schema' => ['description' => 'The region of the CA certificates.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the certification authority (CA) certificate.'."\n" - ."\n" - .'If both the CA certificate and the server certificate are uploaded, mutual authentication is used.'."\n" - ."\n" - .'If you upload only the server certificate, one-way authentication is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139a00604ad-cn-east-hangzh****', - ], + 'schema' => ['description' => 'The CA certificate ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '123157908xxxxxxx_15c73d77203_-986300114_-2110544xxx', 'title' => ''], ], - [ - 'name' => 'XForwardedFor_SLBIP', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address of the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'XForwardedFor_SLBID', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'CertificateAndPrivateKeyIsRefered', 'errorMessage' => 'The specified certificate is bound to listeners. You cannot delete it.', 'description' => 'The specified Certificate is related with listeners.'], ], - [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'off', - ], + ], + 'title' => 'DeleteCACertificate', + 'summary' => 'Deletes a certificate authority (CA) certificate.', + 'description' => 'You cannot delete a CA certificate that is in use.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCACertificate'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'Gzip', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable `GZIP` compression to compress specific types of files. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - 'default' => 'on', + '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' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" - ."\n" - .'> This parameter is required if **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacl-a2do9e413e0spzasx****', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'AclType', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the network ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios in which you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the allowlist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .' If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are denied. The blacklist applies to scenarios in which you want to deny access from specific IP addresses to an application.'."\n" - ."\n" - .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> If **AclStatus** is set to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AclStatus', + 'name' => 'DomainExtensionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The ID of the additional domain name that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'de-bp1rp7ta1****', 'title' => ''], ], - [ - 'name' => 'Description', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the listener.'."\n" - ."\n" - .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTPS_443', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '149A2470-F010-4437-BF68-343******', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of an idle connection. Valid values: **1 to 60**. Default value: **15**. Unit: seconds.'."\n" - ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '12', - ], + ], + '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' => ''], ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a request. Valid values: **1 to 180**. Default value: **60**. Unit: seconds.'."\n" - ."\n" - .'If no response is received from a backend server within the specified timeout period, CLB returns the HTTP 504 status code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '23', - ], + ], + 'title' => 'DeleteDomainExtension', + 'summary' => 'Deletes an additional domain name.', + 'changeSet' => [ + ['createdAt' => '2024-01-16T06:27:43.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDomainExtension'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'EnableHttp2', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable HTTP/2. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', + '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' => 'Deletes a pay-as-you-go Server Load Balancer (SLB) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'TLSCipherPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Transport Layer Security (TLS) security policy. Each security policy contains TLS protocol versions and cipher suites available for HTTPS.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_0**:'."\n" - ."\n" - .' Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_1**:'."\n" - ."\n" - .' Supported TLS versions: TLS 1.1 and TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2**'."\n" - ."\n" - .' Supported TLS version: TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" - ."\n" - .' Supported TLS version: TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" - ."\n" - .' Supported TLS versions: TLS 1.2 and TLS 1.3'."\n" - ."\n" - .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tls_cipher_policy_1_1', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'XForwardedFor_SLBPORT', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The region ID of the SLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The SLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1h66tp5uat8********', 'title' => ''], ], ], 'responses' => [ @@ -10198,788 +4148,475 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => '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":"<CreateLoadBalancerHTTPSListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</CreateLoadBalancerHTTPSListenerResponse>","errorExample":""}]', - 'title' => 'CreateLoadBalancerHTTPSListener', - 'summary' => 'Creates an HTTPS listener.', - 'description' => 'A newly created listener is in the **stopped** state. After a listener is created, you can call the [StartLoadBalancerListener](~~27597~~) operation to start the listener. After the listener is started, the listener can forward traffic to backend servers.'."\n" - ."\n" - .'## Prerequisites'."\n" - ."\n" - .'A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](https://www.alibabacloud.com/help/en/server-load-balancer/latest/createloadbalancer-2).', + 'title' => 'DeleteLoadBalancer', + 'description' => '> The listeners and tags of the SLB instance are deleted along with the SLB instance.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetLoadBalancerHTTPSListenerAttribute' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-10-18T15:20:38.000Z', 'description' => 'Error codes changed'], ], - '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' => '88669', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - ], + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the CLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n" + ."\n" + .'> The **RegionId** parameter is required if the endpoint of the region is slb.aliyuncs.com.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-sjhfdji****', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp13jaf5qli5xmgl1miup', 'title' => ''], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'Bandwidth', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* **-1**: If you set the value to -1, the bandwidth of the listener is unlimited.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '5120', - 'minimum' => '-1', - 'example' => '-1', - ], + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required if the same port is specified for listeners of different protocols.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], - [ - 'name' => 'XForwardedFor', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve client IP addresses. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Scheduler', - 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n", - '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' => ''], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified listener is not allowed to operate.', 'description' => ''], ], - [ - 'name' => 'StickySession', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable session persistence. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 404 => [ + ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified listener is not found.', 'description' => ''], ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to handle a cookie. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie.'."\n" - ."\n" - .' CLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" - ."\n" - .'* **server**: rewrites a cookie.'."\n" - ."\n" - .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client will contain the user-defined cookie, and the listener will distribute this request to the recorded backend server.'."\n" - ."\n" - .'> This parameter is required if the **StickySession** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], + ], + 'title' => 'DeleteLoadBalancerListener', + 'summary' => 'Deletes a listener.', + 'description' => '> You can delete only listeners that are in the **stopped** or **running** state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-12-20T09:41:13.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancerListener'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of the cookie. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **86400**.'."\n" - ."\n" - .'> This parameter is required if the **StickySession** parameter is set to **on** and the **StickySessionType** parameter is set to **insert**.'."\n", - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteMasterSlaveServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cookie that you want to configure for the server.'."\n" - ."\n" - .'The cookie must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or space characters. It cannot start with a dollar sign ($).'."\n" - ."\n" - .'> This parameter is required when you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **server**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testCookie', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'HealthCheck', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable health checks. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HealthCheckMethod', + 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP method that is used for health checks. Valid values: **head** and **get**.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'get', - ], + 'schema' => ['description' => 'The primary/secondary server group ID.'."\n" + ."\n" + .'> You cannot delete a primary/secondary server group that is in use.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6******', 'title' => ''], ], - [ - 'name' => 'HealthCheckDomain', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: the private IP address of a backend server. If you do not set this parameter or set the parameter to $\\_ip, the CLB instance uses the private IP address of each backend server as the domain name for health checks.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.),and hyphens (-).'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '172.XX.XX.16', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'HealthCheckURI', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL that is used for health checks.'."\n" - ."\n" - .'The URL must be 1 to 80 characters in length and can contain letters, digits, and the following characters: - / . % ? # &. The URL must not be a single forward slash (/) but it must start with a forward slash (/).'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/test/index.html', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'RspoolVipExist', 'errorMessage' => 'there are vips associating with this vServer group.', 'description' => 'The specified virtual server group already has a listener bound.'], ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of health checks that an unhealthy backend server must consecutively pass before it can be declared healthy (from **fail** to **success**).'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + ], + 'title' => 'DeleteMasterSlaveServerGroup', + 'summary' => 'Deletes a primary/secondary server group.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteMasterSlaveServerGroup'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of health checks that a healthy backend server must consecutively fail before it can be declared unhealthy (from **success** to **fail**).'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","type":"json"}]', + ], + 'DeleteRules' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'HealthCheckTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds Valid values: **1** to **300**.'."\n" - ."\n" - .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.'."\n", - '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' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" - ."\n" - .'Valid values: **1** to **50**.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '5', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'RuleIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '-520', - 'example' => '8080', - ], + 'schema' => ['description' => 'The list of forwarding rules that you want to delete.'."\n" + ."\n" + .'> The RuleIds parameter is required. You can specify up to 10 forwarding rules in each request.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '["rule-bp1z9ce******","rule-bp1tuc******4"]', 'title' => ''], ], - [ - 'name' => 'HealthCheckHttpCode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The HTTP status code of a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" - ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" - ."\n" - .'> This parameter takes effect only when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http_2xx,http_3xx', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'idkp-123-cn-te****', - ], + ], + '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' => 'CACertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CA certificate.'."\n" - ."\n" - .'* If both the CA certificate and the server certificate are uploaded, mutual authentication is used.'."\n" - .'* If you upload only the server certificate, one-way authentication is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139a00604ad-cn-east-****', + ], + 'title' => 'DeleteRules', + 'summary' => 'Deletes forwarding rules.', + 'description' => 'You must specify at least one forwarding rule that you want to delete. You can specify at most 10 forwarding rules in each call.', + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","type":"json"}]', + ], + 'DeleteServerCertificate' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VServerGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use a vServer group. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'VServerGroupId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6j****', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'XForwardedFor_SLBIP', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-IP` header to obtain the virtual IP address (VIP) requested by the client. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + 'schema' => ['description' => 'The server certificate ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '123157xxxxxxx_166f8204689_1714763408_7099*******', 'title' => ''], ], - [ - 'name' => 'XForwardedFor_SLBID', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'XForwardedFor_proto', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + ], + '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' => 'The specified Certificate is related with listeners.'], ], - [ - 'name' => 'Gzip', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable `Gzip` compression to compress specific types of files. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'on', - ], + ], + 'title' => 'DeleteServerCertificate', + 'summary' => 'Deletes a server certificate.', + 'description' => '> You cannot delete server certificates that are in use.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerCertificate'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" - ."\n" - .'This parameter is required if **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacl-a2do9e413e0spzasx****', + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteTLSCipherPolicy' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AclType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of network ACL. Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your business may be adversely affected if the whitelist is not set properly. After a whitelist is configured, only IP addresses in the whitelist can access the CLB listener.'."\n" - ."\n" - .' If no IP address is added to the whitelist, the CLB listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are denied. Blacklists apply to scenarios where you want to deny access from specified IP addresses to an application.'."\n" - ."\n" - .' If no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> This parameter takes effect only when **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'white', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'AclStatus', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable access control. Valid values:'."\n" - ."\n" - .'* **on**: enables access control'."\n" - .'* **off**: disables access control'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'IdleTimeout', + 'name' => 'TLSCipherPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1 to 60**. Default value: **15**.'."\n" - ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When another request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '23', - ], + 'schema' => ['description' => 'The ID of the TLS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tls-bp1lp2076qx4ebridp******', 'title' => ''], ], - [ - 'name' => 'RequestTimeout', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The timeout period of a request. Unit: seconds. Valid values: **1 to 180**. Default value: **60**.'."\n" - ."\n" - .'If no response is received from the backend server during the request timeout period, CLB sends an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '9999', - 'minimum' => '1', - 'example' => '223', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EnableHttp2', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use `HTTP 2.0`. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParam.TLSCipherPolicyId', 'errorMessage' => 'The param TLSCipherPolicyId is missing.', 'description' => ''], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => ''], + ['errorCode' => 'TLSPolicyBeingUsed', 'errorMessage' => 'The specified TLS cipher policy is being used.', 'description' => ''], + ['errorCode' => 'InvalidTLSPolicyId.NotExist', 'errorMessage' => 'The specified TLS cipher policy does not exist.', 'description' => ''], + ['errorCode' => 'TLSPolicyRelated', 'errorMessage' => 'The specified TLS cipher policy is related with listeners.', 'description' => ''], + ], + ], + 'title' => 'DeleteTLSCipherPolicy', + 'summary' => 'Deletes a TLS policy.', + 'description' => '## Debugging'."\n" + ."\n" + .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Slb\\&api=DeleteTLSCipherPolicy\\&type=RPC\\&version=2014-05-15)', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTLSCipherPolicy'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'TLSCipherPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Transport Layer Security (TLS) security policy. Each security policy contains TLS protocol versions and cipher suites available for HTTPS.'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_0**:'."\n" - ."\n" - .' Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_1**:'."\n" - ."\n" - .' Supported TLS versions: TLS 1.1 and TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2**'."\n" - ."\n" - .' Supported TLS version: TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" - ."\n" - .' Supported TLS version: TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" - ."\n" - .' Supported TLS versions: TLS 1.2 and TLS 1.3'."\n" - ."\n" - .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tls_cipher_policy_1_2', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#TLSCipherPolicyId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'DeleteVServerGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the listener.'."\n" - .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_).', - 'type' => 'string', - 'required' => false, - 'example' => 'https_80', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ [ - 'name' => 'XForwardedFor_SLBPORT', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the CLB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The ID of the region to which the associated Server Load Balancer (SLB) instance belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'XForwardedFor_ClientSrcPort', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The ID of the VServer group to be deleted.'."\n" + ."\n" + .'> If the VServer group is in use, it cannot be deleted.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6j*****', 'title' => ''], ], ], 'responses' => [ @@ -10987,152 +4624,53 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'RspoolVipExist', 'errorMessage' => 'there are vips associating with this vServer group.', 'description' => 'The specified virtual server group already has a listener bound.'], ], ], - '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' => 'SetLoadBalancerHTTPSListenerAttribute', - 'summary' => 'Modifies the configurations of an HTTPS listener.', - 'description' => '* A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~27577~~).'."\n" - .'* An HTTPS listener is created. For more information about how to create an HTTPS listener, see [CreateLoadBalancerHTTPSListener](~~27593~~).', + 'title' => 'DeleteVServerGroup', + 'summary' => 'Deletes a VServer group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeLoadBalancerHTTPSListenerAttribute' => [ - 'summary' => 'Queries the configurations of an HTTPS listener.', - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B******\\"\\n}","type":"json"}]', + ], + 'DescribeAccessControlListAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11142,48 +4680,35 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '88578', - 'abilityTreeNodes' => [ - 'FEATUREslb91TBWT', - ], + 'abilityTreeNodes' => ['FEATUREslbEDXHGI', 'FEATUREslb3KZE2S'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the ACL.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1mxu5r8lau****', - ], + 'schema' => ['description' => 'The ID of the ACL that you want to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1ut10zzvh1y8dfs****', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'AclEntryComment', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The remarks of the ACL entry.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'Page', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -11191,560 +4716,210 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclType' => [ - 'description' => 'The type of the access control list (ACL). Valid values:'."\n" - ."\n" - .'* **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" - ."\n" - .'If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" - ."\n" - .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" - ."\n" - .'If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" - ."\n" - .'> This parameter is required when **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'white', - ], - 'XForwardedFor_ClientCertClientVerify' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertClientVerify` header is used to retrieve the verification result of the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'CACertificateId' => [ - 'description' => 'The ID of the certification authority (CA) certificate.'."\n", - 'type' => 'string', - 'example' => 'idkp-234-cn-test-0**', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF3********', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The port that is used for health checks.'."\n" - ."\n" - .'> This parameter is required when **HealthCheck** is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'BackendServerPort' => [ - 'description' => 'The backend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'CookieTimeout' => [ - 'description' => 'The timeout period of a cookie.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that you want to use for health checks.'."\n", - 'type' => 'string', - 'example' => 'www.test.com', - ], - 'XForwardedFor' => [ - 'description' => 'Indicates whether the `X-Forwarded-For` header is used to retrieve client IP addresses. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_ClientCertFingerprint' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertFingerprint` header is used to retrieve the fingerprint of the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'IdleTimeout' => [ - 'description' => 'The timeout period of an idle connection. Valid values: **1** to **60**. Default value: **15**. Unit: seconds.'."\n" - ."\n" - .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '23', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HealthCheckURI' => [ - 'description' => 'The URL path that is used for health checks.'."\n", - 'type' => 'string', - 'example' => '/test/index.html', - ], - 'XForwardedFor_SLBPORT' => [ - 'description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listening port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'StickySessionType' => [ - 'description' => 'The method that is used to handle a cookie.'."\n" - ."\n" - .'Valid values: **insert** and **server**.'."\n" - ."\n" - .'* **insert**: inserts a cookie.'."\n" - ."\n" - .' CLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" - ."\n" - .'* **server**: rewrites a cookie.'."\n" - ."\n" - .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener will distribute the request to the recorded backend server.'."\n", - 'type' => 'string', - 'example' => 'insert', - ], - 'Scheduler' => [ - 'description' => 'The routing algorithm. Valid values: **wrr** and **rr**.'."\n" - ."\n" - .'* **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'XForwardedFor_proto' => [ - 'description' => 'Indicates whether the `X-Forwarded-Proto` header is used to retrieve the listener protocol. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckMethod' => [ - 'description' => 'The health check method used by HTTP listeners. Valid values: **head** and **get**.'."\n" - ."\n" - .'> This parameter is available only when **HealthCheck** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'get', - ], - 'TLSCipherPolicy' => [ - 'description' => 'The Transport Layer Security (TLS) security policy for a high-performance CLB instance.'."\n" - ."\n" - .'Each security policy contains TLS protocol versions and cipher suites available for HTTPS. Valid values:'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_0**:'."\n" - ."\n" - .' Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_1**:'."\n" - ."\n" - .' Supported TLS versions: TLS 1.1 and TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2**'."\n" - ."\n" - .' Supported TLS version: TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: 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, and DES-CBC3-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict**'."\n" - ."\n" - .' Supported TLS version: TLS 1.2'."\n" - ."\n" - .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA'."\n" - ."\n" - .'* **tls_cipher_policy\\_1\\_2\\_strict_with\\_1\\_3**'."\n" - ."\n" - .' Supported TLS versions: TLS 1.2 and TLS 1.3'."\n" - ."\n" - .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA'."\n", - 'type' => 'string', - 'example' => 'tls_cipher_policy_1_0', - ], - 'Status' => [ - 'description' => 'The status of the listener. Valid values:'."\n" - ."\n" - .'* **running**'."\n" - .'* **stopped**'."\n", - 'type' => 'string', - 'example' => 'stopped', - ], - 'VServerGroupId' => [ - 'description' => 'The ID of the associated server group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j5e********', - ], - 'XForwardedFor_ClientSrcPort' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'Cookie' => [ - 'description' => 'The cookie that is configured on the server.'."\n", - 'type' => 'string', - 'example' => 'testCookie', - ], - 'Gzip' => [ - 'description' => 'Indicates whether `Gzip` compression is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'EnableHttp2' => [ - 'description' => 'Indicates whether `HTTP/2` is used. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'Bandwidth' => [ - 'description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Description' => [ - 'description' => 'The name of the listener.'."\n", - 'type' => 'string', - 'example' => 'HTTPS_443', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The maximum timeout period of a health check. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'AclStatus' => [ - 'description' => 'Indicates whether access control is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The unhealthy threshold.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBID' => [ - 'description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the ALB instance. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'XForwardedFor_ClientCertSubjectDN' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertSubjectDN` header is used to retrieve information about the owner of the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'SecurityStatus' => [ - 'description' => 'Indicates whether the listener is in the Secure state. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code for a successful health check.'."\n", - 'type' => 'string', - 'example' => 'http_2xx,http_3xx', - ], - 'RequestTimeout' => [ - 'description' => 'The timeout period of a request. Valid values: **1** to **180**. Default value: **60**. Unit: seconds.'."\n" - ."\n" - .'If no response is received from a backend server within the specified timeout period, CLB returns the HTTP 504 status code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '43', - ], - 'HealthCheckInterval' => [ - 'description' => 'The interval at which health checks are performed. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'ServerCertificateId' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'example' => 'idkp-123-cn-test-0**', - ], - 'AclId' => [ - 'description' => 'The ID of the network ACL that is associated with a listener.'."\n" - ."\n" - .'> This parameter is required when **AclStatus** is set to **on**.'."\n", - 'type' => 'string', - 'example' => 'acl-a2do9e413e0spzasx****', - ], - 'XForwardedFor_ClientCertIssuerDN' => [ - 'description' => 'Indicates whether the `XForwardedFor_ClientCertIssuerDN` header is used to retrieve information about the authority that issues the client certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => 'The healthy threshold.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'XForwardedFor_SLBIP' => [ - 'description' => 'Indicates whether the `SLB-IP` header is used to retrieve the virtual IP address requested by the client. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'StickySession' => [ - 'description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'AclIds' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclId' => [ - 'description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n", - 'type' => 'array', - ], - ], - ], - 'Rules' => [ + 'AclId' => ['description' => 'The ACL ID.', 'type' => 'string', 'example' => 'acl-bp1ut10zzvh1y8dfs****', 'title' => ''], + 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Rule' => [ - 'description' => 'The list of forwarding rules that are associated with the listener.'."\n", + 'Tag' => [ + 'description' => 'The tags added to the ACL.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the server group specified in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j5e********', - ], - 'Url' => [ - 'description' => 'The request URL.'."\n", - 'type' => 'string', - 'example' => '/example', - ], - 'Domain' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RuleName' => [ - 'description' => 'The name of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'RuleId' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => '23', - ], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'DomainExtensions' => [ + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'AddressIPVersion' => ['description' => 'The IP version. Valid values: **ipv4** and **ipv6**.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C9906A1D-86F7-4C9C-A369-54DA42EF206A', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmz3jksig****', 'title' => ''], + 'AclName' => ['description' => 'The ACL name.', 'type' => 'string', 'example' => 'doctest', 'title' => ''], + 'AclEntrys' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DomainExtension' => [ - 'description' => 'A list of additional certificates.'."\n", + 'AclEntry' => [ + 'description' => 'The information about the access control policy.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'ServerCertificateId' => [ - 'description' => 'The ID of the certificate used by the domain name.'."\n", - 'type' => 'string', - 'example' => '13344444****', - ], - 'Domain' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'DomainExtensionId' => [ - 'description' => 'The ID of the additional certificate.'."\n", - 'type' => 'string', - 'example' => '12', - ], + 'AclEntryComment' => ['description' => 'The remarks of the ACL entry.', 'type' => 'string', 'example' => 'The remarks of the ACL entry.', 'title' => ''], + 'AclEntryIP' => ['description' => 'The IP entry in the ACL.', 'type' => 'string', 'example' => '192.168.0.1', 'title' => ''], ], + 'description' => 'The information about the access control policy.', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LoadBalancerId' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1mxu5r8lau****', - ], - 'Tags' => [ + 'RelatedListeners' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.'."\n", + 'RelatedListener' => [ + 'description' => 'The listeners with which the ACL is associated.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The listeners that are associated with the network ACL.', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag value cannot be an empty string. The tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'ListenerPort' => ['description' => 'The frontend port of the listener with which the ACL is associated.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''], + 'AclType' => ['description' => 'The type of ACL. Valid values:'."\n" + ."\n" + .'- **black**'."\n" + ."\n" + .'- **white**', 'type' => 'string', 'example' => 'white', 'title' => ''], + 'Protocol' => ['description' => 'The type of protocol that the associated listener uses.', 'type' => 'string', 'example' => 'https', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'example' => 'lb-bp1qpzldlm38bnexl****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The time when the ACL was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z', 'title' => ''], + 'TotalAclEntry' => ['description' => 'The total number of ACL entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeLoadBalancerHTTPSListenerAttribute', - 'description' => '* A Classic Load Balancer (CLB) instance is created. For more information, see [CreateLoadBalancer](~~27577~~).'."\n" - .'* An HTTPS listener is created. For more information about how to create an HTTPS listener, see [CreateLoadBalancerHTTPSListener](~~27593~~).'."\n", + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeAccessControlListAttribute', + 'summary' => 'Queries the configuration of an access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateRules' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-03-21T06:22:42.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => 'Response parameters changed'], ], - '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' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', + 'abilityTreeNodes' => ['FEATUREslbEDXHGI', 'FEATUREslb3KZE2S'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the ACL.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'AclName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ca0zt07t934w******', - ], + 'schema' => ['description' => 'The ACL name. The ACL name. The name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), hyphens (-), forward slashes (/), and underscores (\\_). The name of each ACL must be unique within a region. Fuzzy match is supported.', 'type' => 'string', 'required' => false, 'example' => 'rule1', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'AddressIPVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend listener port that is used by the SLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '443', - ], + 'schema' => ['description' => 'The IP version of the Classic Load Balancer (CLB) instance with which the ACL is associated. Valid values:'."\n" + ."\n" + .'- **ipv4**'."\n" + ."\n" + .'- **ipv6**', 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the SLB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is used by listeners that use different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'RuleList', + 'name' => 'PageNumber', 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop4****', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The forwarding rules that you want to create. You can create at most 10 forwarding rules in each call. Each forwarding rule contains the following parameters:'."\n" - ."\n" - .'* **RuleName**: Required. The value must be of the STRING type. The name of the forwarding rule. The name must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_). Forwarding rule names must be unique within the same listener.'."\n" - .'* **Domain**: Optional. The value must be a string. The domain name that is associated with the forwarding rule. You must specify this parameter or the **URL** parameter.'."\n" - .'* **Url**: Optional. The value must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The value must be a string. The URL cannot be only a forward slash (/). However, it must start with a forward slash (/). You must specify this parameter or the **Domain** parameter.'."\n" - .'* **VServerGroupId**: Required. The value must be a string. The ID of the vServer group to be specified in the forwarding rule.'."\n" - ."\n" - .'> You must specify at least one between the `Domain` and `URL` parameters. You can also specify both. The combination of `Domain` and `Url` must be unique within the same listener.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"RuleName":"Rule2","Domain":"test.com","VServerGroupId":"rsp-bp114ni******"}]', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'Value' => ['description' => 'The tag value. You can specify at most 20 tag values. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value must be 1 to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -11753,372 +4928,404 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'Rules' => [ + 'PageNumber' => ['description' => 'The number of the returned page. Pages start from page **1**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on each page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3CB646EF-6147-4566-A9D9-CE8FBE86F971', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of ACLs.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Count' => ['description' => 'The number of ACLs on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Acls' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Rule' => [ - 'description' => 'The forwarding rules.'."\n", + 'Acl' => [ + 'description' => 'A list of ACLs.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ - 'RuleName' => [ - 'description' => 'The name of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'Rule2', - ], - 'RuleId' => [ - 'description' => 'The forwarding rule ID.'."\n", - 'type' => 'string', - 'example' => 'rule-bp12jzy0*****', + 'AclId' => ['description' => 'The ACL ID.', 'type' => 'string', 'example' => 'acl-bp1l0kk4gxce43k*****', 'title' => ''], + 'AddressIPVersion' => ['description' => 'The IP version that is used by the CLB instance associated with the ACL.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'AclName' => ['description' => 'The ACL name.', 'type' => 'string', 'example' => 'rule1', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-jfenfbp1lhl0****', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The list of tags added to the network ACL. The value of this parameter must be a STRING list in the JSON format.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'example' => '{"Key":"test","Value":"value"}', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z', 'title' => ''], ], - 'enumValueTitles' => [], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['errorCode' => 'InvalidResourceGroupId.NotFound', 'errorMessage' => 'The specified ResourceGroupId is not found.', 'description' => ''], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], ], - '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' => 'CreateRules', - 'summary' => 'Creates forwarding rules for an HTTP or HTTPS listener.', + 'title' => 'DescribeAccessControlLists', + 'summary' => 'Queries access control lists (ACLs).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetRule' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-04T11:57:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => 'Response parameters changed'], + ], + '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/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeAccessLogsDownloadAttribute' => [ + 'summary' => 'Queries the access log of a Classic Load Balancer (CLB) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RuleId', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rule-3ejhkt****', - ], + 'schema' => ['description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n" + ."\n" + .'You can specify up to 10 tags in each call.', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group that is associated with the forwarding rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rsp-cige6****', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1b6c719dfa08ex*****', 'title' => ''], ], [ - 'name' => 'RuleName', + 'name' => 'LogType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the forwarding rule. The name must be 1 to 40 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" - ."\n" - .'> On the same listener, the forwarding rule names must be unique.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'doctest', - ], + 'schema' => ['description' => 'The type of access log. Set the value to **layer7**, which specifies Layer 7 access logs.', 'type' => 'string', 'required' => false, 'default' => 'layer7', 'example' => 'layer7', 'title' => ''], ], [ - 'name' => 'ListenerSync', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to use the scheduling algorithm, session persistence, and health check configurations of the listener. Valid values:'."\n" - ."\n" - .'* **on**: uses the configurations of the listener.'."\n" - .'* **off**: does not use the configurations of the listener. You can customize the health check and session persistence configurations for the forwarding rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'Scheduler', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **ListenerSync** parameter is set to **off**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'wrr', - ], + 'schema' => ['description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '20', 'example' => '10', 'title' => ''], ], - [ - 'name' => 'StickySession', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to enable session persistence. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n" - ."\n" - .'This parameter is required and takes effect if the **ListenerSync** parameter is set to **off**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', + 'type' => 'object', + 'properties' => [ + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'LogsDownloadAttributes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LogsDownloadAttribute' => [ + 'description' => 'The configuration of the access log.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LogProject' => ['description' => 'The name of the Log Service project.', 'type' => 'string', 'example' => 'test-log-project', 'title' => ''], + 'LogStore' => ['description' => 'The name of the Logstore.', 'type' => 'string', 'example' => 'test-log-store', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa08ex*****', 'title' => ''], + 'Region' => ['description' => 'The region ID of the CLB instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'LogType' => ['description' => 'The type of access log. Only **layer7** is returned, which indicates Layer 7 access logs.', 'type' => 'string', 'example' => 'layer7', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'StickySessionType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to handle a cookie. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie.'."\n" - ."\n" - .' CLB inserts the backend server ID as a cookie into the first HTTP or HTTPS response that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" - ."\n" - .'* **server**: rewrites a cookie.'."\n" - ."\n" - .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client will contain the user-defined cookie, and the listener will distribute this request to the recorded backend server.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **StickySession** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'insert', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeAccessLogsDownloadAttribute', + 'changeSet' => [ + ['createdAt' => '2022-12-22T02:24:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-09-19T06:14:08.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessLogsDownloadAttribute'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'CookieTimeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a cookie. Unit: seconds. Valid values: **1** to **86400**.'."\n" - ."\n" - .'> This parameter is required and takes effect if **StickySession** is set to **on** and **StickySessionType** is set to **insert**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '86400', - 'minimum' => '1', - 'example' => '123', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeAvailableResource' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Cookie', - 'in' => 'query', - 'schema' => [ - 'description' => 'The cookie that is configured on the server.'."\n" - ."\n" - .'The cookie must be 1 to 200 characters in length and can contain only ASCII characters and digits. It cannot contain commas (,), semicolons (;), or space characters. It cannot start with a dollar sign ($).'."\n" - ."\n" - .'> This parameter is required and takes effect if **StickySession** is set to **on** and **StickySessionType** is set to **server**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '23ffsa', - ], + 'AK' => [], ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ [ - 'name' => 'HealthCheck', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" - ."\n" - .'* **on**: yes'."\n" - .'* **off**: no'."\n" - ."\n" - .'> This parameter is required and takes effect if the **ListenerSync** parameter is set to **off**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'off', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'HealthCheckDomain', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: the private IP address of a backend server. If you do not set this parameter or set the parameter to $\\_ip, the SLB instance uses the private IP address of each backend server for health checks.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).'."\n" - ."\n" - .'> This parameter takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '$_ip', - ], + 'schema' => ['description' => 'The network type.'."\n" + ."\n" + .'Valid values: **vpc, classic-internet, and classic-intranet**.'."\n" + ."\n" + .'vpc: an internal Classic Load Balancer (CLB) instance that is deployed in a virtual private cloud (VPC).'."\n" + ."\n" + .'classic\\_internet: a public-facing CLB instance.'."\n" + ."\n" + .'classic\\_intranet: an internal CLB instance that is deployed in a classic network.', 'type' => 'string', 'required' => false, 'example' => 'vpc', 'title' => ''], ], [ - 'name' => 'HealthCheckURI', + 'name' => 'AddressIPVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The URI that is used for health checks.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/example', - ], + 'schema' => ['description' => 'The type of the IP address.'."\n" + ."\n" + .'Valid values: **ipv4 and ipv6**.', 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'title' => ''], ], - [ - 'name' => 'HealthyThreshold', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '173B0EEA-22ED-4EE2-91F9-3A1CDDFFBBBA', 'title' => ''], + 'AvailableResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AvailableResource' => [ + 'description' => 'The zones and the supported resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SlaveZoneId' => ['description' => 'The secondary zone.', 'type' => 'string', 'example' => 'cn-shanghai-b', 'title' => ''], + 'MasterZoneId' => ['description' => 'The primary zone.', 'type' => 'string', 'example' => 'cn-shanghai-a', 'title' => ''], + 'SupportResources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SupportResource' => [ + 'description' => 'The supported resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AddressType' => ['description' => 'The network type.'."\n" + ."\n" + .'Valid values: **vpc, classic-internet, and classic-intranet**.', 'type' => 'string', 'example' => 'vpc', 'title' => ''], + 'AddressIPVersion' => ['description' => 'The type of the IP address.'."\n" + ."\n" + .'Valid values: **ipv4 and ipv6**.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'DescribeAvailableResource', + 'summary' => 'Queries the available resources and resources that are available for purchase in the zones of a region.', + 'description' => '> Only the available resources and zones are returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-03-21T13:12:07.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'UnhealthyThreshold', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '10', - 'minimum' => '1', - 'example' => '4', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'list'], + 'parameters' => [ [ - 'name' => 'HealthCheckTimeout', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period of a health check response. If a backend server, such as an Elastic Compute Service (ECS) instance, does not return a health check response within the specified timeout period, the server fails the health check. Unit: seconds. Valid values: **1** to **300**.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '300', - 'minimum' => '1', - 'example' => '20', - ], + 'schema' => ['description' => 'The region of the CA certificates.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'HealthCheckInterval', + 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between two consecutive health checks. Unit: seconds. Valid values: **1** to **50**.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '20', - ], + 'schema' => ['description' => 'The CA certificate ID.', 'type' => 'string', 'required' => false, 'example' => '139a00604bd-cn-east-hangzho****', 'title' => ''], ], [ - 'name' => 'HealthCheckConnectPort', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The port that is used for health checks. Valid values: **1** to **65535**.'."\n" - ."\n" - .'> This parameter takes effect when the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****', 'title' => ''], ], [ - 'name' => 'HealthCheckHttpCode', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The HTTP status code for a successful health check. Multiple HTTP status codes are separated by commas (,).'."\n" - ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" - ."\n" - .'> This parameter is required and takes effect if the **HealthCheck** parameter is set to **on**.'."\n", - 'type' => 'string', + 'description' => 'The tags of the CA certificates.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'Value' => ['description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => 'http_2xx', + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -12127,78 +5334,137 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF******', 'title' => ''], + 'CACertificates' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CACertificate' => [ + 'description' => 'The information about the CA certificate.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CreateTimeStamp' => ['description' => 'The timestamp when the CA certificate was created. Unit: milliseconds.'."\n" + ."\n" + .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the CA certificate expires. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2024-11-21T06:04:25Z', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the CA certificate was created. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2021-08-31T02:49:05Z', 'title' => ''], + 'ExpireTimeStamp' => ['description' => 'The timestamp that indicates when the CA certificate expires. Unit: milliseconds.'."\n" + ."\n" + .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1732169065000', 'title' => ''], + 'CACertificateId' => ['description' => 'The CA certificate ID.', 'type' => 'string', 'example' => '139a00604bd-cn-east-hangzho****', 'title' => ''], + 'RegionId' => ['description' => 'The region of the CA certificate.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Fingerprint' => ['description' => 'The fingerprint of the CA certificate.', 'type' => 'string', 'example' => '79:43:fb:7d:a4:7f:44:32:61:16:57:17:e3:e8:b7:36:03:57:f6:89', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-atstuj3rtop****', 'title' => ''], + 'CommonName' => ['description' => 'The domain name of the CA certificate.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'CACertificateName' => ['description' => 'The CA certificate name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tag.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'Abs.CACertificateIdAndResourceGroupId.MissMatch', 'errorMessage' => 'CACertificateId or ResourceGroupId miss match.', 'description' => ''], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', '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' => 'SetRule', - 'summary' => 'Modifies a forwarding rule that is associated with a vServer group.', + 'title' => 'DescribeCACertificates', + 'summary' => 'Queries certificate authority (CA) certificates.', + 'description' => '> To ensure data confidentiality, only the certificate fingerprint and name are returned. The certificate content is not returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteRules' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-04T11:57:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCACertificates'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeDomainExtensionAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query region IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RuleIds', + 'name' => 'DomainExtensionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of forwarding rules that you want to delete.'."\n" - ."\n" - .'> The RuleIds parameter is required. You can specify up to 10 forwarding rules in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '["rule-bp1z9ce******","rule-bp1tuc******4"]', - ], + 'schema' => ['description' => 'The ID of the additional certificate.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'de-bp1r******', 'title' => ''], ], ], 'responses' => [ @@ -12206,48 +5472,57 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], + 'Domain' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '48C1B671-C6DB-4DDE-9B30-1055******', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'example' => 'lb-bp1o95i6*****', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port of the HTTPS listener that is configured for the SLB instance. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The ID of the server certificate used by the domain name.', 'type' => 'string', 'example' => '231579085529123_166f82******_1714763408_709981430', 'title' => ''], + 'DomainExtensionId' => ['description' => 'The ID of the additional certificate.', 'type' => 'string', 'example' => 'de-bp1rp******', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'InvalidParameter.DomainExtensionId', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParameter.DomainExtensionId', 'errorMessage' => 'The param DomainExtensionId is missing', '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' => 'DeleteRules', - 'summary' => 'Deletes forwarding rules.', - 'description' => 'You must specify at least one forwarding rule that you want to delete. You can specify at most 10 forwarding rules in each call.'."\n", + 'title' => 'DescribeDomainExtensionAttribute', + 'summary' => 'Queries the attributes of an additional domain name.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRuleAttribute' => [ - '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeDomainExtensions' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12255,33 +5530,27 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RuleId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rule-bp1efemp9****', - ], + 'schema' => ['description' => 'The SLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c08ex****', 'title' => ''], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The frontend port of the HTTPS listener that is configured for the SLB instance. Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '443', 'title' => ''], + ], + [ + 'name' => 'DomainExtensionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the additional certificate.', 'type' => 'string', 'required' => false, 'example' => 'de-bp1rp7ta1****', 'title' => ''], ], ], 'responses' => [ @@ -12289,211 +5558,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group that is associated with the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'Cookie' => [ - 'description' => 'The cookie to be configured on the backend server.'."\n" - ."\n" - .'The cookie must be 1 to 200 characters in length and can contain ASCII letters and digits. It cannot contain commas (,), semicolons (;), or whitespace characters. It cannot start with a dollar sign ($).'."\n" - ."\n" - .'If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **server**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'wwe', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1ca0zt07t934wxe****', - ], - 'RuleId' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rule-hfgnd*****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The backend port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1** to **65535**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required. If this parameter is empty but **HealthCheck** is set to **on**, the listener port is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '23', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check.'."\n" - ."\n" - .'Valid values: **1** to **300**. Unit: seconds.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'CookieTimeout' => [ - 'description' => 'The timeout period of a cookie.'."\n" - ."\n" - .'Valid values: **1 to 86400**. Unit: seconds.'."\n" - ."\n" - .'> If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **insert**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '12', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: The private IP address of the backend server. If the $\\_ip parameter is set or the HealthCheckDomain parameter is not set, SLB uses the private IP addresses of backend servers as the domain names for health checks.'."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length. It can contain only letters, digits, periods (.),and hyphens (-).'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'The number of consecutive failed health checks that must occur before a healthy backend server is declared unhealthy. In this case, the health check state is changed from **success** to **fail**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code that indicates a successful health check. Separate multiple HTTP status codes with commas (,). Default value: **http\\_2xx**.'."\n" - ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'http_3xx ', - ], - 'Domain' => [ - 'description' => 'The domain name that is configured in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'ListenerPort' => [ - 'description' => 'The listener port that is used by the SLB instance.'."\n", - 'type' => 'string', - 'example' => '90', - ], - 'Url' => [ - 'description' => 'The URL that is configured in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => '/cache', - ], - 'HealthCheckInterval' => [ - 'description' => 'The time interval between two consecutive health checks.'."\n" - ."\n" - .'Valid values: **1** to **50**. Unit: seconds.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI that is used for health checks.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => '/rest', - ], - 'RuleName' => [ - 'description' => 'The name of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'Rule1', - ], - 'StickySessionType' => [ - 'description' => 'The method that is used to handle a cookie. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie into the response. SLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" - .'* **server**: rewrites a cookie. When SLB detects a user-defined cookie, SLB overwrites the original cookie with the user-defined cookie. The next request from the client contains the user-defined cookie, and the listener distributes the request to the recorded backend server.'."\n" - ."\n" - .'> If you set the **StickySession** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'insert', - ], - 'Scheduler' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - ."\n" - .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'ListenerSync' => [ - 'description' => 'Indicates whether the forwarding rule uses the scheduling algorithm, session persistence, and health check configurations of the listener.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n" - ."\n" - .'* **off**: does not use the configurations of the listener. You can customize health check and session persistence configurations for the forwarding rule.'."\n" - .'* **on**: uses the configurations of the listener.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => 'The number of consecutive successful health checks that must occur before an unhealthy backend server is declared healthy. In this case, the health check state is changed from **fail** to **success**.'."\n" - ."\n" - .'Valid values: **2** to **10**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StickySession' => [ - 'description' => 'Indicates whether session persistence is enabled.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n" - ."\n" - .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheck' => [ - 'description' => 'Specifies whether to enable health checks.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n" - ."\n" - .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.'."\n", - 'type' => 'string', - 'example' => 'off', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '48C1B671-C6DB-4DDE-9B30-1055*****', 'title' => ''], + 'DomainExtensions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainExtension' => [ + 'description' => 'A list of additional certificates.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ServerCertificateId' => ['description' => 'The ID of the certificate used by the domain name.', 'type' => 'string', 'example' => '12315790****3_166f8****9_1714****08_70998****', 'title' => ''], + 'Domain' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'DomainExtensionId' => ['description' => 'The ID of the additional certificate.', 'type' => 'string', 'example' => 'de-bp1rp7ta1****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeRuleAttribute', - 'summary' => 'Queries the configurations of a specified forwarding rule.', + 'errorCodes' => [], + 'title' => 'DescribeDomainExtensions', + 'summary' => 'Queries additional domain names.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRules' => [ - 'summary' => 'Queries the forwarding rules that are configured for a specified listener.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDomainExtensions'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeHealthStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12503,57 +5634,32 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslb1HTJST', 'FEATUREslbZCBC3S', 'FEATUREslbMJJFN5', 'FEATUREslb2W3JY0', 'FEATUREslbQ7A0BW'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the SLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3ah****', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1ca0zt07t934****', - ], + 'schema' => ['description' => 'The frontend port that is used by the SLB instance. Valid values: **1 to 65535**.'."\n" + ."\n" + .'> If you do not specify this parameter, the health status of all ports is returned.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend listener protocol that is used by the SLB instance.'."\n" - ."\n" - .'> This parameter is required when listeners that use different protocols listen on the same port.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'The frontend protocol that is used by the SLB instance.', 'type' => 'string', 'required' => false, 'example' => 'http', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend listener port that is used by the Server Load Balancer (SLB) instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '90', - ], + 'schema' => ['description' => 'The region ID of the SLB instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -12561,299 +5667,194 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'Rules' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF******', 'title' => ''], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Rule' => [ - 'description' => 'The forwarding rules.'."\n", + 'BackendServer' => [ + 'description' => 'The backend servers.', 'type' => 'array', 'items' => [ + 'description' => 'The backend servers.', 'type' => 'object', 'properties' => [ - 'HealthCheckHttpCode' => [ - 'description' => 'The HTTP status code that indicates a successful health check. Multiple HTTP status codes are separated by commas (,). Default value: **http\\_2xx**.'."\n" - ."\n" - .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'http_3xx', - ], - 'VServerGroupId' => [ - 'description' => 'The ID of the destination vServer group specified in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rsp-6cejjzl****', - ], - 'Domain' => [ - 'description' => 'The requested domain name specified in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'test.com', - ], - 'Cookie' => [ - 'description' => 'The cookie that is configured on the backend server.'."\n" - ."\n" - .'The value must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" - ."\n" - .'> If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **server**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => '23', - ], - 'HealthCheckInterval' => [ - 'description' => 'The time interval between two consecutive health checks.'."\n" - ."\n" - .'Valid values: **1 to 50**. Unit: seconds.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'Url' => [ - 'description' => 'The requested path specified in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => '/cache', - ], - 'HealthCheckURI' => [ - 'description' => 'The URI that is used for health checks.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => '/example', - ], - 'StickySessionType' => [ - 'description' => 'The method that is used to handle a cookie. Valid values:'."\n" - ."\n" - .'* **insert**: inserts a cookie into the response. SLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" - .'* **server**: rewrites a cookie. When SLB detects a user-defined cookie, SLB overwrites the original cookie with the user-defined cookie. The next request from the client contains the user-defined cookie, and the listener distributes the request to the recorded backend server.'."\n" - ."\n" - .'> If you set the **StickySession** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'insert', - ], - 'RuleName' => [ - 'description' => 'The name of the forwarding rule. The name must be 1 to 80 characters in length, and can contain only letters, digits, hyphens (-), forward slashes (/), periods (.),and underscores (\\_).'."\n" - ."\n" - .'> The name of each forwarding rule must be unique within a listener.'."\n", - 'type' => 'string', - 'example' => 'Rule2', - ], - 'RuleId' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rule-tybqi6****', - ], - 'HealthCheckConnectPort' => [ - 'description' => 'The backend port that is used for health checks.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required. If this parameter is empty but **HealthCheck** is set to **on**, the listener port is used for health checks.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '45', - ], - 'Scheduler' => [ - 'description' => 'The scheduling algorithm. Valid values:'."\n" - ."\n" - .'* **wrr** (default): Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" - .'* **rr**: Requests are distributed to backend servers in sequence.'."\n" - ."\n" - .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.'."\n", - 'type' => 'string', - 'example' => 'wrr', - ], - 'HealthCheckTimeout' => [ - 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds'."\n" - ."\n" - .'Valid values: **1 to 300**.'."\n" - ."\n" - .'> When you set the **HealthCheck** parameter to **on**, this parameter takes effect.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '34', - ], - 'ListenerSync' => [ - 'description' => 'Indicates whether the forwarding rule uses the scheduling algorithm, session persistence, and health check configurations of the listener.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n" - ."\n" - .'* **off**: does not use the configurations of the listener. You can customize health check and session persistence configurations for the forwarding rule.'."\n" - .'* **on**: uses the configurations of the listener.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthyThreshold' => [ - 'description' => 'Specifies the number of successful health checks that must be consecutively performed before a backend server can be declared healthy (from **fail** to **success**).'."\n" - ."\n" - .'Valid values: **2 to 10**.'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'CookieTimeout' => [ - 'description' => 'The timeout period of a cookie. Valid values: **1 to 86400**. Unit: seconds.'."\n" - ."\n" - .'> If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **insert**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '56', - ], - 'HealthCheckDomain' => [ - 'description' => 'The domain name that is used for health checks. Valid values:'."\n" - ."\n" - .'* **$\\_ip**: The private IP address of the backend server.'."\n" - ."\n" - .' If you do not set this parameter or set the parameter to $\\_ip, the SLB instance uses the private IP address of each backend server as the domain name for health checks.'."\n" - ."\n" - .'* **domain**: The domain name must be 1 to 80 characters in length. The domain name can contain only letters, digits, periods (.),and hyphens (-).'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'string', - 'example' => 'www.domain.com', - ], - 'UnhealthyThreshold' => [ - 'description' => 'Specifies the number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy (from **success** to **fail**).'."\n" - ."\n" - .'Valid values: **2 to 10**'."\n" - ."\n" - .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StickySession' => [ - 'description' => 'Specifies whether to enable session persistence.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n" - ."\n" - .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'HealthCheck' => [ - 'description' => 'Indicates whether health checks are enabled.'."\n" - ."\n" - .'Valid values: **on** and **off**.'."\n" - ."\n" - .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.'."\n", - 'type' => 'string', - 'example' => 'off', - ], + 'Protocol' => ['description' => 'The frontend protocol that is used by the SLB instance.', 'type' => 'string', 'example' => 'http', 'title' => ''], + 'ServerHealthStatus' => ['description' => 'The health status of the backend server. Valid values:'."\n" + ."\n" + .'- normal: The backend server is healthy.'."\n" + ."\n" + .'- abnormal: The backend server is unhealthy.'."\n" + ."\n" + .'- unavailable: The health check is not completed.', 'type' => 'string', 'example' => 'abnormal', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port that is used by the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ServerIp' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'example' => '192.XX.XX.11', 'title' => ''], + 'Port' => ['description' => 'The backend port that is used by the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'example' => 'i-bp1h5u3fv54ytf***', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], + ], + ], + 'title' => 'DescribeHealthStatus', + 'summary' => 'Queries the health status of backend servers.', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ], + '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' => '[{"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' => 'DescribeRules', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + '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"}]', ], - 'AddBackendServers' => [ - 'methods' => [ - 'post', - 'get', + 'DescribeHighDefinationMonitor' => [ + 'summary' => 'Queries the configurations of fine-grained monitoring in a region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags of the logs. The tags must be key-value pairs that are contained in a JSON dictionary.', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', 'title' => ''], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where you want to query the configuration of fine-grained monitoring.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'LogProject' => ['description' => 'The name of the Log Service project.', 'type' => 'string', 'example' => 'my-project', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6', 'title' => ''], + 'LogStore' => ['description' => 'The name of the Logstore.', 'type' => 'string', 'example' => 'my-log-store', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'string', 'example' => 'true', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeHighDefinationMonitor', + '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' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"LogProject\\": \\"my-project\\",\\n \\"RequestId\\": \\"2F398FF5-B349-5C01-8638-8E9A0BF1DBE6\\",\\n \\"LogStore\\": \\"my-log-store\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + ], + 'DescribeListenerAccessControlAttribute' => [ + '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' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The region where the Classic Load Balancer (CLB) instance is created.'."\n" + ."\n" + .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-2ze7o5h52g02kkzz******', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'example' => 'lb-8vb86hxixo8lvsja8****', 'title' => ''], ], [ - 'name' => 'BackendServers', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of backend servers that you want to add. Set the following parameters:'."\n" - ."\n" - .'* **ServerId**: Required. This value must be a string. Enter the ID of an ECS instance, elastic network interface (ENI), or elastic container instance. If **ServerId** is set to the ID of an ENI or elastic container instance, **Type** is required.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**.'."\n" - ."\n" - .' If the value is set to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: Optional. The description of the backend server. This value must be a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): an ECS instance'."\n" - .' * **eni**: an ENI'."\n" - .' * **eci**: an elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as the backend servers only for high-performance CLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of the ECS instance, ENI, or elastic container instance'."\n" - .'* **Port**: the backend port'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ECS instance: `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - .'* ENI: `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - .'* ENI with multiple IP addresses: `[{ "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" - .'* Elastic container instance: `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> The backend servers that you add to a CLB instance must be in the Running state. You can add at most 20 backend servers to a CLB instance in each request.'."\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' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required if the same port is specified for listeners of different protocols.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], ], 'responses' => [ @@ -12861,121 +5862,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-2ze7o5h52g02kkzz****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '34B82C81-F13B-4EEB-99F6-A048C67CC830', - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => 'The list of backend servers.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): an ECS instance'."\n" - .'* **eni**: an ENI'."\n" - .'* **eci**: an elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n" - ."\n" - .'Valid values: **0 to 100**. Default value: **100**.'."\n" - ."\n" - .'If the value is set to **0**, no requests are forwarded to the backend server.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the backend server.'."\n", - 'type' => 'string', - 'example' => 'backend server', - ], - 'ServerId' => [ - 'description' => 'The ID of the ECS instance, ENI, or elastic container instance.'."\n", - 'type' => 'string', - 'example' => 'i-2zej4lxhjoq1icu*****', - ], - ], - ], - ], - ], - ], + 'SourceItems' => ['description' => 'The queried ACLs.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'AccessControlStatus' => ['description' => 'Indicates whether the whitelist is enabled. Valid values:'."\n" + ."\n" + .'- **open\\_white\\_list**: the whitelist is enabled.'."\n" + ."\n" + .'- **close**: the whitelist is disabled.', 'type' => 'string', 'example' => 'open_white_list', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', '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\\": \\"后端服务器\\",\\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' => 'AddBackendServers', - 'summary' => 'Adds backend servers.', - 'description' => '> If multiple identical Elastic Compute Service (ECS) instances are specified in a request, only the first ECS instance is added. The other ECS instances are ignored. If the backend server that you add is the same as one of the existing backend servers that are already associated with the listener, an error message is returned.'."\n", + 'title' => 'DescribeListenerAccessControlAttribute', + 'summary' => 'Queries the whitelist configurations of a listener.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeHealthStatus' => [ - 'summary' => 'Queries the health status of backend servers.', - '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' => '[{"errorExample":"","example":"{\\n \\"SourceItems\\": \\"192.168.XX.XX\\",\\n \\"AccessControlStatus\\": \\"open_white_list\\",\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","type":"json"}]', + ], + 'DescribeLoadBalancerAttribute' => [ + 'summary' => 'Queries the detail of a Classic Load Balancer (CLB) instance.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12987,60 +5927,21 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREslb1HTJST', - 'FEATUREslbZCBC3S', - 'FEATUREslbMJJFN5', - 'FEATUREslb2W3JY0', - 'FEATUREslbQ7A0BW', - ], + 'abilityTreeCode' => '88574', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Classic Load Balancer (CLB) instance.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3ah****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the SLB instance. Valid values: **1 to 65535**.'."\n" - ."\n" - .'> If you do not specify this parameter, the health status of all ports is returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '65535', - 'minimum' => '0', - 'example' => '80', - ], - ], - [ - 'name' => 'ListenerProtocol', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex****', 'title' => ''], ], ], 'responses' => [ @@ -13048,164 +5949,294 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC) where the internal-facing CLB instance is deployed.', 'type' => 'string', 'example' => 'vpc-25dvzy9f8****', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be at most 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'TagValue' => ['description' => 'The tag value. Valid values of N: **1** to **20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'value', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'CreateTimeStamp' => ['description' => 'The timestamp generated when the CA certificate is uploaded.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the CLB instance was created. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2017-08-31T02:49:05Z', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa08ex****', 'title' => ''], + 'PayType' => ['description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'- Only **PayOnDemand** may be returned, which indicates the pay-as-you-go billing method.', 'type' => 'string', 'example' => 'PayOnDemand', 'title' => ''], + 'AddressType' => ['description' => 'The address type of the CLB instance.', 'type' => 'string', 'example' => 'internet', 'title' => ''], + 'NetworkType' => ['description' => 'The network type of the CLB instance.', 'type' => 'string', 'example' => 'vpc', 'title' => ''], + 'AddressIPVersion' => ['description' => 'The version of the IP address. Valid values: **ipv4** and **ipv6**.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'RenewalCycUnit' => ['description' => 'The auto-renewal cycle. Valid values: **Year** and **Month**. Default value: Month.'."\n" + ."\n" + .'> This parameter is valid only if you create a subscription CLB instance on the Alibaba Cloud China site. In this case, **PayType** must be set to **PrePay** and **RenewalStatus** must be set to **AutoRenewal**.', 'type' => 'string', 'example' => 'Month', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'Bandwidth' => ['description' => 'The maximum bandwidth of the Internet-facing CLB instance that is billed on a pay-by-bandwidth basis.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'LoadBalancerName' => ['description' => 'The name of the CLB instance.', 'type' => 'string', 'example' => 'lb-instance-test', 'title' => ''], + 'Address' => ['description' => 'The service IP address of the CLB instance.', 'type' => 'string', 'example' => '42.XX.XX.6', 'title' => ''], + 'SlaveZoneId' => ['description' => 'The ID of the secondary zone to which the CLB instance belongs.', 'type' => 'string', 'example' => 'cn-hangzhou-d', 'title' => ''], + 'EndTimeStamp' => ['description' => 'The timestamp that indicates the expiration time of the CLB instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '3249380160000', 'title' => ''], + 'MasterZoneId' => ['description' => 'The ID of the primary zone to which the CLB instance belongs.', 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'LoadBalancerSpec' => ['description' => 'The specification of the CLB instance.'."\n" + ."\n" + .'> Pay-as-you-go CLB instances are not subject to specifications. By default, **slb.lcu.elastic** is returned.', 'type' => 'string', 'example' => 'slb.s1.small', 'title' => ''], + 'AutoReleaseTime' => ['description' => 'The timestamp generated when the CLB instance is released.', 'type' => 'integer', 'format' => 'int64', 'example' => '1513947075000', 'title' => ''], + 'ModificationProtectionReason' => ['description' => 'The reason why the configuration read-only mode is enabled. The value is 1 to 80 characters in length. It starts with a letter and can contain digits, periods (.), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> This parameter is valid only when **ModificationProtectionStatus** is set to **ConsoleProtection**.', 'type' => 'string', 'example' => 'Instance service guarantee period', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the CLB instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ModificationProtectionStatus' => ['description' => 'Indicates whether the configuration read-only mode is enabled. Valid values:'."\n" + ."\n" + .'- **NonProtection**: The configuration read-only mode is disabled. After you disable the configuration read-only mode, the value of **ModificationProtectionReason** is cleared.'."\n" + ."\n" + .'- **ConsoleProtection**: The configuration read-only mode is enabled.'."\n" + ."\n" + .'> If this parameter is set to **ConsoleProtection**, you cannot modify instance configurations in the CLB console. However, you can modify instance configurations by calling API operations.', 'type' => 'string', 'example' => 'ConsoleProtection', 'title' => ''], + 'EndTime' => ['description' => 'The time when the CLB instance expires.', 'type' => 'string', 'example' => '2022-09-08T16:00:00Z', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch to which the internal-facing CLB instance belongs.', 'type' => 'string', 'example' => 'vsw-255ecrwq5****', 'title' => ''], + 'LoadBalancerStatus' => ['description' => 'The status of the CLB instance. Valid values:'."\n" + ."\n" + .'- **inactive**: The CLB instance is disabled. CLB instances in the inactive state do not forward traffic.'."\n" + ."\n" + .'- **active**: The CLB instance is running as expected. Newly created CLB instances are in the **active** state by default.'."\n" + ."\n" + .'- **locked**: The CLB instance is locked. CLB instances may be locked due to overdue payments or other reasons.', 'type' => 'string', 'example' => 'active', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-atstuj3rtop****', 'title' => ''], + 'InternetChargeType' => ['description' => 'The metering method of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **paybytraffic**'."\n" + ."\n" + .'- **paybybandwidth**', 'type' => 'string', 'example' => 'paybytraffic', 'title' => ''], + 'DeleteProtection' => ['description' => 'Indicates whether deletion protection is enabled for the CLB instance.'."\n" + ."\n" + .'Valid values: **on** and **off**.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'RegionIdAlias' => ['description' => 'The alias of the region to which the CLB instance belongs.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'RenewalStatus' => ['description' => 'Indicates whether auto-renewal is enabled. Valid values:'."\n" + ."\n" + .'- **AutoRenewal**: Auto-renewal is enabled.'."\n" + ."\n" + .'- **Normal**: Auto-renewal is disabled. You must manually renew the CLB instance.'."\n" + ."\n" + .'- **NotRenewal**: The CLB instance will not be renewed upon expiration. If this value is returned, the system does not send notifications until three days before the expiration date.'."\n" + ."\n" + .' \\*\\*'."\n" + ."\n" + .' **Note** This parameter is valid only when you create a subscription CLB instance on the Alibaba Cloud China site. In this case, **PayType** must be set to **PrePay**.', 'type' => 'string', 'example' => 'AutoRenewal', 'title' => ''], + 'RenewalDuration' => ['description' => 'The auto-renewal duration. This parameter is valid only if **RenewalStatus** is set to **AutoRenewal**.'."\n" + ."\n" + .'- Valid values when **PeriodUnit** is set to **Year**: **1**\\~**5**.'."\n" + ."\n" + .'- Valid values when **PeriodUnit** is set to **Month**: **1**\\~ **9**.'."\n" + ."\n" + .'> This parameter is valid only when you create a subscription CLB instance on the Alibaba Cloud China site. In this case, the **PayType** parameter must be set to **PrePay**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ListenerPorts' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListenerPort' => [ + 'description' => 'The frontend port used by the CLB instance.', + 'type' => 'array', + 'items' => ['description' => 'The frontend port used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ListenerPortsAndProtocal' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListenerPortAndProtocal' => [ + 'description' => 'The ports or protocols of the listeners.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ListenerProtocal' => ['description' => 'The frontend protocol that is used by the CLB instance.', 'type' => 'string', 'example' => 'http', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port that is used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ListenerPortsAndProtocol' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'ListenerPortAndProtocol' => [ + 'description' => 'The ports or protocols of the listeners.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ListenerPort' => ['description' => 'The frontend port that is used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ListenerProtocol' => ['description' => 'The frontend protocol that is used by the CLB instance.', 'type' => 'string', 'example' => 'https', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether the listener is enabled.', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'Description' => ['description' => 'Indicates whether the listener is enabled.', 'type' => 'string', 'example' => 'The description of listener port and protocol.', 'title' => ''], + 'ForwardPort' => ['description' => 'The destination listening port to which requests are forwarded. The port must be open and use HTTPS.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'description' => 'The backend servers of the CLB instance.', 'type' => 'array', 'items' => [ - 'description' => 'The backend servers.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'Protocol' => [ - 'description' => 'The frontend protocol that is used by the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'https', - ], - 'ServerHealthStatus' => [ - 'description' => 'The health status of the backend server. Valid values:'."\n" - ."\n" - .'* normal: The backend server is healthy.'."\n" - .'* abnormal: The backend server is unhealthy.'."\n" - .'* unavailable: The health check is not completed.'."\n", - 'type' => 'string', - 'example' => 'abnormal', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ServerIp' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'example' => '192.XX.XX.11', - ], - 'Port' => [ - 'description' => 'The backend port that is used by the SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-bp1h5u3fv54ytf***', - ], + 'Type' => ['description' => 'The type of the backend server.', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '90', 'title' => ''], + 'Description' => ['description' => 'The description of the backend server.'."\n" + ."\n" + .'> This parameter is not returned if Description is not set.', 'type' => 'string', 'example' => 'Backend servers', 'title' => ''], + 'ServerIp' => ['description' => 'The ID of the elastic network interface (ENI) or elastic container instance.', 'type' => 'string', 'example' => '192.XX.XX.11', 'title' => ''], + 'ServerId' => ['description' => 'The backend server ID.', 'type' => 'string', 'example' => 'i-2zej4lxhjoq1icu*****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeLoadBalancerAttribute', + 'description' => '> If backend servers are deployed in a vServer group, you can call the [DescribeVServerGroupAttribute](~~35224~~) operation to query the backend servers.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-14T03:27:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-04-28T14:56:30.000Z', 'description' => 'Error codes changed'], + ], + '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}'], + ], ], ], ], - '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' => 'DescribeHealthStatus', ], - 'RemoveBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeLoadBalancerHTTPListenerAttribute' => [ + 'summary' => 'Queries the configurations of an HTTP listener.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'get', + 'abilityTreeCode' => '88577', + 'abilityTreeNodes' => ['FEATUREslbOMAMKB'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the CLB instance is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'Call the [](t2293290.xdita#)operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp15lbk8uja8rvm4a****', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1uaunez0uho0zf0****', 'title' => ''], ], [ - 'name' => 'BackendServers', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers that you want to remove.'."\n" - ."\n" - .'* **ServerId**: The IDs of the backend servers. Set the value to a string. This parameter is required.'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): Elastic Compute Service (ECS) instance'."\n" - .' * **eni**: elastic network interface (ENI)'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Set the value to an integer.'."\n" - ."\n" - .'You can specify at most 20 backend servers in each call. Examples:'."\n" - ."\n" - .'* Remove ECS instances:'."\n" - ."\n" - .'`[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]`'."\n" - ."\n" - .'* Remove ENIs:'."\n" - ."\n" - .'`[{"ServerId":"eni-2ze1sdp5****","Type": "eni","Weight":"100"}]`'."\n" - ."\n" - .'* Remove elastic container instances:'."\n" - ."\n" - .'`[{"ServerId":"eci-2ze1sdp5****","Type": "eci","Weight":"100"}]`'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], ], 'responses' => [ @@ -13213,170 +6244,293 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp15lbk8uja8rvm4a****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'AclType' => ['description' => 'The type of the ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" + ."\n" + .'If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" + ."\n" + .'If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" + ."\n" + .'> This parameter is required when **AclStatus** is set to **on**.', 'type' => 'string', 'example' => 'white', 'title' => ''], + 'VServerGroupId' => ['description' => 'The ID of the associated server group.', 'type' => 'string', 'example' => 'rsp-cige6j****', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **running**: The listener is running normally.'."\n" + ."\n" + .'- **stopped**: The listener is stopped.', 'type' => 'string', 'example' => 'stopped', 'title' => ''], + 'XForwardedFor_ClientSrcPort' => ['description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'Cookie' => ['description' => 'The cookie that is configured on the server.', 'type' => 'string', 'example' => 'testCookie', 'title' => ''], + 'Gzip' => ['description' => 'Indicates whether `Gzip` compression is enabled to compress specific types of files. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'Description' => ['description' => 'The name of the listener.', 'type' => 'string', 'example' => 'HTTP_80', 'title' => ''], + 'Bandwidth' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.'."\n" + ."\n" + .'- **-1**: If -1 is returned, it indicates that the bandwidth of the listener is unlimited.'."\n" + ."\n" + .'- **1 to 5120**: If a value from 1 to 5120 is returned, the value indicates the maximum bandwidth of the listener. The sum of the maximum bandwidth of all listeners added to a CLB instance does not exceed the maximum bandwidth of the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The timeout period of each health check. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AclStatus' => ['description' => 'Indicates whether access control is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'BackendServerPort' => ['description' => 'The backend port that is used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'CookieTimeout' => ['description' => 'The timeout period of a cookie. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that you want to use for health checks.', 'type' => 'string', 'example' => 'www.domain.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The unhealthy threshold.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ForwardPort' => ['description' => 'The listener port that is used to redirect HTTP requests to HTTPS.'."\n" + ."\n" + .'> If the **ListenerForward** parameter is set to **off**, this parameter is not displayed.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'XForwardedFor_SLBID' => ['description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'SecurityStatus' => ['description' => 'Indicates whether the listener is in the Secure state. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code for a successful health check.', 'type' => 'string', 'example' => 'http_2xx,http_3xx', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor' => ['description' => 'Indicates whether the `X-Forwarded-For` header is used to preserve the real IP address of the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period of an idle connection. Unit: seconds.'."\n" + ."\n" + .'Default value: **15**. Valid values: **1 to 60**.'."\n" + ."\n" + .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'RequestTimeout' => ['description' => 'The timeout period of a request. Unit: seconds.'."\n" + ."\n" + .'Default value: **60**. Valid values: **1 to 180**.'."\n" + ."\n" + .'If no response is received from a backend server within the specified timeout period, CLB returns the HTTP 504 status code to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port that is used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval at which health checks are performed. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'XForwardedFor_SLBPORT' => ['description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URL path that is used for health checks.'."\n" + ."\n" + .'The URI must be 1 to 80 characters in length, and can contain only digits, letters, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).', 'type' => 'string', 'example' => '/test/index.html', 'title' => ''], + 'StickySessionType' => ['description' => 'The method that is used to handle a cookie.'."\n" + ."\n" + .'Valid values: **insert** and **server**.'."\n" + ."\n" + .'- **insert**: inserts a cookie.'."\n" + ."\n" + .' CLB inserts a session cookie (SERVERID) into the first HTTP or HTTPS response that is sent to a client. Subsequent requests to CLB carry this cookie, and CLB determines the destination servers of the requests based on the cookies.'."\n" + ."\n" + .'- **server**: rewrites a cookie.'."\n" + ."\n" + .' When CLB detects a user-defined cookie, it overwrites the original cookie with the user-defined cookie. The next request from the client carries the user-defined cookie, and the listener forwards this request to the recorded backend server.'."\n" + ."\n" + .'> This parameter is required when **StickySession** is set to **on**.', 'type' => 'string', 'example' => 'insert ', 'title' => ''], + 'AclId' => ['description' => 'The ID of the network ACL that is associated with a listener.'."\n" + ."\n" + .'> This parameter is returned when **AclStatus** is set to **on**.', 'type' => 'string', 'example' => 'acl-uf60jw******', 'title' => ''], + 'Scheduler' => ['description' => 'The routing algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" + ."\n" + .'- **rr**: Requests are sequentially distributed to backend servers.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The healthy threshold.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_proto' => ['description' => 'Indicates whether the `X-Forwarded-Proto` header is used to retrieve the listener protocol. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor_SLBIP' => ['description' => 'Indicates whether the `SLB-IP` header is used to retrieve the virtual IP address requested by the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method used by HTTP listeners. Valid values: **head** and **get**.'."\n" + ."\n" + .'> This parameter is returned when **HealthCheck** is set to **on**.', 'type' => 'string', 'example' => 'get', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => [ + 'description' => 'The ID of the access control list (ACL).', + 'type' => 'array', + 'items' => ['description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'BackendServers' => [ + 'Rules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'Rule' => [ + 'description' => 'The list of forwarding rules.', 'type' => 'array', 'items' => [ + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the server group specified in the forwarding rule.', 'type' => 'string', 'example' => 'rsp-uf6w******', 'title' => ''], + 'Url' => ['description' => 'The request URL.', 'type' => 'string', 'example' => '/example', 'title' => ''], + 'Domain' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'RuleName' => ['description' => 'The name of the forwarding rule.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => '1234', 'title' => ''], + ], 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerId' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'example' => 'lb-bp1uaunez0uho0zf0****', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs**: ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instances'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server. Valid values: **0 to 100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the server group.'."\n", - 'type' => 'string', - 'example' => 'BackendServer1', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-bp1fq61enf4loa5i****', - ], + 'TagKey' => ['description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag value cannot be an empty string. The tag key can be up to 64 characters in length. The key cannot start with `acs:` or `aliyun` or contain `http://` or `https://`.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], - ], - ], - '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' => 'RemoveBackendServers', - 'summary' => 'Removes backend servers.', - 'description' => '> If the backend servers that you want to remove are not in the server list of the Classic Load Balancer (CLB) instance, the request fails. However, the system does not report an error.'."\n", + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeLoadBalancerHTTPListenerAttribute', + 'description' => '## Before you begin'."\n" + ."\n" + .'- A Classic Load Balancer (CLB) instance is created. For more information, see [](t2280360.xdita#).'."\n" + ."\n" + .'- An HTTP listener is created. For more information about how to create an HTTP listener, see [](t2280395.xdita#).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-14T12:22:57.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-13T08:51:32.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', + 'operationType' => 'get', + 'abilityTreeCode' => '88578', + 'abilityTreeNodes' => ['FEATUREslb91TBWT'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3a******', - ], + 'schema' => ['description' => 'The ID of the Classic Load Balancer instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1mxu5r8lau****', 'title' => ''], ], [ - 'name' => 'BackendServers', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers that you want to add. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: Optional. The description of the backend server. Specify the value in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* ECS instance:'."\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 with multiple IP addresses:'."\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" - .'* Elastic container instance:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to a CLB instance. You can specify at most 20 backend servers in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "ecs-******FmYAXG", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]', - ], + 'schema' => ['description' => 'The frontend port of the instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], ], 'responses' => [ @@ -13384,214 +6538,434 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1qjwo61pqz3a******', + 'AclType' => ['description' => 'The type of the access control list (ACL). Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. The listener forwards requests only from IP addresses or CIDR blocks in the associated access control group. A whitelist is suitable for scenarios where you want to allow access from only specific IP addresses. Using a whitelist poses service risks.'."\n" + ."\n" + .'If you enable a whitelist for a listener but do not add any IP address to the access control group, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the associated access control group are denied. A blacklist is suitable for scenarios where you want to deny access from specific IP addresses.'."\n" + ."\n" + .'If you enable a blacklist for a listener but do not add any IP address to the access control group, the listener forwards all requests.'."\n" + ."\n" + .'> This parameter is required if the **AclStatus** parameter is set to **on**.', 'type' => 'string', 'example' => 'white', 'title' => ''], + 'XForwardedFor_ClientCertClientVerify' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertClientVerify` header is used to retrieve the verification result of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'CACertificateId' => ['description' => 'The ID of the CA certificate.', 'type' => 'string', 'example' => 'idkp-234-cn-test-0**', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF3********', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port used for health checks.'."\n" + ."\n" + .'> This parameter applies only when the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'BackendServerPort' => ['description' => 'The port used by backend servers.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'CookieTimeout' => ['description' => 'The cookie timeout period.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name used for health checks.', 'type' => 'string', 'example' => 'www.test.com', 'title' => ''], + 'XForwardedFor' => ['description' => 'Indicates whether the `X-Forwarded-For` header is used to retrieve the real IP addresses of clients. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor_ClientCertFingerprint' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertFingerprint` header is used to retrieve the fingerprint of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'IdleTimeout' => ['description' => 'The idle timeout for a connection, in seconds. Valid values: **1** to **60**. Default value: **15**.'."\n" + ."\n" + .'If a connection is idle for longer than the timeout period, the load balancer closes it. A new connection is established when the next request arrives.', 'type' => 'integer', 'format' => 'int32', 'example' => '23', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port used by the load balancer instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI for health checks.', 'type' => 'string', 'example' => '/test/index.html', 'title' => ''], + 'XForwardedFor_SLBPORT' => ['description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'StickySessionType' => ['description' => 'The cookie handling method.'."\n" + ."\n" + .'Valid values: **insert** and **server**.'."\n" + ."\n" + .'- **insert**: inserts a cookie.'."\n" + ."\n" + .' The load balancer inserts a cookie into the first response from a client. Subsequent requests from the client that contain this cookie are forwarded to the same backend server.'."\n" + ."\n" + .'- **server**: rewrites a cookie.'."\n" + ."\n" + .' The load balancer rewrites a user-defined cookie. Subsequent requests containing the new cookie are forwarded to the same backend server.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values: **wrr** and **rr**.'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in turn.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'XForwardedFor_proto' => ['description' => 'Indicates whether the `X-Forwarded-Proto` header is used to retrieve the listener protocol. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method used for HTTP health checks. Valid values: **head** and **get**.'."\n" + ."\n" + .'> This parameter is returned only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'example' => 'get', 'title' => ''], + 'TLSCipherPolicy' => ['description' => 'The TLS security policy. This parameter can be set only for a guaranteed-performance instance.'."\n" + ."\n" + .'Each security policy defines the supported TLS protocol versions and cipher suites.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_0**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_1**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.1 and TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2**'."\n" + ."\n" + .' Supported TLS version: TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' Supported TLS version: TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict\\_with\\_1\\_3**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.2 and TLS 1.3.'."\n" + ."\n" + .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA.', 'type' => 'string', 'example' => 'tls_cipher_policy_1_0', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **running**: The listener is running.'."\n" + ."\n" + .'- **stopped**: The listener is stopped.', 'type' => 'string', 'example' => 'stopped', 'title' => ''], + 'VServerGroupId' => ['description' => 'The ID of the associated server group.', 'type' => 'string', 'example' => 'rsp-cige6j5e********', 'title' => ''], + 'XForwardedFor_ClientSrcPort' => ['description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the port of the client that accesses the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'Cookie' => ['description' => 'The cookie configured on the backend server.', 'type' => 'string', 'example' => 'testCookie', 'title' => ''], + 'Gzip' => ['description' => 'Indicates whether to enable `Gzip` compression. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'EnableHttp2' => ['description' => 'Indicates whether to enable `HTTP/2`. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth for the listener. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Description' => ['description' => 'The description of the listener.', 'type' => 'string', 'example' => 'HTTPS_443', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The response timeout for a health check, in seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'AclStatus' => ['description' => 'Indicates whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of consecutive failed health checks required to declare a backend server unhealthy.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_SLBID' => ['description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor_ClientCertSubjectDN' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertSubjectDN` header is used to retrieve information about the owner of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'SecurityStatus' => ['description' => 'Indicates whether the listener is in a secure state. Valid values:'."\n" + ."\n" + .'- **on**: Secure'."\n" + ."\n" + .'- **off**: Insecure', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status codes indicating a successful health check.', 'type' => 'string', 'example' => 'http_2xx,http_3xx', 'title' => ''], + 'RequestTimeout' => ['description' => 'The request timeout, in seconds. Valid values: **1** to **180**. Default value: **60**.'."\n" + ."\n" + .'If a backend server fails to respond within this period, the load balancer returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '43', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between consecutive health checks, in seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'example' => 'idkp-123-cn-test-0**', 'title' => ''], + 'AclId' => ['description' => 'The ID of the access control group associated with the listener.'."\n" + ."\n" + .'> This parameter is required if the **AclStatus** parameter is set to **on**.', 'type' => 'string', 'example' => 'acl-a2do9e413e0spzasx****', 'title' => ''], + 'XForwardedFor_ClientCertIssuerDN' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertIssuerDN` header is used to retrieve information about the issuer of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of consecutive successful health checks required to declare a backend server healthy.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_SLBIP' => ['description' => 'Indicates whether the `SLB-IP` header is used to retrieve the virtual IP address (VIP) of the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether health checks are enabled. Valid values:'."\n" + ."\n" + .'- **on**: Enabled'."\n" + ."\n" + .'- **off**: Disabled', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => [ + 'description' => 'The IDs of the access control groups associated with the listener.', + 'type' => 'array', + 'items' => ['description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => 'The list of forwarding rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of forwarding rules.', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the destination server group specified in the forwarding rule.', 'type' => 'string', 'example' => 'rsp-cige6j5e********', 'title' => ''], + 'Url' => ['description' => 'The request path.', 'type' => 'string', 'example' => '/example', 'title' => ''], + 'Domain' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'RuleName' => ['description' => 'The name of the forwarding rule.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'RuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => '23', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'BackendServers' => [ + 'DomainExtensions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'DomainExtension' => [ + 'description' => 'A list of additional domain names.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'A list of additional domain names.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the backend server.'."\n", - 'type' => 'string', - 'example' => 'backend server', - ], - 'ServerId' => [ - 'description' => 'The ID of the server group.'."\n", - 'type' => 'string', - 'example' => 'eni-hhshhs****', - ], + 'ServerCertificateId' => ['description' => 'The ID of the certificate associated with the domain name.', 'type' => 'string', 'example' => '13344444****', 'title' => ''], + 'Domain' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'DomainExtensionId' => ['description' => 'The ID of the additional domain name.', 'type' => 'string', 'example' => '12', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'example' => 'lb-bp1mxu5r8lau****', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The list of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the listener.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the listener.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Mismatched.ZoneId', - 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', - ], - ], - ], - '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' => 'SetBackendServers', - 'summary' => 'Specifies weights for backend servers.', + 'title' => 'DescribeLoadBalancerHTTPSListenerAttribute', + 'summary' => 'View the HTTPS listener configuration.', + 'description' => '- You must have a Classic Load Balancer. For instructions, see [CreateLoadBalancer](~~27577~~).'."\n" + ."\n" + .'- You must have an HTTPS listener. For instructions, see [CreateLoadBalancerHTTPSListener](~~27593~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateVServerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-14T12:22:57.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-13T08:51:32.000Z', 'description' => 'Error codes changed'], + ], + '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}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeLoadBalancerListeners' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88537', - 'abilityTreeNodes' => [ - 'FEATUREslb1HTJST', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '88579', + 'abilityTreeNodes' => ['FEATUREslbOL61C3'], ], 'parameters' => [ [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.'."\n" + ."\n" + .'You can call the [](t2293290.xdita#)operation to query the most recent region list.'."\n" + ."\n" + .'> If the endpoint of the selected region is slb.aliyuncs.com, the `RegionId` parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'- If this is your first query and no subsequent queries are to be sent, ignore this parameter.'."\n" + ."\n" + .'- If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return in each call.'."\n" + ."\n" + .'Valid values: **1** to **100**. If you do not specify this parameter, the default value **20** is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '101', 'minimum' => '0', 'default' => '20', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The protocol used by the listener. Valid values:'."\n" + ."\n" + .'- **tcp**'."\n" + ."\n" + .'- **udp**'."\n" + ."\n" + .'- **http**'."\n" + ."\n" + .'- **https**', 'type' => 'string', 'required' => false, 'example' => 'http', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The IDs of the CLB instances. You can specify up to 10 instance IDs.'."\n" + ."\n" + .'> If you do not use the SDK to call this operation, use the LoadBalancerId.N parameter.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-uf6so8u4g35prnvsw****', 'title' => ''], + 'required' => false, + 'example' => 'lb-123wrwer', + 'maxItems' => 11, + 'title' => '', + ], + ], + [ 'name' => 'Tag', 'in' => 'query', 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the SLB instance is deployed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1qjwo61pqz3ahl******', - ], - ], - [ - 'name' => 'VServerGroupName', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the vServer group.'."\n" - ."\n" - .'The name must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.),and underscores (\\_).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Group1', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '65535', 'minimum' => '0', 'required' => false, 'example' => '443', 'title' => ''], ], [ - 'name' => 'BackendServers', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers that you want to add. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: required. The ID of the backend server. Specify the ID in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set ServerId to the ID of an ENI or an elastic container instance, you must configure the Type parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: 0 to 100. Default value: 100. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: optional. The description of the backend server. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs (default)**: ECS instance'."\n" - .' * **eni**: ENI.'."\n" - .' * **eni**: elastic container instance.'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" - ."\n" - .'* **ServerIp**: The IP address of the ECS instance or ENI.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'- Add an ECS instance:'."\n" - ."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - .'- Add an ENI:'."\n" - ."\n" - .' ` [{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - .'- Add an ENI with multiple IP addresses:'."\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" - .'- Add an elastic container instance:'."\n" - ."\n" - .' ` [{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers.', - '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" }]', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The custom name of the listener.', 'type' => 'string', 'required' => false, 'example' => 'HTTPS_443', 'title' => ''], ], ], 'responses' => [ @@ -13599,224 +6973,512 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'BackendServers' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BackendServer' => [ - 'description' => 'The list of backend servers.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The backend servers.'."\n", + 'NextToken' => ['description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'- If **NextToken** is empty, it indicates that no subsequent query is to be sent.'."\n" + ."\n" + .'- If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'Listeners' => [ + 'description' => 'A list of listeners of the CLB instance.'."\n" + ."\n" + .'> This parameter is not returned if the CLB instance does not have a listener.', + 'type' => 'array', + 'items' => [ + 'description' => 'A list of listeners of the CLB instance.'."\n" + ."\n" + .'> This parameter is not returned if the CLB instance does not have a listener.', + 'type' => 'object', + 'properties' => [ + 'AclType' => ['description' => 'The type of access control. Valid values:'."\n" + ."\n" + .'- **white**: The listener forwards requests only from IP addresses and CIDR blocks on the whitelist. Your service may be adversely affected if the whitelist is not properly configured. If a whitelist is configured, the listener forwards requests only from IP addresses that are added to the whitelist.'."\n" + ."\n" + .'If you configure a whitelist but no IP address is added to the whitelist, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: The listener blocks requests from IP addresses and CIDR blocks on the blacklist.'."\n" + ."\n" + .'If you configure a blacklist but no IP address is added to the blacklist, the listener forwards all requests.', 'type' => 'string', 'example' => 'white', 'title' => ''], + 'Status' => ['description' => 'The status of the listener. Valid values:'."\n" + ."\n" + .'- **running**: The listener is running normally.'."\n" + ."\n" + .'- **stopped**: The listener is stopped.', 'type' => 'string', 'example' => 'running', 'title' => ''], + 'VServerGroupId' => ['description' => 'The ID of the vServer group associated with the listener.', 'type' => 'string', 'example' => 'rsp-cige6j****', 'title' => ''], + 'ListenerProtocol' => ['description' => 'The protocol used by the listener.', 'type' => 'string', 'example' => 'http', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa****', 'title' => ''], + 'ListenerPort' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'AclId' => ['description' => 'The ID of the access control list (ACL).', 'type' => 'string', 'example' => 'acl-a2do9e413e0spzasx****', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **tch**: specifies consistent hashing based on the source IP address, destination IP address, source port, and destination port. Requests that have the same four factors are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: specifies consistent hashing based on Quick UDP Internet Connection (QUIC) IDs. Requests that contain the same QUIC ID are scheduled to the same backend server.'."\n" + ."\n" + .'> Only high-performance CLB instances support the **sch**, **tch**, and **qch** consistent hashing algorithms.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'Bandwidth' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'Description' => ['description' => 'The description of the listener.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'AclStatus' => ['description' => 'Indicates whether access control is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'BackendServerPort' => ['description' => 'The port of the backend server.'."\n" + ."\n" + .'> This parameter takes effect only when the `VServerGroupId` and `MasterSlaveServerGroupId` parameters are both empty.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'AclIds' => [ + 'description' => 'The IDs of the ACLs.', + 'type' => 'array', + 'items' => ['description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + 'HTTPListenerConfig' => [ + 'description' => 'The configurations of the HTTP listener.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): ECS instance'."\n" - .'* **eni**: elastic network interface (ENI)'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'backend server', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => 'The ID of the ECS instance or ENI.'."\n", - 'type' => 'string', - 'example' => 'eni-hhshhs****', + 'HealthCheckHttpVersion' => ['description' => 'The HTTP version for health checks.', 'type' => 'string', 'example' => 'HTTP 1.0', 'title' => ''], + 'XForwardedFor_ClientSrcPort' => ['description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'Cookie' => ['description' => 'The cookie configured on the server.', 'type' => 'string', 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', 'title' => ''], + 'Gzip' => ['description' => 'Indicates whether GZIP compression is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks.'."\n" + ."\n" + .'> This parameter takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The maximum timeout period of a health check. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HealthCheckType' => ['description' => 'The protocol that you want to use for health checks.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'CookieTimeout' => ['description' => 'The maximum amount of time to wait before the session cookie expires. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **86400**.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_SLBID' => ['description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'ForwardPort' => ['description' => 'The listener port that is used for HTTP-to-HTTPS redirection.'."\n" + ."\n" + .'> If the **ListenerForward** parameter is set to **off**, this parameter is not returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code that indicates a healthy backend server.', 'type' => 'string', 'example' => 'http_2xx,http_3xx', 'title' => ''], + 'ListenerForward' => ['description' => 'Indicates whether HTTP-to-HTTPS redirection is enabled for the listener. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor' => ['description' => 'Indicates whether the `X-Forwarded-For` header is used to preserve client IP addresses. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1** to **60**.'."\n" + ."\n" + .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'RequestTimeout' => ['description' => 'The timeout period of a request. Unit: seconds. Valid values: **1** to **180**.'."\n" + ."\n" + .'If no response is received from a backend server during the request timeout period, CLB sends the `HTTP 504` status code to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval at which health checks are performed. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'XForwardedFor_SLBPORT' => ['description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI that is used for health checks.', 'type' => 'string', 'example' => '/test/index.html', 'title' => ''], + 'StickySessionType' => ['description' => 'The method used to handle the cookie. Valid values:'."\n" + ."\n" + .'- **insert**: inserts a cookie. CLB inserts the SERVERID cookie to the HTTP or HTTPS response to the first request from a client. Subsequent requests that carry the SERVERID cookie from the client are forwarded to the same backend server as the first request.'."\n" + ."\n" + .'- **server**: rewrites the original cookie. CLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_proto' => ['description' => 'Indicates whether the `X-Forwarded-Proto` header is used to obtain the listener protocol. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor_SLBIP' => ['description' => 'Indicates whether the `SLB-IP` header is used to retrieve the VIP of the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method. Valid values: **head** and **get**.', 'type' => 'string', 'example' => 'get', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'HTTPSListenerConfig' => [ + 'description' => 'The configurations of the HTTPS listener.', + 'type' => 'object', + 'properties' => [ + 'XForwardedFor_ClientCertClientVerify' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertClientVerify` header is used to obtain the verification result of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckHttpVersion' => ['description' => 'The HTTP version for health checks.', 'type' => 'string', 'example' => 'HTTP 1.0', 'title' => ''], + 'XForwardedFor_ClientSrcPort' => ['description' => 'Indicates whether the `XForwardedFor_ClientSrcPort` header is used to retrieve the client port. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'Cookie' => ['description' => 'The cookie configured on the server.', 'type' => 'string', 'example' => 'B490B5EBF6F3CD402E515D22BCDA****', 'title' => ''], + 'Gzip' => ['description' => 'Indicates whether GZIP compression is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'EnableHttp2' => ['description' => 'Indicates whether `HTTP 2.0` is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'CACertificateId' => ['description' => 'The ID of the CA certificate.', 'type' => 'string', 'example' => 'idkp-234-cn-test-0****', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The timeout period of a health check response. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HealthCheckType' => ['description' => 'The protocol that you want to use for health checks.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'CookieTimeout' => ['description' => 'The maximum amount of time to wait before the session cookie expires. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **86400**.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_SLBID' => ['description' => 'Indicates whether the `SLB-ID` header is used to retrieve the ID of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor_ClientCertSubjectDN' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertSubjectDN` header is used to obtain information about the owner of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code that indicates a healthy backend server.', 'type' => 'string', 'example' => 'http_2xx,http_3xx', 'title' => ''], + 'XForwardedFor_ClientCertFingerprint' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertFingerprint` header is used to obtain the fingerprint of the client certificate. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'XForwardedFor' => ['description' => 'Indicates whether the `X-Forwarded-For` header is used to retrieve client IP addresses. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'RequestTimeout' => ['description' => 'The request timeout period. Unit: seconds. Valid values: **1** to **180**.'."\n" + ."\n" + .'If no response is received from a backend server during the request timeout period, CLB sends the `HTTP 504` status code to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeout' => ['description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1** to **60**.'."\n" + ."\n" + .'If no request is received within the specified timeout period, CLB closes the connection. When a request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'example' => 'idkp-123-cn-test-0****', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval at which health checks are performed. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'XForwardedFor_SLBPORT' => ['description' => 'Indicates whether the `XForwardedFor_SLBPORT` header is used to retrieve the listener port of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI that is used for health checks.', 'type' => 'string', 'example' => '/test/index.html', 'title' => ''], + 'StickySessionType' => ['description' => 'The method used to handle the cookie.'."\n" + ."\n" + .'- **insert**: inserts a cookie. CLB inserts the SERVERID cookie to the HTTP or HTTPS response to the first request from a client. Subsequent requests that carry the SERVERID cookie from the client are forwarded to the same backend server as the first request.'."\n" + ."\n" + .'- **server**: rewrites the original cookie. CLB rewrites the custom cookies in requests from a client. Subsequent requests from the client that carry the new cookie are forwarded to the same backend server as the first request.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'XForwardedFor_ClientCertIssuerDN' => ['description' => 'Indicates whether the `XForwardedFor_ClientCertIssuerDN` header is used to obtain information about the authority that issues the client certificate. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'XForwardedFor_proto' => ['description' => 'Indicates whether the `X-Forwarded-Proto` header is used to obtain the listener protocol. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'XForwardedFor_SLBIP' => ['description' => 'Indicates whether the `SLB-IP` header is used to retrieve the VIP of the client. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled. Valid values:'."\n" + ."\n" + .'- **on**:'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method.', 'type' => 'string', 'example' => 'get', 'title' => ''], + 'TLSCipherPolicy' => ['description' => 'A TLS security policy contains TLS protocols and cipher suites available for HTTPS.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_0**:'."\n" + ."\n" + .' Supported TLS versions: TLSv1.0, TLSv1.1, and TLSv1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_1**:'."\n" + ."\n" + .' Supported TLS versions: TLSv1.1 and TLSv1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2**'."\n" + ."\n" + .' Supported TLS version: TLSv1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' Supported TLS version: TLSv1.2.'."\n" + ."\n" + .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict\\_with\\_1\\_3**'."\n" + ."\n" + .' Supported TLS versions: TLSv1.2 and TLSv1.3.'."\n" + ."\n" + .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA.', 'type' => 'string', 'example' => 'tls_cipher_policy_1_0', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'TCPListenerConfig' => [ + 'description' => 'The configurations of the TCP listener.', + 'type' => 'object', + 'properties' => [ + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code that indicates a healthy backend server.', 'type' => 'string', 'example' => 'http_2xx,http_3xx', 'title' => ''], + 'ConnectionDrainTimeout' => ['description' => 'The timeout period of connection draining. Unit: seconds.'."\n" + ."\n" + .'Value values: **10 to 900**.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'PersistenceTimeout' => ['description' => 'Indicates whether session persistence is enabled. Unit: seconds.'."\n" + ."\n" + .'Valid values: **0** to **3600**.'."\n" + ."\n" + .'**0** indicates that session persistence is disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI that is used for health checks.', 'type' => 'string', 'example' => '/test/index.html', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'EstablishedTimeout' => ['description' => 'The timeout period of a connection. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheckType' => ['description' => 'The protocol that you want to use for health checks.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'HealthCheckConnectTimeout' => ['description' => 'The timeout period of health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **300**.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the primary/secondary server group associated with the listener.', 'type' => 'string', 'example' => 'rsp-0bfucw*****', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health check status of the backend server changes from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health check status of the backend server changes from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ConnectionDrain' => ['description' => 'Indicates whether connection draining is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method.', 'type' => 'string', 'example' => 'get', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'ProxyProtocolV2Enabled' => ['description' => 'Indicates whether the Proxy protocol is used to pass source client IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: enables the burst feature for the data disk.'."\n" + ."\n" + .'- **false**: The task is not being retried.', 'type' => 'string', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'UDPListenerConfig' => [ + 'description' => 'The configurations of the UDP listener.', + 'type' => 'object', + 'properties' => [ + 'ConnectionDrainTimeout' => ['description' => 'The configurations of the UDP listener.'."\n" + ."\n" + .'Value values: **10 to 900**.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'HealthCheckExp' => ['description' => 'The response string of UDP health checks.', 'type' => 'string', 'example' => 'ok', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port that is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'HealthCheckConnectTimeout' => ['description' => 'The timeout period for a health check response.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the primary/secondary server group that is associated with the listener.', 'type' => 'string', 'example' => 'rsp-0bfucw****', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of times that a backend server must consecutively pass health checks before it is declared healthy.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of times that a backend server must consecutively fail health checks before it is declared unhealthy.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ConnectionDrain' => ['description' => 'Indicates whether connection draining is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckReq' => ['description' => 'The request string of UDP health checks.', 'type' => 'string', 'example' => 'hello', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether the health check feature is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'ProxyProtocolV2Enabled' => ['description' => 'Indicates whether the Proxy protocol is used to pass source client IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: enables the burst feature for the data disk.'."\n" + ."\n" + .'- **false**: The task is not being retried.', 'type' => 'string', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Tags' => [ + 'description' => 'The list of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags.', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['errorCode' => 'IllegalParam.ListenerProtocol', 'errorMessage' => 'The param of ListenerProtocol is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The param of MaxResults is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The param of NextToken is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParamSize.LoadBalancerId', 'errorMessage' => 'The param size of LoadBalancerId is illegal.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'UnauthorizedRegion', - 'errorMessage' => 'The specified region of is not authorized.', - ], + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], ], ], - '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' => 'CreateVServerGroup', - 'summary' => 'Creates a vServer group and adds backend servers to the vServer group.', + 'title' => 'List SLB listeners', + 'summary' => 'Queries the listeners of a Classic Load Balancer (CLB) instance.', + 'description' => '- A CLB instance is created. For more information, see [](t2280360.xdita#).'."\n" + ."\n" + .'- One or more listeners are added to the CLB instance. For more information, see the following topics:'."\n" + ."\n" + .' - [](t2280398.xdita#)'."\n" + ."\n" + .' - [](t2280397.xdita#)'."\n" + ."\n" + .' - [](t2280395.xdita#)'."\n" + ."\n" + .' - [](t2280396.xdita#)', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteVServerGroup' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-10-25T04:09:45.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-11-02T12:42:06.000Z', 'description' => 'Response parameters changed'], + ], + '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}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeLoadBalancerTCPListenerAttribute' => [ + 'summary' => 'Queries the configuration of a TCP listener.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', + 'abilityTreeCode' => '88587', + 'abilityTreeNodes' => ['FEATUREslbZQW9H1'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region to which the associated Server Load Balancer (SLB) instance belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer instance.'."\n" + ."\n" + .'Query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) interface.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the VServer group to be deleted.'."\n" - ."\n" - .'> If the VServer group is in use, it cannot be deleted.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6j*****', - ], + 'schema' => ['description' => 'The ID of the Classic Load Balancer instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ygod3yctvg1y****', 'title' => ''], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The frontend port used by the Classic Load Balancer instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], ], 'responses' => [ @@ -13824,127 +7486,230 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'VServerGroupId' => ['description' => 'The ID of the attached vServer group.', 'type' => 'string', 'example' => 'rsp-cige6******8', 'title' => ''], + 'Status' => ['description' => 'The current status of the listener. Valid values:'."\n" + ."\n" + .'- **running**: The listener is running normally.'."\n" + ."\n" + .'- **stopped**: The listener is stopped.', 'type' => 'string', 'example' => 'stopped', 'title' => ''], + 'AclType' => ['description' => 'The access control type:'."\n" + ."\n" + .'- **white**: Forwards requests only from the IP addresses or CIDR blocks configured in the selected access control policy group. Use a whitelist when an application allows access only from specific IP addresses.'."\n" + .' Setting a whitelist carries some business risks. Once you set a whitelist, only the IP addresses in the whitelist can access the SLB listener.'."\n" + ."\n" + .'If you enable whitelist access but add no IP addresses to the access policy group, the SLB listener forwards all requests.'."\n" + ."\n" + .'- **black**: All requests from the IP addresses or CIDR blocks configured in the selected access control policy group are not forwarded. Use a blacklist when an application restricts access only from specific IP addresses.'."\n" + ."\n" + .'If you enable blacklist access but add no IP addresses to the access policy group, the SLB listener forwards all requests.'."\n" + ."\n" + .'> This parameter is required when the value of the **AclStatus** parameter is **on**.', 'type' => 'string', 'example' => 'white', 'title' => ''], + 'ConnectionDrainTimeout' => ['description' => 'The connection draining timeout. This value is returned when **ConnectionDrain** is set to **on**.'."\n" + ."\n" + .'Valid values: 10 to 900 seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '300', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If you do not set this parameter, the backend service port (BackendServerPort) is used.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'Description' => ['description' => 'The custom listener name.', 'type' => 'string', 'example' => 'TCP_80', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the listener. Unit: Mbps. Valid values:'."\n" + ."\n" + .'- **-1**: For an Internet-facing SLB instance that uses the pay-by-data-transfer billing method, set the peak bandwidth to -1 to indicate no bandwidth limit.'."\n" + ."\n" + .'- **1** to **5120**: For an Internet-facing SLB instance that uses the pay-by-bandwidth billing method, set the peak bandwidth for each listener. The sum of the peak bandwidths of all listeners cannot exceed the peak bandwidth of the instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'HealthCheckType' => ['description' => 'The health check method for the TCP listener.'."\n" + ."\n" + .'Valid values: **tcp** or **http**.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the attached primary/secondary server group.', 'type' => 'string', 'example' => 'rsp-0bfucw****', 'title' => ''], + 'BackendServerPort' => ['description' => 'The backend port used by the Classic Load Balancer instance.'."\n" + ."\n" + .'> This parameter is not displayed when the backend server group is a vServer group.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''], + 'AclStatus' => ['description' => 'Indicates whether access control is enabled. Valid values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: The private IP address of the backend server. If you specify an IP address or do not specify this parameter, Server Load Balancer uses the private IP address of each backend server as the domain name for health checks.'."\n" + ."\n" + .'- **domain**: The domain name is 1 to 80 characters in length. It can contain letters, digits, periods (.), and hyphens (-).', 'type' => 'string', 'example' => 'www.domain.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The unhealthy threshold. After health checks consecutively fail for the specified number of times, the health check status of the backend server changes from **success** to **failed**. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code for a successful health check.', 'type' => 'string', 'example' => 'http_2xx', 'title' => ''], + 'ProxyProtocolV2Enabled' => ['description' => 'Indicates whether Proxy Protocol is enabled to carry the client source IP address to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: Yes.'."\n" + ."\n" + .'- **false**: No.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'PersistenceTimeout' => ['description' => 'The session persistence timeout.'."\n" + ."\n" + .'Valid values: **0** to **3600** seconds. Default value: **0**, which means session persistence is disabled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port used by the Classic Load Balancer instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '110', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between two consecutive health checks. Valid values: **1** to **50** seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URL used for health checks. The URL is 1 to 80 characters in length. It can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URL cannot be a single forward slash (/) but must start with a forward slash (/).', 'type' => 'string', 'example' => '/test/index.html', 'title' => ''], + 'AclId' => ['description' => 'The ID of the access policy group attached to the listener.'."\n" + ."\n" + .'This parameter is required when the value of the **AclStatus** parameter is **on**.', 'type' => 'string', 'example' => 'acl-uf60jwfi******', 'title' => ''], + 'SynProxy' => ['description' => 'Indicates whether the SynProxy attack prevention feature of Server Load Balancer is enabled.'."\n" + ."\n" + .'Do not adjust this parameter under normal circumstances. Server Load Balancer controls it.'."\n" + ."\n" + .'- **enable**: Enabled.'."\n" + ."\n" + .'- **disable**: Disabled.', 'type' => 'string', 'example' => 'disable', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: Consistent hashing based on source IP addresses. Requests from the same source IP address are scheduled to the same backend server.'."\n" + ."\n" + .'- **tch**: Consistent hashing based on quadruplets (source IP address, destination IP address, source port, and destination port). The same stream is scheduled to the same backend server.'."\n" + ."\n" + .'> Only guaranteed-performance instances support the **sch** and **tch** consistent hashing algorithms.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'EstablishedTimeout' => ['description' => 'The connection timeout.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'HealthCheckConnectTimeout' => ['description' => 'The timeout period.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The healthy threshold. After health checks consecutively succeed for the specified number of times, the health check status of the backend server changes from **failed** to **success**. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ConnectionDrain' => ['description' => 'Indicates whether connection draining is enabled. This value is returned when **ConnectionDrain** is set to **on**. Valid values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheckMethod' => ['description' => 'The health check method.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether health checks are enabled. Valid values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => [ + 'description' => 'The list of access control policy group IDs.', + 'type' => 'array', + 'items' => ['description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer instance.', 'type' => 'string', 'example' => 'lb-bp1ygod3yctvg1y****', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The list of tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of tags.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key of the listener. N is an integer from **1** to **20**. If you specify this parameter, it cannot be an empty string. It can contain up to 128 characters and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value of the listener. N is an integer from **1** to **20**. If you specify this parameter, it can be an empty string. It can contain up to 128 characters and cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RspoolVipExist', - 'errorMessage' => 'there are vips associating with this vServer group.', - ], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], ], ], - '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' => 'DeleteVServerGroup', - 'summary' => 'Deletes a VServer group.', + 'title' => 'DescribeLoadBalancerTCPListenerAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetVServerGroupAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:17.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-10-09T12:46:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-09T12:28:01.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-16T12:55:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-07-27T09:50:36.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + '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}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeLoadBalancerUDPListenerAttribute' => [ + 'summary' => 'Queries the configuration of a UDP listener.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'abilityTreeCode' => '88590', + 'abilityTreeNodes' => ['FEATUREslbYU0ILA'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance, which cannot be modified.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The vServer group ID, which cannot be modified.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6****', - ], + 'schema' => ['description' => 'The ID of the Classic Load Balancer instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1rtfnodmywb43e*****', 'title' => ''], ], [ - 'name' => 'VServerGroupName', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The vServer group name. You can specify a name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Group1', - ], - ], - [ - 'name' => 'BackendServers', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers. This operation only can be used to modify the weights of backend servers and names of vServer groups. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: Optional. The description of the backend server. Specify the value in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of an ENI or an elastic container instance.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Add ECS instances:'."\n" - ."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add ENIs:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add ENIs with multiple IP addresses:'."\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" - .'* Add elastic container instances:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.'."\n", - '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' => 'The frontend port used by the Classic Load Balancer instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], ], 'responses' => [ @@ -13952,105 +7717,151 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The server group ID.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6****', - ], - 'VServerGroupName' => [ - 'description' => 'The name of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'Group1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'VServerGroupId' => ['description' => 'The ID of the vServer group attached to the listener.', 'type' => 'string', 'example' => 'rsp-cige6j****', 'title' => ''], + 'Status' => ['description' => 'The current status of the listener. Valid values:'."\n" + ."\n" + .'- **running**: The listener is running normally.'."\n" + ."\n" + .'- **stopped**: The listener is stopped.', 'type' => 'string', 'example' => 'stopped', 'title' => ''], + 'AclType' => ['description' => 'The access control type:'."\n" + ."\n" + .'- **white**: Only requests from IP addresses or CIDR blocks in the selected access control policy group are forwarded. Use this setting when your application allows only specific IP addresses.'."\n" + ."\n" + .'Using a whitelist carries business risk. After you enable a whitelist, only IP addresses in the list can access the SLB listener. If you enable a whitelist but do not add any IP addresses to the policy group, the SLB listener forwards all requests.'."\n" + ."\n" + .'- **black**: Requests from IP addresses or CIDR blocks in the selected access control policy group are blocked. Use this setting when your application restricts access for specific IP addresses.'."\n" + ."\n" + .'If you enable a blacklist but do not add any IP addresses to the policy group, the SLB listener forwards all requests.', 'type' => 'string', 'example' => 'white', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**. If you do not specify this parameter, the backend server port (BackendServerPort) is used.'."\n" + ."\n" + .'> This parameter takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'Description' => ['description' => 'A custom name for the listener.', 'type' => 'string', 'example' => 'UDP_80', 'title' => ''], + 'Bandwidth' => ['description' => 'The maximum bandwidth for the listener, in Mbit/s. Valid values:'."\n" + ."\n" + .'- **-1**: For Internet-facing SLB instances that use pay-by-data-transfer billing, set the maximum bandwidth to -1 to remove the bandwidth limit.'."\n" + ."\n" + .'- **1** to **5120**: For Internet-facing SLB instances that use pay-by-bandwidth billing, set the maximum bandwidth for each listener. The sum of all listener bandwidth limits must not exceed the instance\'s maximum bandwidth.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the primary/secondary server group attached to the listener.', 'type' => 'string', 'example' => 'rsp-0bfucw****', 'title' => ''], + 'BackendServerPort' => ['description' => 'The backend port used by the Classic Load Balancer instance.'."\n" + ."\n" + .'> This parameter is not returned if the backend server group is a vServer group.', 'type' => 'integer', 'format' => 'int32', 'example' => '90', 'title' => ''], + 'AclStatus' => ['description' => 'Whether access control is enabled. Valid values: **on** or **off** (default).', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The unhealthy threshold. The number of consecutive failed health checks before the health check status of a backend server changes from **success** to **failure**. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'ProxyProtocolV2Enabled' => ['description' => 'Whether the Proxy Protocol version 2 is enabled to pass client source IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: Yes.'."\n" + ."\n" + .'- **false**: No.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ListenerPort' => ['description' => 'The frontend port used by the Classic Load Balancer instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '53', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The interval between health checks, in seconds. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'HealthCheckExp' => ['description' => 'The response string for UDP listener health checks. This string can contain only letters and digits. Maximum length: 64 characters.', 'type' => 'string', 'example' => 'ok', 'title' => ''], + 'AclId' => ['description' => 'The ID of the access control policy group.', 'type' => 'string', 'example' => 'acl-uf60jwfiv6******', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'HealthCheckConnectTimeout' => ['description' => 'The time to wait for a response from a health check. If an ECS instance does not respond within this time, the health check fails. Valid values: **1** to **300** seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The healthy threshold. The number of consecutive successful health checks before the health check status of a backend server changes from **failure** to **success**. Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'HealthCheckReq' => ['description' => 'The request string for UDP listener health checks. This string can contain only letters and digits. Maximum length: 64 characters.', 'type' => 'string', 'example' => 'hello', 'title' => ''], + 'HealthCheck' => ['description' => 'Whether health checks are enabled. Valid values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'AclIds' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'AclId' => [ + 'description' => 'The ID of the access control policy group.', + 'type' => 'array', + 'items' => ['description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'BackendServers' => [ + 'LoadBalancerId' => ['description' => 'The ID of the Classic Load Balancer instance.', 'type' => 'string', 'example' => 'lb-bp1rtfnodmywb43e*****', 'title' => ''], + 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'Tag' => [ + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the server group.'."\n", - 'type' => 'string', - 'example' => 'Backend server group description', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'i-bp1ek6yd7jvkx****', - ], + 'TagKey' => ['description' => 'The tag key for the listener. Valid values for N: **1** to **20**. You cannot specify an empty string. Maximum length: 128 characters. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value for the listener. Valid values for N: **1** to **20**. You can specify an empty string. Maximum length: 128 characters. It cannot start with `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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.', - ], - ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - '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' => 'SetVServerGroupAttribute', - 'summary' => 'Modifies the configurations of a vServer group.', - 'description' => 'This operation can be used to modify the weights of backend servers and names of vServer groups.'."\n" - ."\n" - .'* If you want to modify backend servers in a specified vServer group, call the [ModifyVServerGroupBackendServers](~~35220~~) operation.'."\n" - .'* If you want to add backend servers to a specified vServer group, call the [AddVServerGroupBackendServers](~~35218~~) operation.'."\n", + 'title' => 'DescribeLoadBalancerUDPListenerAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeVServerGroups' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2024-10-09T12:46:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-09T12:28:01.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-28T03:22:39.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-16T12:55:43.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-07-27T09:50:35.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + '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}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeLoadBalancers' => [ + 'summary' => 'You can query created SLB instances.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14060,102 +7871,187 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88581', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~2401682~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'ServerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the backend server that is added to the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'i-2zebcbq******', 'title' => ''], + ], + [ + 'name' => 'AddressIPVersion', + 'in' => 'query', + 'schema' => ['description' => 'The IP version. Set the value to **ipv4** or **ipv6**.', 'type' => 'string', 'required' => false, 'example' => 'ipv4', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerStatus', + 'in' => 'query', + 'schema' => ['description' => 'The state of the instance. Valid values:'."\n" + ."\n" + .'- **inactive**: The instance is stopped. Listeners of an instance in this state do not forward traffic.'."\n" + ."\n" + .'- **active**: The instance is running. This is the default state of an instance after it is created.'."\n" + ."\n" + .'- **locked**: The instance is locked. An instance enters the locked state after it expires. This state lasts for seven days. You cannot perform operations on the instance. The instance does not forward traffic, but its IP address and other configurations are retained.', 'type' => 'string', 'required' => false, 'example' => 'active', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6ea*******', - ], + 'schema' => ['description' => 'The ID of the CLB instance.'."\n" + ."\n" + .'You can specify up to 10 IDs, separated by commas (,).', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1b6c719dfa****', 'title' => ''], ], [ - 'name' => 'IncludeRule', + 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the forwarding rules associated with the vServer groups. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false** (default): no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The name of the CLB instance.'."\n" + ."\n" + .'The name must be 1 to 80 characters in length. It must start with a letter or a Chinese character. It can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'You can specify up to 10 names. Separate multiple names with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'IncludeListener', + 'name' => 'ServerIntranetAddress', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return information about the associated listeners. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false** (default): no'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The internal IP address of the added backend server.'."\n" + ."\n" + .'You can specify multiple IP addresses. Separate them with commas (,).', 'type' => 'string', 'required' => false, 'example' => '10.XX.XX.102', 'title' => ''], + ], + [ + 'name' => 'AddressType', + 'in' => 'query', + 'schema' => ['description' => 'The network type of the CLB instance. Valid values:'."\n" + ."\n" + .'- **internet**: An Internet-facing CLB instance. The system assigns a public IP address to the instance. The instance can forward requests from the Internet.'."\n" + ."\n" + .'- **intranet**: An internal-facing CLB instance. The system assigns a private IP address to the instance. The instance can forward requests only within internal networks.', 'type' => 'string', 'required' => false, 'example' => 'intranet', 'title' => ''], + ], + [ + 'name' => 'InternetChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **paybybandwidth**: pay-by-bandwidth.'."\n" + ."\n" + .'- **paybytraffic**: pay-by-data-transfer.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'If **PayType** is set to **PrePay**, only pay-by-bandwidth is supported. If **InstanceChargeType** is set to **PayByCLCU**, only pay-by-data-transfer is supported.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'required' => false, 'example' => 'paybytraffic', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the virtual private cloud (VPC) to which the CLB instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1aevy8sof****', 'title' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vSwitch to which the CLB instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3****', 'title' => ''], + ], + [ + 'name' => 'NetworkType', + 'in' => 'query', + 'schema' => ['description' => 'The network type of the internal-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **vpc**: a VPC.'."\n" + ."\n" + .'- **classic**: a classic network.', 'type' => 'string', 'required' => false, 'example' => 'vpc', 'title' => ''], + ], + [ + 'name' => 'Address', + 'in' => 'query', + 'schema' => ['description' => 'The service address of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], + ], + [ + 'name' => 'MasterZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the primary zone of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-b', 'title' => ''], + ], + [ + 'name' => 'SlaveZoneId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the secondary zone of the CLB instance.'."\n" + ."\n" + .'The multi-zone feature is not available for Alibaba Finance Cloud users.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-d', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags that are added to the CLB instance. The value is a JSON dictionary that consists of tag keys and tag values.'."\n" + ."\n" + .'You can add up to 10 tags in each request.', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', 'title' => ''], + ], + [ + 'name' => 'PayType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'- **PayOnDemand**: pay-as-you-go.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **PrePay**: subscription.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'required' => false, 'example' => 'PayOnDemand', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxazb4p****', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'default' => '0', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page.'."\n" + ."\n" + .'Valid values: **1** to **100**.'."\n" + ."\n" + .'> If you set **PageSize**, you must also set **PageNumber**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '50', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', - 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The list of tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: 1 to 20. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs`:.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: 1 to 20. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => 'The key of tag N. Valid values of N: 1 to **20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], + 'Value' => ['description' => 'The value of tag N. Valid values of N: 1 to **20**. The tag value can be an empty string.'."\n" + .'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The name of the vServer group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Group3', + 'title' => '', + 'example' => '', ], ], ], @@ -14164,175 +8060,187 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'VServerGroups' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of instances that meet the filter conditions.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LoadBalancers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'VServerGroup' => [ - 'description' => 'The backend servers.'."\n", + 'LoadBalancer' => [ + 'itemNode' => true, + 'description' => 'The list of CLB instances.', + 'title' => '', 'type' => 'array', 'items' => [ - 'description' => 'Details of the vServer groups.'."\n", + 'description' => 'The list of CLB instances.', 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The server group ID.'."\n", - 'type' => 'string', - 'example' => 'rsp-0bfuc*****', - ], - 'VServerGroupName' => [ - 'description' => 'The server group name.'."\n", - 'type' => 'string', - 'example' => 'Group3', - ], - 'AssociatedObjects' => [ - 'description' => 'The associated resources.'."\n", - 'type' => 'object', - 'properties' => [ - 'Listeners' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Listener' => [ - 'description' => 'The listeners.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The listener.'."\n", - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The listener port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => 'The listener protocol. Valid values: **tcp**, **udp**, **http**, and **https**.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], - ], - ], - ], - ], - ], - 'Rules' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Rule' => [ - 'description' => 'The forwarding rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The forwarding rules.', - 'type' => 'object', - 'properties' => [ - 'Url' => [ - 'description' => 'The request URL.'."\n", - 'type' => 'string', - 'example' => '/example', - ], - 'Domain' => [ - 'description' => 'The requested domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RuleName' => [ - 'description' => 'The name of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RuleId' => [ - 'description' => 'The ID of the forwarding rule.'."\n", - 'type' => 'string', - 'example' => 'rule-a3x3pg1yohq3lq****', - ], - ], - ], - ], - ], - ], - ], - ], - 'ServerCount' => [ - 'description' => 'The number of servers.'."\n" - ."\n" - .'This parameter is unavailable by default. To use this parameter, submit a ticket or contact your account manager.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], + 'VpcId' => ['description' => 'The ID of the VPC in which the internal-facing CLB instance is deployed.', 'type' => 'string', 'example' => 'vpc-25dvzy9f8****', 'title' => ''], + 'CreateTimeStamp' => ['description' => 'The timestamp that indicates when the instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the instance was created. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2021-12-02T02:49:05Z', 'title' => ''], + 'PayType' => ['description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'- **PayOnDemand**: pay-as-you-go.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **PrePay**: subscription.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'example' => 'PayOnDemand', 'title' => ''], + 'AddressType' => ['description' => 'The network type of the instance. Valid values:'."\n" + ."\n" + .'- **internet**: An Internet-facing CLB instance. The system assigns a public IP address to the instance. The instance can forward requests from the Internet.'."\n" + ."\n" + .'- **intranet**: An internal-facing CLB instance. The system assigns a private IP address to the instance. The instance can forward requests only within internal networks.', 'type' => 'string', 'example' => 'intranet', 'title' => ''], + 'NetworkType' => ['description' => 'The network type of the internal-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **vpc**: a VPC.'."\n" + ."\n" + .'- **classic**: a classic network.', 'type' => 'string', 'example' => 'vpc', 'title' => ''], + 'AddressIPVersion' => ['description' => 'The IP version. Valid values: **ipv4** and **ipv6**.', 'type' => 'string', 'example' => 'ipv4', 'title' => ''], + 'LoadBalancerName' => ['description' => 'The name of the CLB instance.', 'type' => 'string', 'example' => 'lb-bp1o94dp5i6ea****', 'title' => ''], + 'Bandwidth' => ['description' => 'The peak bandwidth of the listener. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'Address' => ['description' => 'The service address of the CLB instance.', 'type' => 'string', 'example' => '100.XX.XX.28', 'title' => ''], + 'SlaveZoneId' => ['description' => 'The ID of the secondary zone of the instance.', 'type' => 'string', 'example' => 'cn-hangzhou-d', 'title' => ''], + 'MasterZoneId' => ['description' => 'The ID of the primary zone of the instance.', 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'InternetChargeTypeAlias' => ['description' => 'The billing method of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **paybybandwidth**: pay-by-bandwidth.'."\n" + ."\n" + .'- **paybytraffic**: pay-by-data-transfer'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'If **PayType** is set to **PrePay**, only pay-by-bandwidth is supported. If **InstanceChargeType** is set to **PayByCLCU**, only pay-by-data-transfer is supported.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'example' => 'paybybandwidth', 'title' => ''], + 'LoadBalancerSpec' => ['description' => 'The specification of the CLB instance.'."\n" + ."\n" + .'> Pay-by-data-transfer instances have no specification. The default value **slb.lcu.elastic** is returned.', 'type' => 'string', 'example' => 'slb.s1.small', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the CLB instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ModificationProtectionReason' => ['description' => 'The reason why the configuration read-only mode is enabled. The reason must be 1 to 80 characters in length. It must start with a letter or a Chinese character. It can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> This parameter is valid only if `ModificationProtectionStatus` is set to **ConsoleProtection**.', 'type' => 'string', 'example' => 'ManagedInstance', 'title' => ''], + 'ModificationProtectionStatus' => ['description' => 'The status of the configuration read-only mode:'."\n" + ."\n" + .'- **NonProtection**: The configuration read-only mode is disabled. After you disable the mode, the value of `ModificationProtectionReason` is cleared.'."\n" + ."\n" + .'- **ConsoleProtection**: The configuration read-only mode is enabled.'."\n" + ."\n" + .'> If the value is **ConsoleProtection**, the configuration read-only mode is enabled. You cannot modify the instance configuration in the CLB console. However, you can call API operations to modify the instance configuration.', 'type' => 'string', 'example' => 'ConsoleProtection', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch in the VPC where the internal-facing CLB instance is deployed.', 'type' => 'string', 'example' => 'vsw-255ecr****', 'title' => ''], + 'LoadBalancerStatus' => ['description' => 'The state of the CLB instance. Valid values:'."\n" + ."\n" + .'- **inactive**: The instance is stopped. Listeners of an instance in this state do not forward traffic.'."\n" + ."\n" + .'- **active**: The instance is running. This is the default state of an instance after it is created.'."\n" + ."\n" + .'- **locked**: The instance is locked.', 'type' => 'string', 'example' => 'active', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-atstuj3r****', 'title' => ''], + 'InternetChargeType' => ['description' => 'The billing method of the Internet-facing instance. Valid values:'."\n" + ."\n" + .'- **3**: pay-by-bandwidth.'."\n" + ."\n" + .'- **4**: pay-by-data-transfer.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'If **PayType** is set to **PrePay**, only pay-by-bandwidth is supported. If **InstanceChargeType** is set to **PayByCLCU**, only pay-by-data-transfer is supported.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'example' => '3', 'title' => ''], + 'DeleteProtection' => ['description' => 'Indicates whether deletion protection is enabled for the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**: enabled.'."\n" + ."\n" + .'- **off**: disabled.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'RegionIdAlias' => ['description' => 'The name of the region where the CLB instance is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The list of tags', + 'title' => '', 'type' => 'array', 'items' => [ - 'description' => 'Tag objects.'."\n", + 'description' => 'The list of tags', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'testvalue', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'testkey', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The param of TagKey is missing.', + ['errorCode' => 'InvalidTag', 'errorMessage' => 'The specified tags is invalid.', 'description' => ''], + ['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' => 'The specified region of is not authorized.'], + ], + ], + 'title' => 'DescribeLoadBalancers', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:19.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + '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-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' => 'DescribeVServerGroups', - 'summary' => 'Queries vServer groups.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","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 }\\n ]\\n }\\n}","type":"json"}]', 'extraInfo' => ' ', ], - 'DescribeVServerGroupAttribute' => [ - 'summary' => 'Queries the detailed information about a vServer group.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeMasterSlaveServerGroupAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14340,35 +8248,17 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '88613', - 'abilityTreeNodes' => [ - 'FEATUREslb1HTJST', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'MasterSlaveServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6****', - ], + 'schema' => ['description' => 'The ID of the primary/secondary server group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6j******', 'title' => ''], ], ], 'responses' => [ @@ -14376,553 +8266,348 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6****', - ], - 'VServerGroupName' => [ - 'description' => 'The name of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'Group1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-jfakd****', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******', 'title' => ''], + 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'Tag' => [ + 'description' => 'The tag list.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tag list.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs**: ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the server group.'."\n" - ."\n" - .'> This parameter is not returned if the Description parameter is not specified in the request.'."\n", - 'type' => 'string', - 'example' => 'Server Group Description', - ], - 'ServerIp' => [ - 'description' => 'The IP address of the backend server.'."\n", - 'type' => 'string', - 'example' => '192.XX.XX.11', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'vm-233', - ], + 'TagKey' => ['description' => 'The tag key. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value. Valid values of N: **1** to **20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], - 'Tags' => [ + 'LoadBalancerId' => ['description' => 'The ID of the associated CLB instance.', 'type' => 'string', 'example' => 'lb-14fadafw4343a******', 'title' => ''], + 'MasterSlaveServerGroupName' => ['description' => 'The name of the primary/secondary server group.', 'type' => 'string', 'example' => 'Group1', 'title' => ''], + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the primary/secondary server group.', 'type' => 'string', 'example' => 'rsp-cige6******', 'title' => ''], + 'MasterSlaveBackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => 'The tags of the backend server.'."\n", + 'MasterSlaveBackendServer' => [ + 'description' => 'A list of backend servers in the primary/secondary server group.', 'type' => 'array', 'items' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The backend servers in the primary/secondary server group.', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The tag value. Valid values of N: **1** to **20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'Type' => ['description' => 'The type of the backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): Elastic Compute Service (ECS) instance'."\n" + ."\n" + .'- **eni**: elastic network interface (ENI)'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'eni', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the primary/secondary server group.', 'type' => 'string', 'example' => 'The description of the primary/secondary server group.', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '90', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'example' => 'eni-hhshhs****', 'title' => ''], + 'ServerType' => ['description' => 'The type of backend server. Valid values: **Master** and **Slave**.', 'type' => 'string', 'example' => 'Slave', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-12-02T02:49:05Z', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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****\\",\\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' => 'DescribeVServerGroupAttribute', + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeMasterSlaveServerGroupAttribute', + 'summary' => 'Queries the detailed information about a primary/secondary server group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddVServerGroupBackendServers' => [ - 'summary' => 'Adds backend servers to a vServer group.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => 'Response parameters changed'], ], - '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' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6******', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp14zi0n66zpg6o******', 'title' => ''], ], [ - 'name' => 'BackendServers', + 'name' => 'IncludeListener', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return information about the associated listeners. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The backend servers that you want to add. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: Required. The ID of the backend server. Specify the ID in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), and an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: Optional. The description of the backend server. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of an ENI or an elastic container instance.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Add an ECS instance:'."\n" - ."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add an ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add an ENI with multiple IP addresses:'."\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" - .'* Add an elastic container instance:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.'."\n", - '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" }]', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` and `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'example' => '[{"Key":"TestKey","Value":"TestValue"}]', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], + [ + 'name' => 'Description', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => 'The description of the primary/secondary server group.', 'type' => 'string', 'required' => false, 'example' => 'Group3', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j******', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + 'MasterSlaveServerGroups' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'MasterSlaveServerGroup' => [ + 'description' => 'The primary/secondary server groups.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'backend server', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', + 'MasterSlaveServerGroupId' => ['description' => 'The ID of the primary/secondary server group.', 'type' => 'string', 'example' => 'rsp-0bfuc******', 'title' => ''], + 'MasterSlaveServerGroupName' => ['description' => 'The name of the primary/secondary server group.', 'type' => 'string', 'example' => 'Group3', 'title' => ''], + 'AssociatedObjects' => [ + 'description' => 'The associated resources.', + 'type' => 'object', + 'properties' => [ + 'Listeners' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Listener' => [ + 'description' => 'The listeners.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Protocol' => ['description' => 'The listener protocol.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'ServerId' => [ - 'description' => 'The ID of the ECS instance or ENI.'."\n", - 'type' => 'string', - 'example' => 'eni-hhshhs****', + 'CreateTime' => ['description' => 'The time when the CLB instance was created. Specify the time in the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-12-02T02:49:05Z', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags to add to the resource.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], - ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.vServers', - 'errorMessage' => 'The specified enis %s does not exist.', - ], - [ - 'errorCode' => 'ResourceNotFound.Cen', - 'errorMessage' => 'The specified resource Cen %s not Exists.', - ], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => ''], ], ], - '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' => 'AddVServerGroupBackendServers', + 'title' => 'DescribeMasterSlaveServerGroups', + 'summary' => 'Queries primary/secondary server groups.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyVServerGroupBackendServers' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-10-25T04:09:45.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => 'Response parameters changed'], + ], + '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\\": \\"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}","type":"json"}]', + ], + 'DescribeRegions' => [ + 'summary' => 'Queries available regions.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', + 'abilityTreeCode' => '88601', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'VServerGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6j****', - ], - ], - [ - 'name' => 'OldBackendServers', + 'name' => 'AcceptLanguage', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers that you want to replace. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of Elastic Compute Service (ECS) instances, elastic network interfaces (ENIs), and elastic container instances. If you set **ServerId** to the IDs of ENIs or elastic container instances, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: optional. The description of the backend servers. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/). periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Add an ECS instance:'."\n" - ."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add an ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add an ENI with multiple IP addresses:'."\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" - .'* Add an elastic container instance'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]', - ], + 'schema' => ['description' => 'The supported language. Valid values:'."\n" + ."\n" + .'- zh-CN: Chinese'."\n" + ."\n" + .'- en-US: English'."\n" + ."\n" + .'- ja: Japanese', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''], ], [ - 'name' => 'NewBackendServers', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers that you want to add to the vServer group. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of ECS instances, ENIs, and elastic container instances. If you set **ServerId** to the IDs of ENIs or elastic container instances, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: optional. The description of the backend servers. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/). periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Add an ECS instance:'."\n" - ."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add an ENI:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add an ENI with multiple IP addresses:'."\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" - .'* Add an elastic container instance'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.'."\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' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -14930,449 +8615,475 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '1651FBB6-4FBF-49FF-A9F5-DF5D696C7EC6', 'title' => ''], + 'Regions' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'Region' => [ + 'description' => 'The list of regions.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the backend server.'."\n", - 'type' => 'string', - 'example' => 'Backend server description', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '70', - ], - 'ServerId' => [ - 'description' => 'The ID of the ECS instance or ENI.'."\n", - 'type' => 'string', - 'example' => 'i-bp1ge5hrp****', - ], + 'RegionEndpoint' => ['description' => 'The endpoint of the region.', 'type' => 'string', 'example' => 'slb.aliyuncs.com', 'title' => ''], + 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Beijing)', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => ''], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], ], - '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' => 'ModifyVServerGroupBackendServers', - 'summary' => 'Replaces backend servers in a vServer group.', - 'description' => 'This operation can be used only to replace backend servers in a vServer group. To modify the attributes of backend servers, such as weights, call the [SetVServerGroupAttribute](~~35217~~) operation.'."\n", + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeRegions', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RemoveVServerGroupBackendServers' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], ], - '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' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'VServerGroupId', + 'name' => 'RuleId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rule-bp1efemp9****', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6****', + 'type' => 'object', + 'properties' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group that is associated with the forwarding rule.', 'type' => 'string', 'example' => 'rsp-cige6j****', 'title' => ''], + 'Cookie' => ['description' => 'The cookie to be configured on the backend server.'."\n" + ."\n" + .'The cookie must be 1 to 200 characters in length and can contain ASCII letters and digits. It cannot contain commas (,), semicolons (;), or whitespace characters. It cannot start with a dollar sign ($).'."\n" + ."\n" + .'If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **server**, this parameter is required.', 'type' => 'string', 'example' => 'wwe', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'example' => 'lb-bp1ca0zt07t934wxe****', 'title' => ''], + 'RuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => 'rule-hfgnd*****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The backend port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required. If this parameter is empty but **HealthCheck** is set to **on**, the listener port is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '23', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check.'."\n" + ."\n" + .'Valid values: **1** to **300**. Unit: seconds.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''], + 'CookieTimeout' => ['description' => 'The timeout period of a cookie.'."\n" + ."\n" + .'Valid values: **1 to 86400**. Unit: seconds.'."\n" + ."\n" + .'> If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **insert**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: The private IP address of the backend server. If the $\\_ip parameter is set or the HealthCheckDomain parameter is not set, SLB uses the private IP addresses of backend servers as the domain names for health checks.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length. It can contain only letters, digits, periods (.),and hyphens (-).'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'The number of consecutive failed health checks that must occur before a healthy backend server is declared unhealthy. In this case, the health check state is changed from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code that indicates a successful health check. Separate multiple HTTP status codes with commas (,). Default value: **http\\_2xx**.'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => 'http_3xx ', 'title' => ''], + 'Domain' => ['description' => 'The domain name that is configured in the forwarding rule.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'ListenerPort' => ['description' => 'The listener port that is used by the SLB instance.', 'type' => 'string', 'example' => '90', 'title' => ''], + 'Url' => ['description' => 'The URL that is configured in the forwarding rule.', 'type' => 'string', 'example' => '/cache', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The time interval between two consecutive health checks.'."\n" + ."\n" + .'Valid values: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI that is used for health checks.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => '/rest', 'title' => ''], + 'RuleName' => ['description' => 'The name of the forwarding rule.', 'type' => 'string', 'example' => 'Rule1', 'title' => ''], + 'StickySessionType' => ['description' => 'The method that is used to handle a cookie. Valid values:'."\n" + ."\n" + .'- **insert**: inserts a cookie into the response. SLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" + ."\n" + .'- **server**: rewrites a cookie. When SLB detects a user-defined cookie, SLB overwrites the original cookie with the user-defined cookie. The next request from the client contains the user-defined cookie, and the listener distributes the request to the recorded backend server.'."\n" + ."\n" + .'> If you set the **StickySession** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'ListenerSync' => ['description' => 'Indicates whether the forwarding rule uses the scheduling algorithm, session persistence, and health check configurations of the listener.'."\n" + ."\n" + .'Valid values: **on** and **off**.'."\n" + ."\n" + .'- **off**: does not use the configurations of the listener. You can customize health check and session persistence configurations for the forwarding rule.'."\n" + ."\n" + .'- **on**: uses the configurations of the listener.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthyThreshold' => ['description' => 'The number of consecutive successful health checks that must occur before an unhealthy backend server is declared healthy. In this case, the health check state is changed from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled.'."\n" + ."\n" + .'Valid values: **on** and **off**.'."\n" + ."\n" + .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheck' => ['description' => 'Specifies whether to enable health checks.'."\n" + ."\n" + .'Valid values: **on** and **off**.'."\n" + ."\n" + .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.', 'type' => 'string', 'example' => 'off', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'title' => 'DescribeRuleAttribute', + 'summary' => 'Queries the configurations of a specified forwarding rule.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-09-20T12:11:16.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRuleAttribute'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'BackendServers', - 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers that you want to remove. Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: Optional. The description of the backend server. Specify the value in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs**: ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of an ENI or an elastic container instance.'."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'Examples:'."\n" - ."\n" - .'* Add ECS instances:'."\n" - ."\n" - .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add ENIs:'."\n" - ."\n" - .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" - ."\n" - .'* Add ENIs with multiple IP addresses:'."\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" - .'* Add elastic container instances:'."\n" - ."\n" - .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" - ."\n" - .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers.'."\n", - '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" }]', + '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeRules' => [ + 'summary' => 'Queries the forwarding rules that are configured for a specified listener.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the SLB instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ca0zt07t934****', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The frontend listener protocol that is used by the SLB instance.'."\n" + ."\n" + .'> This parameter is required when listeners that use different protocols listen on the same port.', 'type' => 'string', 'required' => false, 'example' => 'http', 'title' => ''], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'The frontend listener port that is used by the Server Load Balancer (SLB) instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '90', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'VServerGroupId' => [ - 'description' => 'The ID of the vServer group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6j****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'BackendServers' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + 'Rules' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BackendServer' => [ - 'description' => 'The backend servers.'."\n", + 'Rule' => [ + 'description' => 'The forwarding rules.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'vm-230', - ], + 'HealthCheckHttpCode' => ['description' => 'The HTTP status code that indicates a successful health check. Multiple HTTP status codes are separated by commas (,). Default value: **http\\_2xx**.'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => 'http_3xx', 'title' => ''], + 'VServerGroupId' => ['description' => 'The ID of the destination vServer group specified in the forwarding rule.', 'type' => 'string', 'example' => 'rsp-6cejjzl****', 'title' => ''], + 'Domain' => ['description' => 'The requested domain name specified in the forwarding rule.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'Cookie' => ['description' => 'The cookie that is configured on the backend server.'."\n" + ."\n" + .'The value must be 1 to 200 characters in length, and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" + ."\n" + .'> If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **server**, this parameter is required.', 'type' => 'string', 'example' => '23', 'title' => ''], + 'HealthCheckInterval' => ['description' => 'The time interval between two consecutive health checks.'."\n" + ."\n" + .'Valid values: **1 to 50**. Unit: seconds.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'Url' => ['description' => 'The requested path specified in the forwarding rule.', 'type' => 'string', 'example' => '/cache', 'title' => ''], + 'HealthCheckURI' => ['description' => 'The URI that is used for health checks.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => '/example', 'title' => ''], + 'StickySessionType' => ['description' => 'The method that is used to handle a cookie. Valid values:'."\n" + ."\n" + .'- **insert**: inserts a cookie into the response. SLB inserts a cookie (SERVERID) into the first HTTP or HTTPS response packet that is sent to a client. The next request from the client will contain this cookie, and the listener will distribute this request to the recorded backend server.'."\n" + ."\n" + .'- **server**: rewrites a cookie. When SLB detects a user-defined cookie, SLB overwrites the original cookie with the user-defined cookie. The next request from the client contains the user-defined cookie, and the listener distributes the request to the recorded backend server.'."\n" + ."\n" + .'> If you set the **StickySession** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'RuleName' => ['description' => 'The name of the forwarding rule. The name must be 1 to 80 characters in length, and can contain only letters, digits, hyphens (-), forward slashes (/), periods (.),and underscores (\\_).'."\n" + ."\n" + .'> The name of each forwarding rule must be unique within a listener.', 'type' => 'string', 'example' => 'Rule2', 'title' => ''], + 'RuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => 'rule-tybqi6****', 'title' => ''], + 'HealthCheckConnectPort' => ['description' => 'The backend port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1 to 65535**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required. If this parameter is empty but **HealthCheck** is set to **on**, the listener port is used for health checks.', 'type' => 'integer', 'format' => 'int32', 'example' => '45', 'title' => ''], + 'Scheduler' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr** (default): Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.', 'type' => 'string', 'example' => 'wrr', 'title' => ''], + 'HealthCheckTimeout' => ['description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds'."\n" + ."\n" + .'Valid values: **1 to 300**.'."\n" + ."\n" + .'> When you set the **HealthCheck** parameter to **on**, this parameter takes effect.', 'type' => 'integer', 'format' => 'int32', 'example' => '34', 'title' => ''], + 'ListenerSync' => ['description' => 'Indicates whether the forwarding rule uses the scheduling algorithm, session persistence, and health check configurations of the listener.'."\n" + ."\n" + .'Valid values: **on** and **off**.'."\n" + ."\n" + .'- **off**: does not use the configurations of the listener. You can customize health check and session persistence configurations for the forwarding rule.'."\n" + ."\n" + .'- **on**: uses the configurations of the listener.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthyThreshold' => ['description' => 'Specifies the number of successful health checks that must be consecutively performed before a backend server can be declared healthy (from **fail** to **success**).'."\n" + ."\n" + .'Valid values: **2 to 10**.'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], + 'CookieTimeout' => ['description' => 'The timeout period of a cookie. Valid values: **1 to 86400**. Unit: seconds.'."\n" + ."\n" + .'> If you set the **StickySession** parameter to **on** and the **StickySessionType** parameter to **insert**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '56', 'title' => ''], + 'HealthCheckDomain' => ['description' => 'The domain name that is used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: The private IP address of the backend server.'."\n" + ."\n" + .' If you do not set this parameter or set the parameter to $\\_ip, the SLB instance uses the private IP address of each backend server as the domain name for health checks.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length. The domain name can contain only letters, digits, periods (.),and hyphens (-).'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'UnhealthyThreshold' => ['description' => 'Specifies the number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy (from **success** to **fail**).'."\n" + ."\n" + .'Valid values: **2 to 10**'."\n" + ."\n" + .'> If you set the **HealthCheck** parameter to **on**, this parameter is required.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StickySession' => ['description' => 'Specifies whether to enable session persistence.'."\n" + ."\n" + .'Valid values: **on** and **off**.'."\n" + ."\n" + .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.', 'type' => 'string', 'example' => 'off', 'title' => ''], + 'HealthCheck' => ['description' => 'Indicates whether health checks are enabled.'."\n" + ."\n" + .'Valid values: **on** and **off**.'."\n" + ."\n" + .'> If you set the **ListenerSync** parameter to **off**, this parameter is required. If you set the parameter to **on**, the configuration of the listener is used.', 'type' => 'string', 'example' => 'off', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'LbStatusNotSupport', - 'errorMessage' => 'The status of specified loadbalancer does not support..', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => ''], ], ], - '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' => 'RemoveVServerGroupBackendServers', - 'summary' => 'Removes backend servers from a vServer group.', - 'description' => '> If the backend servers specified by the **BackendServers** parameter do not exist in the vServer group, the backend servers are ignored. No error message is returned.'."\n", + 'title' => 'DescribeRules', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateMasterSlaveServerGroup' => [ - '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeServerCertificates' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region where the CLB instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n" + ."\n" + .'> If the endpoint of the selected region is slb.aliyuncs.com, you must specify `RegionId`.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1hv944r69al4j******', - ], - ], - [ - 'name' => 'MasterSlaveServerGroupName', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the primary/secondary server group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Group1', - ], + 'schema' => ['description' => 'The server certificate ID.', 'type' => 'string', 'required' => false, 'example' => '12315790*******_166f8204689_1714763408_709981430', 'title' => ''], ], [ - 'name' => 'MasterSlaveBackendServers', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The backend servers in the primary/secondary server group. Each primary/secondary server group consists of two backend servers.'."\n" - ."\n" - .'Configure the following parameters:'."\n" - ."\n" - .'* **ServerId**: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of Elastic Compute Service (ECS) instances, elastic network interfaces (ENIs), and elastic container instances. If you set **ServerId** to the IDs of ENIs or elastic container instances, you must configure the **Type** parameter.'."\n" - ."\n" - .'* **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" - ."\n" - .'* **Description**: optional. The description of the backend servers. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/). periods (.), and underscores (\\_).'."\n" - ."\n" - .'* **Type**: the type of the backend server. Valid values:'."\n" - ."\n" - .' * **ecs** (default): ECS instance'."\n" - .' * **eni**: ENI'."\n" - .' * **eci**: elastic container instance'."\n" - ."\n" - .'> You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.'."\n" - ."\n" - .'* **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" - ."\n" - .'* **Port**: the backend port.'."\n" - ."\n" - .'* **ServerType**: Specify the primary and secondary backend servers in a string. Valid values:'."\n" - ."\n" - .' * **Master**: primary server'."\n" - .' * **Slave**: secondary server'."\n", - '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" }]', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', - 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs`:. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], @@ -15381,196 +9092,177 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the active/standby server group.'."\n", - 'type' => 'string', - 'example' => 'rsp-bp19au4******', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7CA4DB76-4D32-523B-822E-5C9494613D46', - ], - 'MasterSlaveBackendServers' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'ServerCertificates' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'MasterSlaveBackendServer' => [ - 'description' => 'The backend servers in the primary/secondary server group.'."\n", + 'ServerCertificate' => [ + 'description' => 'The server certificates.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of backend server. Valid values:'."\n" - ."\n" - .'* **ecs**: ECS instance'."\n" - .'* **eni**: ENI'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'ecs', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the primary/secondary server group.'."\n", - 'type' => 'string', - 'example' => 'test-112', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '82', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server that you want to add.'."\n", - 'type' => 'string', - 'example' => 'i-bp1fq61enf4loa5i****', + 'CreateTimeStamp' => ['description' => 'The timestamp when the server certificate was uploaded.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'AliCloudCertificateName' => ['description' => 'The name of the server certificate from Alibaba Cloud Certificate Management Service.', 'type' => 'string', 'example' => 'testcertkey', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the server certificate expires.', 'type' => 'string', 'example' => '2023-01-26T23:59:59Z', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the server certificate was uploaded.', 'type' => 'string', 'example' => '2021-08-31T02:49:05Z', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The server certificate ID.', 'type' => 'string', 'example' => '123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02', 'title' => ''], + 'ExpireTimeStamp' => ['description' => 'The timestamp when the server certificate expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '15041477450', 'title' => ''], + 'RegionId' => ['description' => 'The region ID of the server certificate.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'ServerCertificateName' => ['description' => 'The name of the server certificate.', 'type' => 'string', 'example' => 'slb', 'title' => ''], + 'Fingerprint' => ['description' => 'The fingerprint of the server certificate.', 'type' => 'string', 'example' => '68:08:1a:f8:2c:97:69:a3:a1:e6:16:41:4b:ca:4f:5d:ee:a5:ef:0d', 'title' => ''], + 'CommonName' => ['description' => 'The domain name of the server certificate. The domain name is specified in the `CommonName` field.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-atstuj3rtop****', 'title' => ''], + 'IsAliCloudCertificate' => ['description' => 'Indicates whether the server certificate is from Alibaba Cloud Certificate Management Service. Valid values:'."\n" + ."\n" + .'- **1**: yes'."\n" + ."\n" + .'- **0**: no', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'AliCloudCertificateId' => ['description' => 'The ID of the server certificate from Alibaba Cloud Certificate Management Service.', 'type' => 'string', 'example' => '7309********_15d97e7709a_71445759hr_789289731', 'title' => ''], + 'Tags' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Tag' => [ + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag value.', + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'TagKey' => ['description' => 'The tag keys of the resource.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'ServerType' => [ - 'description' => 'The type of backend server.'."\n" - ."\n" - .'Valid values: **Master** and **Slave**.'."\n", - 'type' => 'string', - 'example' => 'Master', + 'SubjectAlternativeNames' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SubjectAlternativeName' => [ + 'description' => 'The alternative domain names of the server certificate. The alternative domain names are specified in the Subject Alternative Name field of the server certificate.', + 'type' => 'array', + 'items' => ['description' => 'The alternative domain names of the server certificate. The alternative domain names are specified in the `Subject Alternative Name` field of the server certificate.', 'type' => 'string', 'example' => '["demo.aliyundoc.com","example.aliyundoc.com"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'Abs.ServerCertificateIdAndResourceGroupId.MissMatch', 'errorMessage' => 'ServerCertificateId or ResourceGroupId miss match.', 'description' => ''], + ['errorCode' => 'LocationServiceTimeout', 'errorMessage' => 'Location service connection timeout. Please try again later.', 'description' => ''], ], ], - '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' => 'CreateMasterSlaveServerGroup', - 'summary' => 'Creates a primary/secondary server group. Each primary/secondary server group consists of two backend servers. One backend server functions as the primary server, and the other backend server functions as the secondary backend server.', + 'title' => 'DescribeServerCertificates', + 'summary' => 'Queries the server certificates in a region.', + 'description' => '> For security reasons, only the fingerprints and names of server certificates are returned. The content of server certificates and private keys is not returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteMasterSlaveServerGroup' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-04T11:57:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed'], ], - '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeTags' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'MasterSlaveServerGroupId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The primary/secondary server group ID.'."\n" - ."\n" - .'> You cannot delete a primary/secondary server group that is in use.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6*****', - ], + 'schema' => ['description' => 'The SLB instance ID.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1kuzybm******', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags that you want to query.', 'type' => 'string', 'required' => false, 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', 'title' => ''], + ], + [ + 'name' => 'DistinctKey', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the tags contain distinct keys.'."\n" + ."\n" + .'Valid values: true and false.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Default value: 50. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '50', 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Minimum value: 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -15578,40 +9270,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF3******', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page. Default value: 50. Maximum value: 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'PageNumber' => ['description' => 'The number of the returned page. Minimum value: 1. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The number of instances returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TagSets' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'TagSet' => [ + 'description' => 'The tags that are queried.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'api', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of instances to which the tag is added.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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-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' => 'DeleteMasterSlaveServerGroup', - 'summary' => 'Deletes a primary/secondary server group.', + 'title' => 'DescribeTags', + 'summary' => 'Queries tags.', + 'description' => 'Take note of the following items:'."\n" + ."\n" + .'- The system queries tags based on the instance ID, tag key, and tag value specified by you.'."\n" + ."\n" + .'- If the logical relationship among the specified conditions is AND, only tags that match all the specified conditions are returned.'."\n" + ."\n" + .'- If the Tagkey parameter is specified and but Tagvalue parameter is not specified, all tags that contain the specified tag key are returned.'."\n" + ."\n" + .'- If you specify the Tagvalue parameter in a request, you must also specify the Tagkey parameter in the request.'."\n" + ."\n" + .'- If you specify both the Tagkey and Tagvalue parameters, only tags that contain the specified keys and values are returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeMasterSlaveServerGroupAttribute' => [ - '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' => 'All Resource', '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' => 'Queries the detailed information about a vServer group.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15621,29 +9363,19 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', + 'abilityTreeCode' => '88613', + 'abilityTreeNodes' => ['FEATUREslb1HTJST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'MasterSlaveServerGroupId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rsp-cige6j******', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6****', 'title' => ''], ], ], 'responses' => [ @@ -15651,134 +9383,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******', - ], - 'Tags' => [ + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'example' => 'rsp-cige6****', 'title' => ''], + 'VServerGroupName' => ['description' => 'The name of the vServer group.', 'type' => 'string', 'example' => 'Group1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B******', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-jfakd****', 'title' => ''], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Tag' => [ - 'description' => 'The tag list.'."\n", + 'BackendServer' => [ + 'description' => 'The backend servers.', 'type' => 'array', 'items' => [ - 'description' => 'The tag list.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The tag value. Valid values of N: **1** to **20**. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs**: ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the server group.'."\n" + ."\n" + .'> This parameter is not returned if the Description parameter is not specified in the request.', 'type' => 'string', 'example' => 'The description of the server group.', 'title' => ''], + 'ServerIp' => ['description' => 'The IP address of the backend server.', 'type' => 'string', 'example' => '192.XX.XX.11', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '90', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'example' => 'vm-233', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the associated CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-14fadafw4343a******', - ], - 'MasterSlaveServerGroupName' => [ - 'description' => 'The name of the primary/secondary server group.'."\n", - 'type' => 'string', - 'example' => 'Group1', - ], - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n", - 'type' => 'string', - 'example' => 'rsp-cige6******', - ], - 'MasterSlaveBackendServers' => [ + 'CreateTime' => ['description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z', 'title' => ''], + 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'MasterSlaveBackendServer' => [ - 'description' => 'A list of backend servers in the primary/secondary server group.'."\n", + 'Tag' => [ + 'description' => 'The tags of the backend server.', 'type' => 'array', 'items' => [ - 'description' => 'The backend servers in the primary/secondary server group.'."\n", + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the backend server. Valid values:'."\n" - ."\n" - .'* **ecs** (default): Elastic Compute Service (ECS) instance'."\n" - .'* **eni**: elastic network interface (ENI)'."\n" - .'* **eci**: elastic container instance'."\n", - 'type' => 'string', - 'example' => 'eni', - ], - 'Weight' => [ - 'description' => 'The weight of the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Description' => [ - 'description' => 'The description of the primary/secondary server group.'."\n", - 'type' => 'string', - 'example' => 'Primary and secondary server group description', - ], - 'Port' => [ - 'description' => 'The port that is used by the backend server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '90', - ], - 'ServerId' => [ - 'description' => 'The ID of the backend server.'."\n", - 'type' => 'string', - 'example' => 'eni-hhshhs****', - ], - 'ServerType' => [ - 'description' => 'The type of backend server. Valid values: **Master** and **Slave**.'."\n", - 'type' => 'string', - 'example' => 'Slave', - ], + 'TagKey' => ['description' => 'The tag key. Valid values of N: **1** to **20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value. Valid values of N: **1** to **20**. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', - 'type' => 'string', - 'example' => '2022-12-02T02:49:05Z', + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeMasterSlaveServerGroupAttribute', - 'summary' => 'Queries the detailed information about a primary/secondary server group.', + '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' => 'The specified region of is not authorized.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeVServerGroupAttribute', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeMasterSlaveServerGroups' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-04T14:44:35.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => 'Response parameters changed'], + ], + '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'], 'security' => [ [ 'AK' => [], @@ -15786,44 +9515,37 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp14zi0n66zpg6o******', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1o94dp5i6ea*******', 'title' => ''], + ], + [ + 'name' => 'IncludeRule', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return the forwarding rules associated with the vServer groups. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false** (default): no', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'IncludeListener', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return information about the associated listeners. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to return information about the associated listeners. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false** (default): no', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Tag', @@ -15831,44 +9553,34 @@ 'allowEmptyValue' => true, 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The tags.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` and `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], + 'Key' => ['description' => 'The key of tag N. Valid values of N: 1 to 20. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs`:.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: 1 to 20. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, - 'example' => '[{"Key":"TestKey","Value":"TestValue"}]', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'Description', 'in' => 'query', 'allowEmptyValue' => true, - 'schema' => [ - 'description' => 'The description of the primary/secondary server group.', - 'type' => 'string', - 'required' => false, - 'example' => 'test-112'."\n", - ], + 'schema' => ['description' => 'The name of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'Group3', 'title' => ''], ], ], 'responses' => [ @@ -15876,34 +9588,22 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', - ], - 'MasterSlaveServerGroups' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08******', 'title' => ''], + 'VServerGroups' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'MasterSlaveServerGroup' => [ - 'description' => 'The primary/secondary server groups.'."\n", + 'VServerGroup' => [ + 'description' => 'The backend servers.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Details of the vServer groups.', 'type' => 'object', 'properties' => [ - 'MasterSlaveServerGroupId' => [ - 'description' => 'The ID of the primary/secondary server group.'."\n", - 'type' => 'string', - 'example' => 'rsp-0bfuc******', - ], - 'MasterSlaveServerGroupName' => [ - 'description' => 'The name of the primary/secondary server group.'."\n", - 'type' => 'string', - 'example' => 'Group3', - ], + 'VServerGroupId' => ['description' => 'The server group ID.', 'type' => 'string', 'example' => 'rsp-0bf******', 'title' => ''], + 'VServerGroupName' => ['description' => 'The server group name.', 'type' => 'string', 'example' => 'Group3', 'title' => ''], 'AssociatedObjects' => [ - 'description' => 'The associated resources.'."\n", + 'description' => 'The associated resources.', 'type' => 'object', 'properties' => [ 'Listeners' => [ @@ -15911,128 +9611,174 @@ 'itemNode' => true, 'properties' => [ 'Listener' => [ - 'description' => 'The listeners.'."\n", + 'description' => 'The listeners.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The listener.', 'type' => 'object', 'properties' => [ - 'Port' => [ - 'description' => 'The listener port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => 'The listener protocol.'."\n", - 'type' => 'string', - 'example' => 'tcp', - ], + 'Port' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Protocol' => ['description' => 'The listener protocol. Valid values: **tcp**, **udp**, **http**, and **https**.', 'type' => 'string', 'example' => 'tcp', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Rule' => [ + 'description' => 'The forwarding rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The forwarding rules.', + 'type' => 'object', + 'properties' => [ + 'Url' => ['description' => 'The request URL.', 'type' => 'string', 'example' => '/example', 'title' => ''], + 'Domain' => ['description' => 'The requested domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'RuleName' => ['description' => 'The name of the forwarding rule.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RuleId' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'example' => 'rule-a3x3pg1******', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. Specify the time in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2022-12-02T02:49:05Z', - ], + 'ServerCount' => ['description' => 'The number of servers.'."\n" + ."\n" + .'This parameter is unavailable by default. To use this parameter, submit a ticket or contact your account manager.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', 'type' => 'string', 'example' => '2022-08-31T02:49:05Z', 'title' => ''], 'Tags' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Tag' => [ - 'description' => 'The tags to add to the resource.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Tag objects.', 'type' => 'object', 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'test_slb_yaochi_tag_key-0', - ], - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '000098dab00323fb', - ], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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-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' => 'DescribeMasterSlaveServerGroups', - 'summary' => 'Queries primary/secondary server groups.', + 'title' => 'DescribeVServerGroups', + 'summary' => 'Queries vServer groups.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCACertificate' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-10-25T04:09:45.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-07-04T10:00:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-09-29T12:46:29.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-12-13T06:16:44.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'DescribeZones' => [ + 'summary' => 'Queries the zones in a region.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88615', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region of the CA certificates.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CACertificateId', + 'name' => 'AcceptLanguage', 'in' => 'query', - 'schema' => [ - 'description' => 'The CA certificate ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '123157908xxxxxxx_15c73d77203_-986300114_-2110544xxx', - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -16040,73 +9786,126 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A48D35FF-440A-4BC0-A4A2-A9BF69B7E43A', 'title' => ''], + 'Zones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Zone' => [ + 'description' => 'The zones.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => 'The ID of the zone.', 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''], + 'LocalName' => ['description' => 'The name of the zone.', 'type' => 'string', 'example' => 'Hangzhou Zone B', 'title' => ''], + 'SlaveZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SlaveZone' => [ + 'description' => 'The secondary zones.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ZoneId' => ['description' => 'The ID of the secondary zone.', 'type' => 'string', 'example' => 'cn-hangzhou-g', 'title' => ''], + 'LocalName' => ['description' => 'The name of the secondary zone.', 'type' => 'string', 'example' => 'Hangzhou Zone G', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'CertificateAndPrivateKeyIsRefered', - 'errorMessage' => 'The specified certificate is bound to listeners. You cannot delete it.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', - 'title' => 'DeleteCACertificate', - 'summary' => 'Deletes a certificate authority (CA) certificate.', - 'description' => 'You cannot delete a CA certificate that is in use.'."\n", + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'DescribeZones', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteServerCertificate' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:19.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeZones'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], + 'ramActions' => [], + ], + 'EnableHighDefinationMonitor' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', + 'abilityTreeCode' => '88622', + 'abilityTreeNodes' => ['FEATUREslbSG7ZOW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tags of the logs. The tags must be key-value pairs that are contained in a JSON dictionary.', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', 'title' => ''], + ], + [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'LogProject', 'in' => 'query', - 'schema' => [ - 'description' => 'The server certificate ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '123157xxxxxxx_166f8204689_1714763408_709981430', - ], + 'schema' => ['description' => 'The name of the project of Log Service. The name must be 4 to 63 characters in length, and can contain digits and lowercase letters. It must start and end with a digit or a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-project', 'title' => ''], + ], + [ + 'name' => 'LogStore', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Logstore of Log Service. The name must be 2 to 64 characters in length and can contain digits, lowercase letters, hyphens (-) and underscores (\\_). It must start and end with a digit or a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-log-store', 'title' => ''], ], ], 'responses' => [ @@ -16114,88 +9913,102 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false**: no', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => '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' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'EnableHighDefinationMonitor', + 'summary' => 'Enables fine-grained monitoring for the current region.', + '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' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'DeleteServerCertificate', - 'summary' => 'Deletes a server certificate.', - 'description' => '> You cannot delete server certificates that are in use.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"2F398FF5-B349-5C01-8638-8E9A0BF1DBE6\\"\\n}","type":"json"}]', ], - 'SetCACertificateName' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTLSCipherPolicies' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region of the CA certificate.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" + ."\n" + .'You can call the [](t2293290.xdita#)operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CACertificateId', + 'name' => 'TLSCipherPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CA certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '139a0******-cn-east-hangzhou-01', - ], + 'schema' => ['description' => 'The ID of the TLS policy.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'tls-bp17elso1h323r****', 'title' => ''], ], [ - 'name' => 'CACertificateName', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The CA certificate name.'."\n" - ."\n" - .'The name must be 1 to 80 character in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'mycacert02', - ], + 'schema' => ['description' => 'The name of the TLS policy. The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.', 'type' => 'string', 'required' => false, 'example' => 'TLSPolicy-test****', 'title' => ''], + ], + [ + 'name' => 'IncludeListener', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return the information about the associated listeners. Valid values:'."\n" + ."\n" + .'- **true**: returns the information about the associated listeners.'."\n" + ."\n" + .'- **false** (default): does not return the information about the associated listeners.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'- If this is your first query or no next query is to be sent, ignore this parameter.'."\n" + ."\n" + .'- If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], + ], + [ + 'name' => 'MaxItems', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of TLS policies to be queried in this call. Valid values: **1** to **100**. If you do not set this parameter, the default value **20** is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ @@ -16203,103 +10016,252 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984', + 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" + ."\n" + .'- If **NextToken** is empty, it indicates that no next query is to be sent.'."\n" + ."\n" + .'- If **NextToken** is not empty, the value indicates the token that is used for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of TLS policies returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'IsTruncated' => ['description' => 'Indicates whether the current page is the last page. Valid values:'."\n" + ."\n" + .'- **true**: The current page is the last page.'."\n" + ."\n" + .'- **false**: The current page is not the last page.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TLSCipherPolicies' => [ + 'description' => 'The list of TLS policies.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the TLS policy. Valid values:'."\n" + ."\n" + .'- **configuring**: The TLS policy is being configured.'."\n" + ."\n" + .'- **normal**: The TLS policy works as expected.', 'type' => 'string', 'example' => 'normal', 'title' => ''], + 'InstanceId' => ['description' => 'The ID of the TLS policy.', 'type' => 'string', 'example' => 'tls-bp17elso1h323r****', 'title' => ''], + 'Name' => ['description' => 'The name of the TLS policy.', 'type' => 'string', 'example' => 'TLSPolicy-test****', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp generated when the TLS policy is created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1608273800000', 'title' => ''], + 'RelateListeners' => [ + 'description' => 'The list of associated listeners.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Port' => ['description' => 'The listening port. Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Protocol' => ['description' => 'The listening protocol. Valid values:'."\n" + ."\n" + .'- **TCP**'."\n" + ."\n" + .'- **UDP**'."\n" + ."\n" + .'- **HTTP**'."\n" + ."\n" + .'- **HTTPS**', 'type' => 'string', 'example' => 'HTTPS', 'title' => ''], + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-bp1b6c719dfa08ex****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TLSVersions' => [ + 'type' => 'array', + 'items' => ['description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**.', 'type' => 'string', 'example' => 'TLSv1.0', 'title' => ''], + 'description' => 'The version of the TLS protocol.', + 'title' => '', + 'example' => '', + ], + 'Ciphers' => [ + 'type' => 'array', + 'items' => ['description' => 'The cipher suites supported by the TLS version.'."\n" + ."\n" + .'The specified cipher suites must be supported by at least one TLS protocol version that you specify. For example, if you set the TLSVersions parameter to TLSv1.3, you must specify cipher suites that are supported by this protocol version.'."\n" + ."\n" + .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- AES128-SHA AES256-SHA'."\n" + ."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'TLS 1.2 supports the following cipher suites:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- AES128-SHA AES256-SHA'."\n" + ."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-GCM-SHA256'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-GCM-SHA384'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA256'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA384'."\n" + ."\n" + .'- ECDHE-RSA-AES128-GCM-SHA256'."\n" + ."\n" + .'- ECDHE-RSA-AES256-GCM-SHA384'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA256'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA384'."\n" + ."\n" + .'- AES128-GCM-SHA256'."\n" + ."\n" + .'- AES256-GCM-SHA384'."\n" + ."\n" + .'- AES128-SHA256 AES256-SHA256'."\n" + ."\n" + .'TLS 1.3 supports the following cipher suites:'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_GCM\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_256\\_GCM\\_SHA384'."\n" + ."\n" + .'- TLS\\_CHACHA20\\_POLY1305\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_CCM\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_CCM\\_8\\_SHA256', 'type' => 'string', 'example' => 'ECDHE-ECDSA-AES128-SHA', 'title' => ''], + 'description' => 'The cipher suites supported by the TLS version.'."\n" + ."\n" + .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- AES128-SHA AES256-SHA'."\n" + ."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'TLS 1.2 supports the following cipher suites:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- AES128-SHA AES256-SHA'."\n" + ."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-GCM-SHA256'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-GCM-SHA384'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA256'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA384'."\n" + ."\n" + .'- ECDHE-RSA-AES128-GCM-SHA256'."\n" + ."\n" + .'- ECDHE-RSA-AES256-GCM-SHA384'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA256'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA384'."\n" + ."\n" + .'- AES128-GCM-SHA256'."\n" + ."\n" + .'- AES256-GCM-SHA384'."\n" + ."\n" + .'- AES128-SHA256 AES256-SHA256'."\n" + ."\n" + .'TLS 1.3 supports the following cipher suites:'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_GCM\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_256\\_GCM\\_SHA384'."\n" + ."\n" + .'- TLS\\_CHACHA20\\_POLY1305\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_CCM\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_CCM\\_8\\_SHA256', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'SetCACertificateName', - 'summary' => 'Specifies a name for a CA certificate.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'QueryTokenInvalid', 'errorMessage' => 'The specified token is invalid.', 'description' => ''], + ['errorCode' => 'QueryTokenNotExist', 'errorMessage' => 'The specified token is not exist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'ListTLSCipherPolicies', + 'summary' => 'Queries Transport Layer Security (TLS) policies.', + 'description' => 'This operation is unavailable by default. To use it, contact your account manager or submit a ticket. We recommend you use Application Load Balancer (ALB) or Network Load Balancer (NLB) and configure TLS security policies.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetServerCertificateName' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => 'Request parameters changed'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTLSCipherPolicies'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance. You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '139a0******-cn-east-hangzhou-01', - ], - ], - [ - 'name' => 'ServerCertificateName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the third-party server certificate that you want to upload. The name must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), underscores (\\_), and asterisks (\\*).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'mycert01', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984', - ], + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:ListTLSCipherPolicies', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:tlspolicy/*'], ], - 'description' => '', ], ], ], - 'errorCodes' => [], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","type":"json"}]', - 'title' => 'SetServerCertificateName', - 'summary' => 'Sets a name for a server certificate.', ], - 'DescribeCACertificates' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListTagResources' => [ + 'summary' => 'Queries the tags that are added to resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16308,40 +10270,61 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region of the CA certificates.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CACertificateId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The CA certificate ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '139a00604bd-cn-east-hangzho****', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- **instance**: a CLB instance'."\n" + ."\n" + .'- **certificate**: a certificate'."\n" + ."\n" + .'- **acl**: an access control list (ACL)'."\n" + ."\n" + .'- **listener**: a listener'."\n" + ."\n" + .'- **vservergroup**: a vServer group'."\n" + ."\n" + .'- **masterslaveservergroup**: a primary/secondary server group', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'instance', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'NextToken', 'in' => 'query', + 'schema' => ['description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'- If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n" + ."\n" + .'- If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', + 'description' => 'The resource ID. You can specify up to 20 resources.'."\n" + ."\n" + .'> The value of **ResourceId** of a **listener** is **LoadBalancerId\\_Listener protocol\\_Port**, where LoadBalancerId is the ID of the CLB instance and port is the listener port. Example: lb-bp1qnnvj18yy6h\\*\\*\\*\\*\\_http\\_80.', + 'type' => 'array', + 'items' => ['description' => 'The resource ID. You can specify up to 20 resources.'."\n" + ."\n" + .'> The value of **ResourceId** of a **listener** is **LoadBalancerId\\_Listener protocol\\_Port**, where LoadBalancerId is the ID of the CLB instance and port is the listener port. Example: lb-bp1qnnvj18yy6h\\*\\*\\*\\*\\_http\\_80.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1qnnvj18yy6h****', 'title' => ''], 'required' => false, - 'example' => 'rg-atstuj3rtop****', + 'example' => 'lb-bp1qnnvj18yy6h******', + 'maxItems' => 51, + 'title' => '', ], ], [ @@ -16349,31 +10332,27 @@ 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the CA certificates.'."\n", + 'description' => 'The tags.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length, and cannot contain `http://` or `https://`. It must not start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'Key' => ['description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], + 'Value' => ['description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], ], 'required' => false, + 'title' => '', + 'example' => '', ], 'required' => false, - 'maxItems' => 20, + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], ], @@ -16382,220 +10361,141 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'CACertificates' => [ + 'NextToken' => ['description' => 'The token that determines the start point of the query. Valid values:'."\n" + ."\n" + .'- If **NextToken** is empty, it indicates that no subsequent query is to be sent.'."\n" + ."\n" + .'- If a value of **NextToken** is returned, the value is the token that is used for the subsequent query.', 'type' => 'string', 'example' => 'caeba0bbb2be03f84eb48b699f0a****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', 'title' => ''], + 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'CACertificate' => [ - 'description' => 'The information about the CA certificate.'."\n", + 'TagResource' => [ + 'description' => 'The resources to which the tags are added.', 'type' => 'array', 'items' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => 'The timestamp when the CA certificate was created. Unit: milliseconds.'."\n" - ."\n" - .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'ExpireTime' => [ - 'description' => 'The time when the CA certificate expires. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2024-11-21T06:04:25Z', - ], - 'CreateTime' => [ - 'description' => 'The time when the CA certificate was created. The time is in the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2021-08-31T02:49:05Z', - ], - 'ExpireTimeStamp' => [ - 'description' => 'The timestamp that indicates when the CA certificate expires. Unit: milliseconds.'."\n" - ."\n" - .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1732169065000', - ], - 'CACertificateId' => [ - 'description' => 'The CA certificate ID.'."\n", - 'type' => 'string', - 'example' => '139a00604bd-cn-east-hangzho****', - ], - 'RegionId' => [ - 'description' => 'The region of the CA certificate.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Fingerprint' => [ - 'description' => 'The fingerprint of the CA certificate.'."\n", - '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' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3rtop****', - ], - 'CommonName' => [ - 'description' => 'The domain name of the CA certificate.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'CACertificateName' => [ - 'description' => 'The CA certificate name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tag.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], + 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'instance', 'title' => ''], + 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'lb-bp16qjewdsunr4****', 'title' => ''], + 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Abs.CACertificateIdAndResourceGroupId.MissMatch', - 'errorMessage' => 'CACertificateId or ResourceGroupId miss match.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['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' => ''], + ['errorCode' => 'InvalidParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.Scope', 'errorMessage' => 'The specified Scope is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.ResourceType', 'errorMessage' => 'The specified ResourceType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKeyOrValue', 'errorMessage' => 'The specified TagKey or TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagOwnerUid', 'errorMessage' => 'The specified TagOwnerUid is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagOwnerBid', 'errorMessage' => 'The specified TagOwnerBid is invalid.', 'description' => ''], + ['errorCode' => 'MissingParam.Scope', 'errorMessage' => 'The parameter Scope is required.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOwnerUid', 'errorMessage' => 'The parameter TagOwnerUid is required.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOwnerBid', 'errorMessage' => 'The parameter TagOwnerBid is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOrResourceId', 'errorMessage' => 'The parameter Tag or ResourceId is required at least one.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum size of ResourceId is exceeded.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => 'The maximum size of Tag is exceeded.', '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' => 'DescribeCACertificates', - 'summary' => 'Queries certificate authority (CA) certificates.', - 'description' => '> To ensure data confidentiality, only the certificate fingerprint and name are returned. The certificate content is not returned.'."\n", + 'title' => 'ListTagResources', + 'description' => '- Set **ResourceId.N** or **Tag.N** that consists of **Tag.N.Key** and **Tag.N.Value** in the request to specify the object to be queried.'."\n" + ."\n" + .'- **Tag.N** is a resource tag that consists of a key-value pair. If you set only **Tag.N.Key**, all tag values that are associated with the specified tag key are returned. If you set only **Tag.N.Value**, an error message is returned.'."\n" + ."\n" + .'- If you set **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match all specified key-value pairs.'."\n" + ."\n" + .'- If you specify multiple key-value pairs, resources that contain these key-value pairs are returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeServerCertificates' => [ - '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'ModifyHighDefinationMonitor' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', + 'abilityTreeCode' => '121167', + 'abilityTreeNodes' => ['FEATUREslbSG7ZOW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region where the CLB instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n" - ."\n" - .'> If the endpoint of the selected region is slb.aliyuncs.com, you must specify `RegionId`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ServerCertificateId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The server certificate ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12315790*******_166f8204689_1714763408_709981430', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'LogProject', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtop****', - ], + 'schema' => ['description' => 'The new name of the project of Log Service. The name must be 4 to 63 characters in length, and can contain digits and lowercase letters. It must start and end with a digit or a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-project', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'LogStore', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs`:. The tag key cannot contain `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The new name of the Logstore of Log Service. The name must be 2 to 64 characters in length and can contain digits, lowercase letters, hyphens (-) and underscores (\\_). It must start and end with a digit or a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my-log-store', 'title' => ''], ], ], 'responses' => [ @@ -16603,173 +10503,56 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'ServerCertificates' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ServerCertificate' => [ - 'description' => 'The server certificates.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => 'The timestamp when the server certificate was uploaded.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'AliCloudCertificateName' => [ - 'description' => 'The name of the server certificate from Alibaba Cloud Certificate Management Service.'."\n", - 'type' => 'string', - 'example' => 'testcertkey', - ], - 'ExpireTime' => [ - 'description' => 'The time when the server certificate expires.'."\n", - 'type' => 'string', - 'example' => '2023-01-26T23:59:59Z', - ], - 'CreateTime' => [ - 'description' => 'The time when the server certificate was uploaded.'."\n", - 'type' => 'string', - 'example' => '2021-08-31T02:49:05Z', - ], - 'ServerCertificateId' => [ - 'description' => 'The server certificate ID.'."\n", - 'type' => 'string', - 'example' => '123157********_166f8204689_1714763408_709981430-cn-east-hangzhou-02', - ], - 'ExpireTimeStamp' => [ - 'description' => 'The timestamp when the server certificate expires.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '15041477450', - ], - 'RegionId' => [ - 'description' => 'The region ID of the server certificate.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ServerCertificateName' => [ - 'description' => 'The name of the server certificate.'."\n", - 'type' => 'string', - 'example' => 'slb', - ], - 'Fingerprint' => [ - 'description' => 'The fingerprint of the server certificate.'."\n", - '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' => 'The domain name of the server certificate. The domain name is specified in the `CommonName` field.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3rtop****', - ], - 'IsAliCloudCertificate' => [ - 'description' => 'Indicates whether the server certificate is from Alibaba Cloud Certificate Management Service. Valid values:'."\n" - ."\n" - .'* **1**: yes'."\n" - .'* **0**: no'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'AliCloudCertificateId' => [ - 'description' => 'The ID of the server certificate from Alibaba Cloud Certificate Management Service.'."\n", - 'type' => 'string', - 'example' => '7309********_15d97e7709a_71445759hr_789289731', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TagKey' => [ - 'description' => 'The tag keys of the resource.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], - 'SubjectAlternativeNames' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SubjectAlternativeName' => [ - 'description' => 'The alternative domain names of the server certificate. The alternative domain names are specified in the Subject Alternative Name field of the server certificate.', - 'type' => 'array', - 'items' => [ - 'description' => 'The alternative domain names of the server certificate. The alternative domain names are specified in the `Subject Alternative Name` field of the server certificate.'."\n", - 'type' => 'string', - 'example' => '["demo.aliyundoc.com","example.aliyundoc.com"]', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false**: no', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Abs.ServerCertificateIdAndResourceGroupId.MissMatch', - 'errorMessage' => 'ServerCertificateId or ResourceGroupId miss match.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', + ['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' => ''], + ['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' => 'ModifyHighDefinationMonitor', + 'summary' => 'Modifies the configuration of fine-grained monitoring in a specified region.', + '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' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'DescribeServerCertificates', - 'summary' => 'Queries the server certificates in a region.', - 'description' => '> For security reasons, only the fingerprints and names of server certificates are returned. The content of server certificates and private keys is not returned.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E\\"\\n}","type":"json"}]', ], - 'UploadCACertificate' => [ - 'summary' => 'Uploads a CA certificate.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyLoadBalancerInstanceChargeType' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16777,90 +10560,51 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88694', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'Tag', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value must be 1 to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => false, - 'example' => 'UploadCACertificate', - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region of the CA certificates.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b3jus5hpenznuu****', 'title' => ''], ], [ - 'name' => 'CACertificate', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the CA certificate.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The metering method of Internet data transfer after the change.'."\n" + ."\n" + .'Valid value: **paybytraffic**.'."\n" + ."\n" + .'> - If the value of the **InstanceChargeType** parameter is set to **PayByCLCU**, only pay-by-data-transfer is supported.'."\n" + .'>'."\n" + .'> - When you change the metering method, the new metering method takes effect at 00:00:00 the next day.', 'type' => 'string', 'required' => false, 'example' => 'paybytraffic', 'title' => ''], ], [ - 'name' => 'CACertificateName', + 'name' => 'InstanceChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The CA certificate name.', - 'type' => 'string', - 'required' => false, - 'example' => 'mycacert01', - ], + 'schema' => ['description' => 'The metering method of the instance after the change.'."\n" + ."\n" + .'Valid value: **PayByCLCU**. Only pay-by-LCU is supported.', 'type' => 'string', 'required' => true, 'example' => 'PayByCLCU', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'LoadBalancerSpec', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rto*****', - ], + 'schema' => ['description' => 'The specification of the CLB instance.'."\n" + ."\n" + .'You do not need to set this parameter. For pay-as-you-go CLB instances, you can only change the metering method from pay-by-specification to pay-by-LCU. You cannot change the metering method from pay-by-LCU to pay-by-specification.', 'type' => 'string', 'required' => false, 'example' => 'slb.s1.small', 'title' => ''], + ], + [ + 'name' => 'Bandwidth', + 'in' => 'query', + 'schema' => ['description' => 'The maximum bandwidth of the Internet-facing CLB instance that is billed on a pay-by-bandwidth basis.'."\n" + ."\n" + .'You do not need to set this parameter. The metering method of Internet data transfer for pay-by-LCU instances supports only pay-by-traffic.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '5000', 'minimum' => '1', 'example' => '5', 'default' => '-1', 'required' => false, 'title' => ''], ], ], 'responses' => [ @@ -16868,235 +10612,222 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => 'The timestamp when the CA certificate was created.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'ExpireTime' => [ - 'description' => 'The time when the CA certificate expires.', - 'type' => 'string', - 'example' => '2024-11-21T06:04:25Z', - ], - 'Fingerprint' => [ - 'description' => 'The fingerprint of the server certificate.', - 'type' => 'string', - 'example' => '02:DF:AB:ED', - ], - 'CreateTime' => [ - 'description' => 'The time when the CA certificate was created.', - 'type' => 'string', - 'example' => '2017-08-31T02:49:05Z', - ], - 'CommonName' => [ - 'description' => 'The domain name on the CA certificate.'."\n", - 'type' => 'string', - 'example' => '.example.com', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3rt******', - ], - 'CACertificateName' => [ - 'description' => 'The CA certificate name.', - 'type' => 'string', - 'example' => 'mycacert01', - ], - 'ExpireTimeStamp' => [ - 'description' => 'The timestamp when the server certificate expires.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1732169065000', - ], - 'CACertificateId' => [ - 'description' => 'The ID of the CA certificate.'."\n", - 'type' => 'string', - 'example' => '139a0******-cn-east-hangzhou-01', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => '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' => ''], + ['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' => ''], + ['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' => ''], + ], + ], + 'title' => 'ModifyLoadBalancerInstanceChargeType', + 'summary' => 'Changes the metering method of a pay-as-you-go Classic Load Balancer (CLB) instance.', + 'description' => '> - For pay-as-you-go CLB instances, you can only change the metering method from pay-by-specification to pay-by-LCU. You cannot change the metering method from pay-by-LCU to pay-by-specification.'."\n" + .'>'."\n" + .'> - This operation can change the metering method of only one instance at a time.', + 'changeSet' => [ + ['createdAt' => '2022-08-03T07:35:05.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + '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' => '[{"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' => 'UploadCACertificate', - 'description' => 'You can upload only one CA certificate at a time. After a CA certificate is uploaded, the certificate ID, name, and fingerprint are returned.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","type":"json"}]', ], - 'UploadServerCertificate' => [ - 'summary' => 'Uploads a server certificate.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyLoadBalancerInstanceSpec' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '88695', - 'abilityTreeNodes' => [ - 'FEATUREslbFSBXXR', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'Tag', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` and `acs:`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can query the region ID from the [](t1938333.xdita#) list or by calling the [](t4189.xdita#) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719df*********', 'title' => ''], ], [ - 'name' => 'AliCloudCertificateId', + 'name' => 'LoadBalancerSpec', 'in' => 'query', - 'schema' => [ - 'description' => 'AliCloud certificate ID.', - 'type' => 'string', - 'required' => false, - 'example' => '775****', - ], + 'schema' => ['description' => 'The specification of the CLB instance. Valid values:'."\n" + ."\n" + .'- **slb.s1.small**'."\n" + ."\n" + .'- **slb.s2.small**'."\n" + ."\n" + .'- **slb.s2.medium**'."\n" + ."\n" + .'- **slb.s3.small**'."\n" + ."\n" + .'- **slb.s3.medium**'."\n" + ."\n" + .'- **slb.s3.large**'."\n" + ."\n" + .'The specifications available vary by region. For more information about the specifications, see [](t15641.xdita#).'."\n" + ."\n" + .'> When you switch a shared-resource CLB instance to a high-performance CLB instance, your service may be interrupted for 10 to 30 seconds. We recommend that you modify the specification during off-peak hours or use Alibaba Cloud DNS to schedule your workloads to another CLB instance before you modify the specification.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'slb.s2.small', 'title' => ''], ], [ - 'name' => 'AliCloudCertificateName', + 'name' => 'AutoPay', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'- **true**: automatically completes the payment.'."\n" + ."\n" + .'- **false** (default): If you select this option, you must complete the payment in the Order Center.'."\n" + ."\n" + .'> This parameter takes effect only for subscription instances.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'AliCloud certificate name.', - 'type' => 'string', - 'required' => false, - 'example' => 'cloudcertificate', + 'type' => 'object', + 'properties' => [ + 'OrderId' => ['description' => 'The order ID of the subscription CLB instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '201429619788910', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['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' => ''], + ['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' => ''], + ], + ], + 'title' => 'Modify the specification of a CLB instance', + 'summary' => 'Modifies the specification of a CLB instance.', + 'description' => 'Pay-by-specification CLB instances have been discontinued since 00:00:00 on June 1, 2025 (UTC+8). For more information, see [](t2857909.xdita#).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2024-11-15T07:46:52.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-04-28T14:56:30.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + 'ramActions' => [ [ - 'name' => 'AliCloudCertificateRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of AliCloud certificate.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', + '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' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": 201429619788910,\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\"\\n}","type":"json"}]', + ], + 'ModifyLoadBalancerInternetSpec' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ServerCertificate', + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The server certificate to be uploaded.', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN CERTIFICATE----- MIIGDTCC****** -----END CERTIFICATE-----', - ], + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'PrivateKey', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The private key of the certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN RSA PRIVATE KEY----- MIIEogIB****** -----END RSA PRIVATE KEY-----', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex******', 'title' => ''], ], [ - 'name' => 'ServerCertificateName', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the server certificate.'."\n" - ."\n" - .'The name must be 1 to 80 characters in length. It must start with an English letter. It can contain letters, numbers, periods (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mycert01', - ], + 'schema' => ['description' => 'The metering method of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **paybybandwidth**: pay-by-bandwidth'."\n" + ."\n" + .'- **paybytraffic**: pay-by-data-transfer', 'type' => 'string', 'required' => false, 'example' => 'paybytraffic', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rto****', - ], + 'schema' => ['description' => 'The maximum bandwidth of the Internet-facing CLB instance that uses the pay-by-bandwidth metering method. Unit: Mbit/s.'."\n" + ."\n" + .'Valid values: **1 to 5000**. The maximum bandwidth varies based on the region where the CLB instance is created.\\*\\*\\*\\*'."\n" + ."\n" + .'> You do not need to specify this parameter if you set **InternetChargeType** to **paybytraffic** (pay-by-data-transfer).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5000', 'minimum' => '1', 'default' => '-1', 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically pay the subscription fee of the Internet-facing CLB instance. Valid values:'."\n" + ."\n" + .'- **true**: enables automatic payments. This is the default value.'."\n" + ."\n" + .'- **false**: disables automatic payment. You must complete the payment in Order Center.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -17105,247 +10836,134 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'AliCloudCertificateName' => [ - 'description' => 'The AliCloud certificate name.', - 'type' => 'string', - 'example' => 'cloudcertificate****', - ], - 'CreateTimeStamp' => [ - 'description' => 'The timestamp generated when the CA certificate is uploaded.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'ExpireTime' => [ - 'description' => 'The time when the CA certificate expires.'."\n", - 'type' => 'string', - 'example' => '2022-10-18T23:59:59Z', - ], - 'CreateTime' => [ - 'description' => 'The time when the CA certificate is uploaded.'."\n", - 'type' => 'string', - 'example' => '2022-02-21T02:49:05Z', - ], - 'ServerCertificateId' => [ - 'description' => 'The ID of the server certificate.'."\n", - 'type' => 'string', - 'example' => '1321932713******_17f1b4b696b_1114720822_-1671******', - ], - 'ExpireTimeStamp' => [ - 'description' => 'The timestamp generated when the CA certificate expires.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1504147745000', - ], - 'RegionId' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'Fingerprint' => [ - 'description' => 'The fingerprint of the CA certificate.'."\n", - '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' => 'The name of the server certificate.'."\n" - ."\n" - .'The name must be 1 to 80 characters in length. It must start with an English letter. It can contain letters, numbers, periods (.), underscores (\\_), and hyphens (-).'."\n", - 'type' => 'string', - 'example' => 'mycert01', - ], - 'CommonName' => [ - 'description' => 'The domain name of the CA certificate.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-atstuj3rt****', - ], - 'AliCloudCertificateId' => [ - 'description' => 'The AliCloud certificate ID.', - 'type' => 'string', - 'example' => '775****', - ], - 'IsAliCloudCertificate' => [ - 'description' => 'Indicates whether the certificate is provided by Alibaba Cloud Certificate Management Service. Valid values:'."\n" - .'- **0**: The certificate is not provided by Alibaba Cloud Certificate Management Service.'."\n" - .'- **1**: The certificate is provided by Alibaba Cloud Certificate Management Service.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'SubjectAlternativeNames' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'SubjectAlternativeName' => [ - 'description' => 'The subject alternative names.'."\n" - ."\n" - .'A domain name list is supported. A maximum of 10 domain names are supported.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The subject alternative names.'."\n" - ."\n" - .'A domain name list is supported. A maximum of 10 domain names are supported.'."\n", - 'type' => 'string', - 'example' => '["example.com","www.example.com"]', - ], - ], - ], - ], + 'OrderId' => ['description' => 'The order ID of the subscription CLB instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '20142961978****', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], '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' => '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' => ''], + ['errorCode' => 'Instance.Pay95RateInvalid', 'errorMessage' => 'Illegal parameter. The rate is illegal.', 'description' => ''], + ['errorCode' => 'Instance.Pay95BandwidthIllegal', 'errorMessage' => 'Illegal parameter. The bandwidth is illegal.', 'description' => ''], + ['errorCode' => 'Instance.InternetChargeTypeNotAllowed', 'errorMessage' => 'Illegal parameter. The specified InternetChargeType not allowed.', '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' => ''], ], ], - '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' => 'UploadServerCertificate', - 'description' => '* You can upload only one server certificate and its private key in each call.'."\n" - .'* After a server certificate and its private key are uploaded, the fingerprints of all server certificates that belong to your Alibaba Cloud account are returned.'."\n", + 'title' => 'ModifyLoadBalancerInternetSpec', + 'summary' => 'Modifies the metering method of an Internet-facing Classic Load Balancer (CLB) instance.', + 'description' => '## Description'."\n" + ."\n" + .'- If you modify only the maximum bandwidth of a pay-by-bandwidth CLB instance, the new bandwidth immediately takes effect.'."\n" + ."\n" + .'- If you modify the metering method (for example, switch from pay-by-bandwidth to pay-by-data-transfer), the new metering method and the other changes specified in the operation take effect at 00:00:00 the next day.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', - 'extraInfo' => 'The alternative domain names are specified in the `Subject Alternative Name` field of the server certificate.'."\n", - ], - 'CreateDomainExtension' => [ - 'methods' => [ - 'post', - 'get', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2021-09-24T02:58:01.000Z', 'description' => 'Error codes changed'], ], - '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' => [], ], ], 'operationType' => 'write', - 'deprecated' => false, + 'deprecated' => true, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88634', + 'abilityTreeNodes' => ['FEATUREslbMMPQ1U'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.'."\n" + ."\n" + .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6earrxxxxxx', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08ex*****', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'PayType', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the HTTPS listener of the SLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '443', - ], + 'schema' => ['description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'- **PayOnDemand** (default): pay-as-you-go'."\n" + ."\n" + .'To change the billing method of a pay-as-you-go CLB instance to subscription, you must set the parameter to **PrePay**. In addition, the previous billing method of the CLB instance must be **PayOnDemand**.', 'type' => 'string', 'required' => false, 'default' => 'PrePay', 'example' => 'PrePay', 'title' => ''], ], [ - 'name' => 'Domain', + 'name' => 'PricingCycle', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '*.example1.com', - ], + 'schema' => ['description' => 'The billing cycle.'."\n" + ."\n" + .'Valid values: **year** and **month**.'."\n" + ."\n" + .'> This parameter is valid only when the **PayType** parameter is set to **PrePay**. This parameter is valid only for pay-as-you-go instances.', 'type' => 'string', 'required' => false, 'example' => 'month', 'title' => ''], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'Duration', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the certificate used by the domain name.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '123157xxxxxxx_166f820xxxxxx_1714763408_709981xxxx', - ], + 'schema' => ['description' => 'The subscription duration.'."\n" + ."\n" + .'- If **PricingCycle** is set to **month**, the valid values are **1** to **9**.'."\n" + ."\n" + .'- If **PricingCycle** is set to **year**, the valid values are **1** to **3**.'."\n" + ."\n" + .'> This parameter is valid only when the **PayType** parameter is set to **PrePay**. This parameter is valid only for pay-as-you-go instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false** (default): no'."\n" + ."\n" + .'> This parameter is valid only when the `PayType` parameter is set to **PrePay**. This parameter is valid only for pay-as-you-go instances.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], ], 'responses' => [ @@ -17353,115 +10971,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ListenerPort' => [ - 'description' => 'The frontend port that is used by the SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'A6E7EFC9-0938-40CA-877D-9BEDBD21D357', - ], - 'DomainExtensionId' => [ - 'description' => 'The ID of the additional domain name.'."\n", - 'type' => 'string', - 'example' => 'de-bp1rp7ta19******', - ], + 'OrderId' => ['description' => 'The order ID of the subscription CLB instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '20212961978891', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['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' => ''], ], ], - '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' => 'CreateDomainExtension', - 'summary' => 'Adds an additional domain name.', + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => 'ModifyLoadBalancerPayType', + 'summary' => 'Changes the billing method of a Classic Load Balancer (CLB) instance from pay-as-you-go to subscription.', + '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">'."\n" + ."\n" + .'仅按规格计费(公网为按固定带宽计费)的实例支持调用 ModifyLoadBalancerPayType 接口,按使用量计费实例不支持调用该接口。'."\n" + ."\n" + .'</props>', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetDomainExtensionAttribute' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-04-28T14:56:30.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLoadBalancerPayType'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + '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' => [], @@ -17469,42 +11037,107 @@ ], 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the domain name that is associated with the additional certificate to be replaced.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'de-bp1rp7ta*****', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6j****', 'title' => ''], ], [ - 'name' => 'ServerCertificateId', + 'name' => 'OldBackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the new certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => '1231579xxxxxxxx_166f8204689_1714763408_709981xxx', - ], + 'schema' => ['description' => 'The backend servers that you want to replace. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of Elastic Compute Service (ECS) instances, elastic network interfaces (ENIs), and elastic container instances. If you set **ServerId** to the IDs of ENIs or elastic container instances, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: optional. The description of the backend servers. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/). periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Add an ECS instance:'."\n" + ."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI with multiple IP addresses:'."\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" + .'- Add an elastic container instance'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.', 'type' => 'string', 'required' => false, 'example' => '[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]', 'title' => ''], + ], + [ + 'name' => 'NewBackendServers', + 'in' => 'query', + 'schema' => ['description' => 'The backend servers that you want to add to the vServer group. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: required. The IDs of the backend servers. Specify the IDs in a string. You can specify the IDs of ECS instances, ENIs, and elastic container instances. If you set **ServerId** to the IDs of ENIs or elastic container instances, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: optional. The description of the backend servers. Specify the description in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/). periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Add an ECS instance:'."\n" + ."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add an ENI with multiple IP addresses:'."\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" + .'- Add an elastic container instance'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -17512,331 +11145,344 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '149A2470-F010-4437-BF68-343D5099C19D', + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'example' => 'rsp-cige6j****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08******', 'title' => ''], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the backend server.', 'type' => 'string', 'example' => 'The description of the backend server.', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the ECS instance or ENI.', 'type' => 'string', 'example' => 'i-bp1ge5hrp****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'InvalidParameter', 'errorMessage' => 'The specified BackendServers contain duplicated value of ServerID and Port.', 'description' => 'The specified backend servers contain duplicate service IDs and ports.'], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.ServerIpConflict', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'OperationUnsupported.ModifyVServerGroupBackendServers', 'errorMessage' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'description' => ''], + ['errorCode' => 'IncorrectStatus.RSByPassToas', 'errorMessage' => '%s.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'IncorrectStatus.CenNotAssociated', 'errorMessage' => 'The action is invalid because the loadbalancer is not associated with cen.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.MissingCenBandWidth', 'errorMessage' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'description' => ''], + ['errorCode' => 'InvalidBackendServers.VpcNotInCen', 'errorMessage' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'description' => ''], + ['errorCode' => 'InvalidServerId.NotExist', 'errorMessage' => 'The specified ServerId is not exist.', 'description' => ''], + ['errorCode' => 'MissingParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is required.', 'description' => ''], + ['errorCode' => 'MissingParameter.VbrId', 'errorMessage' => 'The parameter VbrId is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.ServerRegionId', 'errorMessage' => 'The parameter ServerRegionId is invalid for crossborder.', 'description' => ''], + ['errorCode' => 'InvalidVbrId.NotInCen', 'errorMessage' => 'The VbrId is not in the cen associated with the loadbalancer.', 'description' => ''], + ['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' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'ModifyVServerGroupBackendServers', + 'summary' => 'Replaces backend servers in a vServer group.', + 'description' => 'This operation can be used only to replace backend servers in a vServer group. To modify the attributes of backend servers, such as weights, call the [SetVServerGroupAttribute](~~35217~~) operation.', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:15.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyVServerGroupBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], + ], + '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}'], + ], ], ], ], - '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' => 'SetDomainExtensionAttribute', - 'summary' => 'Replaces the certificate of an additional domain name.', - 'description' => '> You cannot replace an additional certificate for a listener that is added to a shared-resource Server Load Balancer (SLB) instance.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', 'extraInfo' => ' ', ], - 'DeleteDomainExtension' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'MoveResourceGroup' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88639', + 'abilityTreeNodes' => ['FEATUREslbPXSOQX'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource for which you want to modify the resource group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-uf6ghek7ds2btzt65****', 'title' => ''], + ], + [ + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the additional domain name that you want to delete.'."\n", + 'description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- **loadbalancer**: a CLB instance'."\n" + ."\n" + .'- **certificate**: a certificate'."\n" + ."\n" + .'- **acl**: an access control list (ACL)', + 'enumValueTitles' => ['loadbalancer' => 'loadbalancer', 'certificate' => 'certificate', 'acl' => 'acl'], 'type' => 'string', 'required' => true, 'docRequired' => true, - 'example' => 'de-bp1rp7ta1****', + 'example' => 'loadbalancer', + 'title' => '', ], ], + [ + 'name' => 'NewResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group to which you want to move the resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rg-aek2rpsek5h****', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2dmxj56z****', 'title' => ''], + ], + [ + 'name' => 'access_key_id', + 'in' => 'query', + 'schema' => ['description' => 'The AccessKey ID provided to you by Alibaba Cloud for accessing the service.', 'type' => 'string', 'required' => false, 'example' => 'yourAccessKeyID', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '149A2470-F010-4437-BF68-343D5099C19D', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '18CAE30A-79CF-544C-86DB-EB36C739642E', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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', + 'title' => 'MoveResourceGroup', + 'summary' => 'Moves a resource to another resource group.', + '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\\": \\"149A2470-F010-4437-BF68-343******\\"\\n}","type":"json"}]', - 'title' => 'DeleteDomainExtension', - 'summary' => 'Deletes an additional domain name.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"18CAE30A-79CF-544C-86DB-EB36C739642E\\"\\n}","type":"json"}]', ], - 'DescribeDomainExtensionAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RemoveAccessControlListEntry' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the network ACL is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the additional certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'de-bp1rp7ta1****', - ], + 'schema' => ['description' => 'The ID of the network ACL.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43k******', 'title' => ''], + ], + [ + 'name' => 'AclEntrys', + 'in' => 'query', + 'schema' => ['description' => 'The IP entries that you want to remove from the network ACL. Valid values:'."\n" + ."\n" + .'- **entry**: the IP address or CIDR block that you want to remove from the network ACL. Separate multiple IP addresses or CIDR blocks with commas (,).'."\n" + ."\n" + .'- **comment**: the description of the network ACL.', 'type' => 'string', 'required' => false, 'example' => '[{"entry":"10.0.10.0/24","comment":"privaterule1"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'Domain' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '48C1B671-C6DB-4DDE-9B30-10557E36CDE0', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1o94dp5i6*****earr9g6d1l', - ], - 'ListenerPort' => [ - 'description' => 'The frontend port of the HTTPS listener that is configured for the SLB instance. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'ServerCertificateId' => [ - 'description' => 'The ID of the server certificate used by the domain name.'."\n", - 'type' => 'string', - 'example' => '231579085529123_166f82******_1714763408_709981430', - ], - 'DomainExtensionId' => [ - 'description' => 'The ID of the additional certificate.'."\n", - 'type' => 'string', - 'example' => 'de-bp1rp7ta1****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.DomainExtensionId', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParameter.DomainExtensionId', - 'errorMessage' => 'The param DomainExtensionId is missing', - ], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], ], ], - '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' => 'DescribeDomainExtensionAttribute', - 'summary' => 'Queries the attributes of an additional domain name.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveAccessControlListEntry', + 'summary' => 'Removes IP entries from the network access control list (ACL) of a Classic Load Balancer (CLB) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainExtensions' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-12-27T08:30:15.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveAccessControlListEntry'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', + ], + 'RemoveBackendServers' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The SLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1b6c719dfa08ex****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port of the HTTPS listener that is configured for the SLB instance. Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'example' => '443', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp15lbk8uja8rvm4a****', 'title' => ''], ], [ - 'name' => 'DomainExtensionId', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the additional certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'de-bp1rp7ta1****', - ], + 'schema' => ['description' => 'The backend servers that you want to remove.'."\n" + ."\n" + .'- **ServerId**: The IDs of the backend servers. Set the value to a string. This parameter is required.'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): Elastic Compute Service (ECS) instance'."\n" + ."\n" + .' - **eni**: elastic network interface (ENI)'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Set the value to an integer.'."\n" + ."\n" + .'You can specify at most 20 backend servers in each call. Examples:'."\n" + ."\n" + .'- Remove ECS instances:'."\n" + ."\n" + .'`[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]`'."\n" + ."\n" + .'- Remove ENIs:'."\n" + ."\n" + .'`[{"ServerId":"eni-2ze1sdp5****","Type": "eni","Weight":"100"}]`'."\n" + ."\n" + .'- Remove elastic container instances:'."\n" + ."\n" + .'`[{"ServerId":"eci-2ze1sdp5****","Type": "eci","Weight":"100"}]`', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"ServerId":"i-bp1fq61enf4loa5i****", "Type": "ecs","Weight":"100"}]', 'title' => ''], ], ], 'responses' => [ @@ -17844,214 +11490,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '48C1B671-C6DB-4DDE-9B30-10557E36CDE0', - ], - 'DomainExtensions' => [ + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-bp15lbk8uja8rvm4a****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34******', 'title' => ''], + 'BackendServers' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DomainExtension' => [ - 'description' => 'A list of additional certificates.'."\n", + 'BackendServer' => [ + 'description' => 'The backend servers.', 'type' => 'array', 'items' => [ 'description' => '', 'type' => 'object', 'properties' => [ - 'ServerCertificateId' => [ - 'description' => 'The ID of the certificate used by the domain name.'."\n", - 'type' => 'string', - 'example' => '1231579085529123_166f8204689_1714763408_70998****', - ], - 'Domain' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'DomainExtensionId' => [ - 'description' => 'The ID of the additional certificate.'."\n", - 'type' => 'string', - 'example' => 'de-bp1rp7ta1****', - ], + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs**: ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instances', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server. Valid values: **0 to 100**.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the server group.', 'type' => 'string', 'example' => 'BackendServer1', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'example' => 'i-bp1fq61enf4loa5i****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeDomainExtensions', - 'summary' => 'Queries additional domain names.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveBackendServers', + 'summary' => 'Removes backend servers.', + 'description' => '> If the backend servers that you want to remove are not in the server list of the Classic Load Balancer (CLB) instance, the request fails. However, the system does not report an error.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateTLSCipherPolicy' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2022-12-27T08:30:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-09-20T12:11:15.000Z', 'description' => 'Error codes changed'], + ], + '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' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region where the Classic Load Balancer (CLB) instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Name', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the TLS policy. The name must be 2 to 200 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'TLSPolicy-test', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'example' => 'lb-8vb86hxixo8lvsja8****', 'title' => ''], ], [ - 'name' => 'Ciphers', + 'name' => 'ListenerPort', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.'."\n" - ."\n" - .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" - ."\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" - .'TLS 1.2 supports the following cipher suites:'."\n" - ."\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" - .'TLS 1.3 supports the following cipher suites:'."\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**'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.'."\n" - ."\n" - .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" - ."\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" - .'TLS 1.2 supports the following cipher suites:'."\n" - ."\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" - .'TLS 1.3 supports the following cipher suites:'."\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**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ECDHE-ECDSA-AES128-SHA', - ], - 'required' => true, - 'example' => 'AES256-SHA256', - 'maxItems' => 30, - ], + 'schema' => ['description' => 'The listening port.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'TLSVersions', + 'name' => 'SourceItems', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**. You can specify at most four TLS versions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**. You can specify at most four TLS versions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TLSv1.0', - ], - 'required' => true, - 'example' => 'TLSv1.0', - 'maxItems' => 5, - ], + 'schema' => ['description' => 'The list of IP addresses or CIDR blocks that you want to remove from the whitelist. Separate multiple IP addresses or CIDR blocks with commas (,).'."\n" + ."\n" + .'> If all IP addresses are removed from the whitelist, the listener does not forward requests.', 'type' => 'string', 'required' => true, 'example' => '192.168.XX.XX', 'title' => ''], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required when listeners that use different protocols listen on the same port.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], ], 'responses' => [ @@ -18059,325 +11622,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TLSCipherPolicyId' => [ - 'description' => 'The ID of the policy.'."\n", - 'type' => 'string', - 'example' => 'tls-bp14bb1e7dll4f****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => ''], ], ], - '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' => 'CreateTLSCipherPolicy', - 'summary' => 'Creates a Transport Layer Security (TLS) policy.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveListenerWhiteListItem', + 'summary' => 'Removes IP addresses or CIDR blocks from the whitelist of a listener.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteTLSCipherPolicy' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveListenerWhiteListItem'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'TLSCipherPolicyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the TLS policy.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tls-bp1lp2076qx4ebridp******', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + '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}'], ], ], ], ], - '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.', - ], - ], - ], - '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' => 'DeleteTLSCipherPolicy', - 'summary' => 'Deletes a TLS policy.', - 'description' => '## Debugging'."\n" - ."\n" - .'[OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.](https://api.aliyun.com/#product=Slb\\&api=DeleteTLSCipherPolicy\\&type=RPC\\&version=2014-05-15)'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', ], - 'SetTLSCipherPolicyAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RemoveTags' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'TLSCipherPolicyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the TLS policy.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tls-bp1lp2076qx4e******bridp', - ], - ], - [ - 'name' => 'Name', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the TLS policy. The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'tls-policy*****-test', - ], + 'schema' => ['description' => 'The SLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1l5j******', 'title' => ''], ], [ - 'name' => 'TLSVersions', + 'name' => 'Tags', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'required' => false, - 'example' => 'TLSv1.0', - 'description' => 'The supported TLS protocol versions.'."\n", - ], - 'required' => true, - 'example' => 'TLSv1.0', - 'maxItems' => 5, - ], - ], - [ - 'name' => 'Ciphers', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The cipher suites supported by the TLS version.'."\n" - ."\n" - .'The specified cipher suites must be supported by at least one TLS protocol version that you specify. For example, if you set the TLSVersions parameter to TLSv1.3, you must specify cipher suites that are supported by this protocol version.'."\n" - ."\n" - .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\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" - .'TLS 1.2 supports the following cipher suites:'."\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" - .'TLS 1.3 supports the following cipher suites:'."\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'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'string', - 'required' => false, - 'example' => 'ECDHE-ECDSA-AES128-SHA', - 'description' => 'The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.'."\n" - ."\n" - .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" - ."\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" - .'TLS 1.2 supports the following cipher suites:'."\n" - ."\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" - .'TLS 1.3 supports the following cipher suites:'."\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**'."\n", - ], - 'required' => true, - 'example' => 'DES-CBC3-SHA', - 'maxItems' => 30, - ], + 'schema' => ['description' => 'A list of tags to be removed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', 'title' => ''], ], ], 'responses' => [ @@ -18385,170 +11699,113 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the asynchronous task.'."\n", - 'type' => 'string', - 'example' => '72dcd26b-f12d-4c27-b3af****-18f6aed5', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF3******', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified tag key is invalid.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveTags', + 'summary' => 'Removes tags from a Server Load Balancer (SLB) instance.', + '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' => 'All Resource', 'arn' => '*'], + ], ], ], ], - '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' => 'SetTLSCipherPolicyAttribute', - 'summary' => 'Configures a Transport Layer Security (TLS) policy.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\"\\n}","type":"json"}]', ], - 'ListTLSCipherPolicies' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RemoveVServerGroupBackendServers' => [ + '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' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'TLSCipherPolicyId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the TLS policy.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'tls-bp17elso1h323r****', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the TLS policy. The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TLSPolicy-test****', - ], - ], - [ - 'name' => 'IncludeListener', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return the information about the associated listeners. Valid values:'."\n" - ."\n" - .'* **true**: returns the information about the associated listeners.'."\n" - .'* **false** (default): does not return the information about the associated listeners.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that is used for the next query. Valid values:'."\n" - ."\n" - .'* If this is your first query or no next query is to be sent, ignore this parameter.'."\n" - .'* If a next query is to be sent, set the value to the value of NextToken that is returned from the last call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], - ], - [ - 'name' => 'MaxItems', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of TLS policies to be queried in this call. Valid values: **1** to **100**. If you do not set this parameter, the default value **20** is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The backend servers that you want to remove. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: Optional. The description of the backend server. Specify the value in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs**: ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance SLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of an ENI or an elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Add ECS instances:'."\n" + ."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add ENIs:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add ENIs with multiple IP addresses:'."\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" + .'- Add elastic container instances:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -18556,307 +11813,116 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that is used for the next query. Valid values:'."\n" - ."\n" - .'* If **NextToken** is empty, it indicates that no next query is to be sent.'."\n" - .'* If **NextToken** is not empty, the value indicates the token that is used for the next query.'."\n", - 'type' => 'string', - 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], - 'TotalCount' => [ - 'description' => 'The total number of TLS policies returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'IsTruncated' => [ - 'description' => 'Indicates whether the current page is the last page. Valid values:'."\n" - ."\n" - .'* **true**: The current page is the last page.'."\n" - .'* **false**: The current page is not the last page.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'TLSCipherPolicies' => [ - 'description' => 'The list of TLS policies.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the TLS policy. Valid values:'."\n" - ."\n" - .'* **configuring**: The TLS policy is being configured.'."\n" - .'* **normal**: The TLS policy works as expected.'."\n", - 'type' => 'string', - 'example' => 'normal', - ], - 'InstanceId' => [ - 'description' => 'The ID of the TLS policy.'."\n", - 'type' => 'string', - 'example' => 'tls-bp17elso1h323r****', - ], - 'Name' => [ - 'description' => 'The name of the TLS policy.'."\n", - 'type' => 'string', - 'example' => 'TLSPolicy-test****', - ], - 'CreateTime' => [ - 'description' => 'The timestamp generated when the TLS policy is created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1608273800000', - ], - 'RelateListeners' => [ - 'description' => 'The list of associated listeners.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Port' => [ - 'description' => 'The listening port. Valid values: **1** to **65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Protocol' => [ - 'description' => 'The listening protocol. Valid values:'."\n" - ."\n" - .'* **TCP**'."\n" - .'* **UDP**'."\n" - .'* **HTTP**'."\n" - .'* **HTTPS**'."\n", - 'type' => 'string', - 'example' => 'HTTPS', - ], - 'LoadBalancerId' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa08ex****', - ], - ], - ], - ], - 'TLSVersions' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**.'."\n", - 'type' => 'string', - 'example' => 'TLSv1.0', - ], - 'description' => 'The version of the TLS protocol.'."\n", - ], - 'Ciphers' => [ - 'type' => 'array', - 'items' => [ - 'description' => 'The cipher suites supported by the TLS version.'."\n" - ."\n" - .'The specified cipher suites must be supported by at least one TLS protocol version that you specify. For example, if you set the TLSVersions parameter to TLSv1.3, you must specify cipher suites that are supported by this protocol version.'."\n" - ."\n" - .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\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" - .'TLS 1.2 supports the following cipher suites:'."\n" + 'VServerGroupId' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'example' => 'rsp-cige6j****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B0******', 'title' => ''], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the backend server. Valid values:'."\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" + .'- **ecs** (default): ECS instance'."\n" ."\n" - .'TLS 1.3 supports the following cipher suites:'."\n" + .'- **eni**: ENI'."\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'."\n", - 'type' => 'string', - 'example' => 'ECDHE-ECDSA-AES128-SHA', + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'eni', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'example' => 'eni-hhshhs****', 'title' => ''], ], - 'description' => 'The cipher suites supported by the TLS version.'."\n" - ."\n" - .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\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" - .'TLS 1.2 supports the following cipher suites:'."\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" - .'TLS 1.3 supports the following cipher suites:'."\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'."\n", + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'QueryTokenInvalid', - 'errorMessage' => 'The specified token is invalid.', - ], - [ - 'errorCode' => 'QueryTokenNotExist', - 'errorMessage' => 'The specified token is not exist.', - ], + ['errorCode' => 'LbStatusNotSupport', 'errorMessage' => 'The status of specified loadbalancer does not support..', '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' => 'ListTLSCipherPolicies', - 'summary' => 'Queries Transport Layer Security (TLS) policies.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'RemoveVServerGroupBackendServers', + 'summary' => 'Removes backend servers from a vServer group.', + 'description' => '> If the backend servers specified by the **BackendServers** parameter do not exist in the vServer group, the backend servers are ignored. No error message is returned.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateAccessControlList' => [ - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2021-10-13T14:14:43.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveVServerGroupBackendServers'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + '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' => '[{"errorExample":"","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}","type":"json"}]', + ], + 'SetAccessControlListAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the ACL.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [], - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'AclName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ACL. The name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), hyphens (-), forward slashes (/), and underscores (\\_). The name of the ACL that you create must be unique within each region.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rule1', - ], - ], - [ - 'name' => 'AddressIPVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP version. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [], - 'example' => 'ipv4', - 'default' => 'ipv4', - ], + 'schema' => ['description' => 'The region ID of the ACL.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'AclId', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rt******', - ], + 'schema' => ['description' => 'The ACL ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'acl-bp1l0kk4gxce43k******', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'AclName', 'in' => 'query', - 'allowEmptyValue' => true, - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => 'The value of tag N. Valid values of N: **1** to **20**. The tag value can be an empty string. The tag value must be 0 to 128 characters in length, and cannot start with `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ACL name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1', 'title' => ''], ], ], 'responses' => [ @@ -18864,125 +11930,86 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclId' => [ - 'description' => 'The IP version. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'example' => 'acl-rj9xpxzcwxrukois****', - ], - 'RequestId' => [ - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AclId\\": \\"acl-rj9xpxzcwxrukois****\\",\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', - 'title' => 'CreateAccessControlList', - 'summary' => 'Creates an access control list (ACL).', - 'description' => 'You can create multiple ACLs. Each ACL can contain one or more IP addresses or CIDR blocks. Before you create an ACL, take note of the following limits:'."\n" - ."\n" - .'* An account can have a maximum of 50 ACLs in each region.'."\n" - .'* You can add a maximum of 50 IP addresses or CIDR blocks at a time within an account.'."\n" - .'* Each ACL can contain a maximum of 300 IP addresses or CIDR blocks.'."\n", + 'title' => 'SetAccessControlListAttribute', + 'summary' => 'Renames an access control list (ACL).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddAccessControlListEntry' => [ - 'summary' => 'Adds IP entries to an access control list (ACL).', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2022-02-23T07:54:30.000Z', 'description' => 'Response parameters changed, Error codes changed'], ], - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', + ], + 'SetAccessLogsDownloadAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AclId', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43kze*****', - ], + 'schema' => ['description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n" + ."\n" + .'You can specify up to 10 tags in each call.', 'type' => 'string', 'required' => false, 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', 'title' => ''], ], [ - 'name' => 'AclEntrys', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of the network ACL. Valid values:'."\n" - ."\n" - .'* **entry**: the IP entries that you want to add to the network ACL. You can add CIDR blocks. Separate multiple CIDR blocks with commas (,).'."\n" - .'* **comment**: the comment on the network ACL.'."\n" - ."\n" - .'> You can add at most 50 IP entries to a network ACL in each call. If the IP entry that you want to add to a network ACL already exists, the IP entry is not added. The IP entries that you add must be CIDR blocks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"entry":"10.0.**.**/24","comment":"privaterule1"},{"entry":"192.168.**.**/16","comment":"privaterule2"}]', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp1b6c719dfa08ex*****', 'title' => ''], + ], + [ + 'name' => 'LogsDownloadAttributes', + 'in' => 'query', + 'schema' => ['description' => 'The access log forwarding rule. Parameters:'."\n" + ."\n" + .'- **LogProject**: the name of the project of Simple Log Service.'."\n" + ."\n" + .'- **LogStore**: the name of the Logstore of Simple Log Service.'."\n" + ."\n" + .'- **LoadBalancerId**: the ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]', 'title' => ''], ], ], 'responses' => [ @@ -18990,105 +12017,112 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA4', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', - ], + ['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' => ''], ], - 503 => [ - [ - 'errorCode' => 'ServiceUnavailable', - 'errorMessage' => 'Service is unavailable now.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'SetAccessLogsDownloadAttribute', + 'summary' => 'Adds an access log forwarding rule to a Classic Load Balancer (CLB) instance.', + '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\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA4\\"\\n}","errorExample":""},{"type":"xml","example":"<AddAccessControlListEntryResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA4</RequestId>\\n</AddAccessControlListEntryResponse>","errorExample":""}]', - 'title' => 'AddAccessControlListEntry', - 'description' => 'Each network ACL can contain one or more IP addresses or CIDR blocks. Take note of the following limits on network ACLs:'."\n" - ."\n" - .'* The number of IP entries that can be added to a network ACL with each Alibaba Cloud account at a time: 50'."\n" - .'* The maximum number of IP entries that each network ACL can contain: 300'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9C****\\"\\n}","type":"json"}]', ], - 'DeleteAccessControlList' => [ - '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' => 'The region ID of the ACL.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AclId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ACL ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43kz******', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3a******', 'title' => ''], + ], + [ + 'name' => 'BackendServers', + 'in' => 'query', + 'schema' => ['description' => 'The backend servers that you want to add. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: Optional. The description of the backend server. Specify the value in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of the ENI or elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- ECS instance:'."\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 with multiple IP addresses:'."\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" + .'- Elastic container instance:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to a CLB instance. You can specify at most 20 backend servers in each call.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -19096,85 +12130,115 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', + 'LoadBalancerId' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'example' => 'lb-bp1qjwo61pqz3a******', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7F******', 'title' => ''], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'eni', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'string', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the backend server.', 'type' => 'string', 'example' => 'The description of the backend server.', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the server group.', 'type' => 'string', 'example' => 'eni-hhshhs****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OperationFailed.AclBindedWithVip', - 'errorMessage' => 'The ACL has binded with vip.', - ], + ['errorCode' => 'Mismatched.ZoneId', 'errorMessage' => 'The zone of the server is not matched with the cloud box loadbalancer.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","type":"json"}]', - 'title' => 'DeleteAccessControlList', - 'summary' => 'Deletes an access control list (ACL).', - 'description' => 'You can delete an ACL only if it is not associated with a listener.'."\n", + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'SetBackendServers', + 'summary' => 'Specifies weights for backend servers.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetAccessControlListAttribute' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + '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}'], + ], + ], + ], ], + ], + 'SetCACertificateName' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the ACL.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region of the CA certificate.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-east-hangzhou-01', 'title' => ''], ], [ - 'name' => 'AclId', + 'name' => 'CACertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ACL ID.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43k******', - ], + 'schema' => ['description' => 'The ID of the CA certificate.', 'type' => 'string', 'required' => true, 'example' => '139a0******-cn-east-hangzhou-01', 'title' => ''], ], [ - 'name' => 'AclName', + 'name' => 'CACertificateName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ACL name.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test1', - ], + 'schema' => ['description' => 'The CA certificate name.'."\n" + ."\n" + .'The name must be 1 to 80 character in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.', 'type' => 'string', 'required' => true, 'example' => 'mycacert02', 'title' => ''], ], ], 'responses' => [ @@ -19182,102 +12246,70 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'SetAccessControlListAttribute', - 'summary' => 'Renames an access control list (ACL).', + 'errorCodes' => [], + 'title' => 'SetCACertificateName', + 'summary' => 'Specifies a name for a CA certificate.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAccessControlListAttribute' => [ - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","type":"json"}]', + ], + 'SetDomainExtensionAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeNodes' => [ - 'FEATUREslbEDXHGI', - 'FEATUREslb3KZE2S', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the ACL.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'AclId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ACL that you want to query.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1ut10zzvh1y8dfs****', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AclEntryComment', + 'name' => 'DomainExtensionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The remarks of the ACL entry.', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the domain name that is associated with the additional certificate to be replaced.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'de-bp1rp7ta*****', 'title' => ''], ], [ - 'name' => 'Page', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the new certificate.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1231579xxxxxxxx_166f8204689_1714763408_709981xxx', 'title' => ''], ], ], 'responses' => [ @@ -19285,271 +12317,109 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'AclId' => [ - 'description' => 'The ACL ID.'."\n", - 'type' => 'string', - 'example' => 'acl-bp1ut10zzvh1y8dfs****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The tags added to the ACL.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'TestValue', - ], - ], - ], - ], - ], - ], - 'AddressIPVersion' => [ - 'description' => 'The IP version. Valid values: **ipv4** and **ipv6**.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C9906A1D-86F7-4C9C-A369-54DA42EF206A', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-acfmz3jksig****', - ], - 'AclName' => [ - 'description' => 'The ACL name.', - 'type' => 'string', - 'example' => 'doctest', - ], - 'AclEntrys' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AclEntry' => [ - 'description' => 'The information about the access control policy.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AclEntryComment' => [ - 'description' => 'The remarks of the ACL entry.', - 'type' => 'string', - 'example' => 'test', - ], - 'AclEntryIP' => [ - 'description' => 'The IP entry in the ACL.'."\n", - 'type' => 'string', - 'example' => '192.168.0.1', - ], - ], - 'description' => 'The information about the access control policy.'."\n", - ], - ], - ], - ], - 'RelatedListeners' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RelatedListener' => [ - 'description' => 'The listeners with which the ACL is associated.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The listeners that are associated with the network ACL.'."\n", - 'type' => 'object', - 'properties' => [ - 'ListenerPort' => [ - 'description' => 'The frontend port of the listener with which the ACL is associated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'AclType' => [ - 'description' => 'The type of ACL. Valid values:'."\n" - ."\n" - .'* **black**'."\n" - .'* **white**'."\n", - 'type' => 'string', - 'example' => 'white', - ], - 'Protocol' => [ - 'description' => 'The type of protocol that the associated listener uses.'."\n", - 'type' => 'string', - 'example' => 'https', - ], - 'LoadBalancerId' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1qpzldlm38bnexl****', - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => 'The time when the ACL was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.', - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], - 'TotalAclEntry' => [ - 'description' => 'The total number of ACL entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '149A2470-F010-4437-BF68-343******', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - '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' => 'DescribeAccessControlListAttribute', - 'summary' => 'Queries the configuration of an access control list (ACL).', + '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' => ''], + ['errorCode' => 'MissingParameter.CertificateId', 'errorMessage' => 'The parameter CertificateId is required.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'The param ServerCertificates is missing.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => ''], + ], + ], + 'title' => 'SetDomainExtensionAttribute', + 'summary' => 'Replaces the certificate of an additional domain name.', + 'description' => '> You cannot replace an additional certificate for a listener that is added to a shared-resource Server Load Balancer (SLB) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeAccessControlLists' => [ - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"149A2470-F010-4437-BF68-343******\\"\\n}","type":"json"}]', + ], + 'SetListenerAccessControlStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeNodes' => [ - 'FEATUREslbEDXHGI', - 'FEATUREslb3KZE2S', - ], - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the ACL.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'AclName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ACL name. The ACL name. The name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), hyphens (-), forward slashes (/), and underscores (\\_). The name of each ACL must be unique within a region. Fuzzy match is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rule1', - ], + 'schema' => ['description' => 'The region where the Classic Load Balancer (CLB) instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AddressIPVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP version of the Classic Load Balancer (CLB) instance with which the ACL is associated. Valid values:'."\n" - ."\n" - .'* **ipv4**'."\n" - .'* **ipv6**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ipv4', - ], - ], - [ - 'name' => 'PageSize', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-8vb86hxixo8lvsja8****', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'AccessControlStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-atstuj3rtop4****', - ], + 'schema' => ['description' => 'Specifies whether to enable the whitelist. Valid values:'."\n" + ."\n" + .'- **open\\_white\\_list**: enables the whitelist.'."\n" + ."\n" + .'- **close**: disables the whitelist.'."\n" + ."\n" + .'> After the whitelist is enabled, if no IP address is added to the whitelist, the CLB instance does not distribute network traffic.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'open_white_list', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Value' => [ - 'description' => 'The tag value. You can specify at most 20 tag values. The tag value cannot be an empty string.'."\n" - ."\n" - .'The tag value must be 1 to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required when listeners that use different protocols listen on the same port.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], ], 'responses' => [ @@ -19557,305 +12427,443 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageNumber' => [ - 'description' => 'The number of the returned page. Pages start from page **1**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3CB646EF-6147-4566-A9D9-CE8FBE86F971', - ], - 'TotalCount' => [ - 'description' => 'The total number of ACLs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Count' => [ - 'description' => 'The number of ACLs on the current page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Acls' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Acl' => [ - 'description' => 'A list of ACLs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AclId' => [ - 'description' => 'The ACL ID.'."\n", - 'type' => 'string', - 'example' => 'acl-bp1l0kk4gxce43k*****', - ], - 'AddressIPVersion' => [ - 'description' => 'The IP version that is used by the CLB instance associated with the ACL.'."\n", - 'type' => 'string', - 'example' => 'ipv4', - ], - 'AclName' => [ - 'description' => 'The ACL name.'."\n", - 'type' => 'string', - 'example' => 'rule1', - ], - 'ResourceGroupId' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'example' => 'rg-jfenfbp1lhl0****', - ], - 'Tags' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Tag' => [ - 'description' => 'The list of tags added to the network ACL. The value of this parameter must be a STRING list in the JSON format.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TagKey' => [ - 'description' => 'The tag key.', - 'type' => 'string', - 'example' => 'test', - ], - ], - 'example' => '{"Key":"test","Value":"value"}', - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => 'The time when the CLB instance was created. The time follows the `YYYY-MM-DDThh:mm:ssZ` format.'."\n", - 'type' => 'string', - 'example' => '2022-08-31T02:49:05Z', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidResourceGroupId.NotFound', - 'errorMessage' => 'The specified ResourceGroupId is not found.', - ], - [ - 'errorCode' => 'LocationServiceTimeout', - 'errorMessage' => 'Location service connection timeout. Please try again later.', - ], + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified', 'description' => ''], + ['errorCode' => 'OperationFailed.ActionNotSupport', 'errorMessage' => 'The loadbalancer of ipv6 does not support such action.', 'description' => ''], + ['errorCode' => 'OperationUnsupported.SetAccessControl', 'errorMessage' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', 'description' => ''], ], ], - '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' => 'DescribeAccessControlLists', - 'summary' => 'Queries access control lists (ACLs).', + 'title' => 'SetListenerAccessControlStatus', + 'summary' => 'Enables or disables the whitelist of a listener.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RemoveAccessControlListEntry' => [ - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'SetLoadBalancerDeleteProtection' => [ + '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' => 'The ID of the region where the network ACL is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region where the SLB instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AclId', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the network ACL.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'acl-bp1l0kk4gxce43k******', - ], + 'schema' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e*****', 'title' => ''], ], [ - 'name' => 'AclEntrys', + 'name' => 'DeleteProtection', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP entries that you want to remove from the network ACL. Valid values:'."\n" - ."\n" - .'* **entry**: the IP address or CIDR block that you want to remove from the network ACL. Separate multiple IP addresses or CIDR blocks with commas (,).'."\n" - .'* **comment**: the description of the network ACL.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"entry":"10.0.10.0/24","comment":"privaterule1"}]', - ], + 'schema' => ['description' => 'Specify whether to enable or disable deletion protection for the SLB instance.'."\n" + ."\n" + .'Valid values: **on and off**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'off', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '988CB45E-1643-48C0-87B4-928DDF77EA49', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '791D8B68-AE0F-4174-AF54-088C8B3C5D54', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy.', - ], + ['errorCode' => 'OperationUnsupported.DeleteProtectionForPrePayInstance', 'errorMessage' => 'The operation failed because prepay instance does not support delete protection.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'SetLoadBalancerDeleteProtection', + 'summary' => 'Enables or disables deletion protection for an SLB instance.', + '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\\": \\"988CB45E-1643-48C0-87B4-928DDF77EA49\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveAccessControlListEntryResponse>\\n <RequestId>988CB45E-1643-48C0-87B4-928DDF77EA49</RequestId>\\n</RemoveAccessControlListEntryResponse>","errorExample":""}]', - 'title' => 'RemoveAccessControlListEntry', - 'summary' => 'Removes IP entries from the network access control list (ACL) of a Classic Load Balancer (CLB) instance.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"791D8B68-AE0F-4174-AF54-088C8B3C5D54\\"\\n}","type":"json"}]', ], - 'SetListenerAccessControlStatus' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetLoadBalancerHTTPListenerAttribute' => [ + 'summary' => 'Modify an HTTP listener\'s configuration.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88668', + 'abilityTreeNodes' => ['FEATUREslbPXBZ65'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region where the Classic Load Balancer (CLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the load balancer instance.'."\n" + ."\n" + .'You can get the region ID from the [Regions and availability zones](~~27585~~) list or by calling the [DescribeRegions](~~27584~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-8vb86hxixo8lvsja8****', - ], + 'schema' => ['description' => 'The ID of the load balancer instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1qjwo61pqz3ah*****', 'title' => ''], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The frontend port used by the load balancer instance.'."\n" + ."\n" + .'Value range: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'AccessControlStatus', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the whitelist. Valid values:'."\n" - ."\n" - .'* **open_white_list**: enables the whitelist.'."\n" - .'* **close**: disables the whitelist.'."\n" - ."\n" - .'> After the whitelist is enabled, if no IP address is added to the whitelist, the CLB instance does not distribute network traffic.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'open_white_list', - ], + 'schema' => ['description' => 'The peak bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- **-1**: For a pay-by-traffic, Internet-facing load balancer instance, a value of **-1** indicates an unlimited listener bandwidth.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **1** to **5120**: For an Internet-facing, pay-by-bandwidth load balancer instance, specify a peak bandwidth for the listener. The sum of the peak bandwidths of all listeners cannot exceed the peak bandwidth of the instance. For more information, see [Share instance bandwidth](~~85930~~).'."\n" + ."\n" + .'</props>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required when listeners that use different protocols listen on the same port.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve the client\'s real IP address. Valid values:'."\n" + ."\n" + .'- **on** (default).'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: weighted round-robin (WRR). Backend servers with higher weights receive more requests.'."\n" + ."\n" + .'- **rr**: round-robin (RR). Requests are distributed to backend servers in sequential order.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], + ], + [ + 'name' => 'StickySession', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable sticky sessions. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'StickySessionType', + 'in' => 'query', + 'schema' => ['description' => 'The cookie handling method. Valid values:'."\n" + ."\n" + .'- **insert**: cookie insertion.'."\n" + ."\n" + .'When a client makes its first request, the load balancer inserts a SERVERID cookie into the HTTP or HTTPS response. Subsequent requests from the client with this cookie are routed to the same backend server.'."\n" + ."\n" + .'- **server**: cookie rewriting.'."\n" + ."\n" + .'When the load balancer detects a user-defined cookie, it overwrites the original cookie. Subsequent requests from the client with the new cookie are routed to the same backend server.'."\n" + ."\n" + .'> This parameter is required if you set **StickySession** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'insert', 'title' => ''], + ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The cookie timeout period.'."\n" + ."\n" + .'Value range: **1** to **86400**. Unit: seconds.'."\n" + ."\n" + .'> This parameter is required if you set **StickySession** to **on** and **StickySessionType** to **insert**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500', 'title' => ''], + ], + [ + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => 'The cookie that is configured on the backend server.'."\n" + ."\n" + .'The value must be 1 to 200 characters long and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces, and must not start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required if you set **StickySession** to **on** and **StickySessionType** to **server**.', 'type' => 'string', 'required' => false, 'example' => 'testCookie', 'title' => ''], + ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'HealthCheckMethod', + 'in' => 'query', + 'schema' => ['description' => 'The health check method. Valid values: **head** and **get**.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'get', 'title' => ''], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: The private IP of a backend server. If you set this parameter to **$\\_ip** or leave it empty, the load balancer uses the private IP of each backend server for the health check.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length and can contain only letters, digits, periods (.), and hyphens (-).'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.16', 'title' => ''], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI that is used for health checks.'."\n" + ."\n" + .'The URI must be 1 to 80 characters long and can contain letters, digits, and the following special characters: -, /, ., %, ?, #, and &. The URI must start with a forward slash (/) but cannot be a single forward slash.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'string', 'required' => false, 'example' => '/test/index.html', 'title' => ''], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required to change the status of a backend server from **fail** to **success**.'."\n" + ."\n" + .'Value range: **2** to **10**.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks required to change the status of a backend server from **success** to **fail**.'."\n" + ."\n" + .'Value range: **2** to **10**.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for a health check response. If a backend ECS instance fails to return a valid response within this timeout period, the health check is considered a failure. This parameter applies only when you set **HealthCheck** to **on**.'."\n" + ."\n" + .'Value range: **1** to **300**. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between consecutive health checks.'."\n" + ."\n" + .'Value range: **1** to **50**. Unit: seconds.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks.'."\n" + ."\n" + .'Value range: **1** to **65535**.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '8080', 'title' => ''], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status codes that indicate a successful health check. Separate multiple status codes with commas (,).'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> This parameter applies only when you set **HealthCheck** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx', 'title' => ''], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use a VServer group. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j*****', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBIP', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address (VIP) requested by the client. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBID', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_proto', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol of the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable `Gzip` compression to compress specific file types. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the access control list (ACL) that is associated with the listener.'."\n" + ."\n" + .'> This parameter is required if you set **AclStatus** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'acl-uf60jw******', 'title' => ''], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => ['description' => 'The type of access control. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the ACL are forwarded. Whitelists are suitable for scenarios where you want to allow access only from specific IP addresses. If you enable a whitelist but do not add any IP addresses to the ACL, the listener forwards all requests.'."\n" + ."\n" + .'* **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are denied. Blacklists are suitable for scenarios where you want to deny access from specific IP addresses.'."\n" + ."\n" + .'If you enable a blacklist but do not add any IP addresses to the ACL, the listener forwards all requests.'."\n" + ."\n" + .'> This parameter applies only when you set **AclStatus** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The idle connection timeout period. Value range: **1** to **60**. Default value: 15. Unit: seconds.'."\n" + ."\n" + .'If a connection remains idle for longer than the timeout period, the load balancer closes it. A new connection is established when the next request is received.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The request timeout period. Value range: **1** to **180**. Default value: 60. Unit: seconds.'."\n" + ."\n" + .'If a backend server fails to respond within this timeout period, the load balancer returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'A description for the listener.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBPORT', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `XForwardedFor_SLBPORT` header to retrieve the listener port of the load balancer instance. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_ClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `XForwardedFor_ClientSrcPort` header to retrieve the client\'s source port. Valid values:'."\n" + ."\n" + .'- **on**.'."\n" + ."\n" + .'- **off**.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -19863,47 +12871,79 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => ''], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'Operation Denied. The HTTP listener does not support this action.', 'description' => ''], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => ''], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => ''], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'InvalidParameter.ForwardCode', 'errorMessage' => 'The specified ForwardCode is invalid.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], ], ], - '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' => 'SetListenerAccessControlStatus', - 'summary' => 'Enables or disables the whitelist of a listener.', + 'title' => 'SetLoadBalancerHTTPListenerAttribute', + 'description' => '### Prerequisites'."\n" + ."\n" + .'- You have a Classic Load Balancer. For more information, see [CreateLoadBalancer](~~27577~~).'."\n" + ."\n" + .'- You have an HTTP listener. For more information, see [CreateLoadBalancerHTTPListener](~~27592~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RemoveListenerWhiteListItem' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => 'Request parameters changed'], + ], + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'SetLoadBalancerHTTPSListenerAttribute' => [ + 'summary' => 'Configure the HTTPS listener', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19915,66 +12955,366 @@ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', + 'abilityTreeCode' => '88669', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region where the Classic Load Balancer (CLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-8vb86hxixo8lvsja8****', - ], + 'schema' => ['description' => 'The ID of the Classic Load Balancer instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-sjhfdji****', 'title' => ''], ], [ 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The listening port.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], + 'schema' => ['description' => 'The frontend port used by the Classic Load Balancer instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], ], [ - 'name' => 'SourceItems', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of IP addresses or CIDR blocks that you want to remove from the whitelist. Separate multiple IP addresses or CIDR blocks with commas (,).'."\n" - ."\n" - .'> If all IP addresses are removed from the whitelist, the listener does not forward requests.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => 'The peak bandwidth of the listener. Unit: Mbit/s.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- **-1**: The peak bandwidth is not limited.'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **1** to **5120**: The peak bandwidth of the listener. The sum of the peak bandwidths of all listeners on the instance cannot exceed the peak bandwidth of the instance.'."\n" + ."\n" + .'</props>', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'XForwardedFor', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required when listeners that use different protocols listen on the same port.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve the real IP addresses of clients. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Weighted round-robin. Backend servers with higher weights receive a larger proportion of requests.'."\n" + ."\n" + .'- **rr**: Round-robin. Requests are distributed to backend servers in sequence.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], + ], + [ + 'name' => 'StickySession', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable sticky sessions. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'StickySessionType', + 'in' => 'query', + 'schema' => ['description' => 'The method that is used to handle cookies. Valid values:'."\n" + ."\n" + .'- **insert**: The load balancer inserts a cookie (SERVERID) into the first response that is sent to a client. The next request from the client will contain the cookie, and the load balancer will redirect the request to the same backend server.'."\n" + ."\n" + .'* **server**: The load balancer rewrites a custom cookie. When the load balancer detects a user-defined cookie, it overwrites the original cookie with a new cookie. The next request from the client will contain the new cookie, and the load balancer will redirect the request to the same backend server.'."\n" + ."\n" + .'> This parameter is required if **StickySession** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'insert', 'title' => ''], + ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a cookie.'."\n" + ."\n" + .'Valid values: **1** to **86400**. Unit: seconds.'."\n" + ."\n" + .'> This parameter is required if **StickySession** is set to **on** and **StickySessionType** is set to **insert**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '500', 'title' => ''], + ], + [ + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => 'The cookie that is configured on the backend server.'."\n" + ."\n" + .'The cookie name must be 1 to 200 characters in length and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required if **StickySession** is set to **on** and **StickySessionType** is set to **server**.', 'type' => 'string', 'required' => false, 'example' => 'testCookie', 'title' => ''], + ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'HealthCheckMethod', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP method that is used for health checks. Valid values: **head** and **get**.'."\n" + ."\n" + .'> This parameter takes effect only if **HealthCheck** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'get', 'title' => ''], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name that is used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: The private IP address of a backend server. If you specify an IP address for this parameter or omit this parameter, the load balancer uses the private IP address of each backend server as the health check domain.'."\n" + ."\n" + .'- **domain**: The domain name must be 1 to 80 characters in length and can contain only letters, digits, periods (.), and hyphens (-).'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '172.XX.XX.16', 'title' => ''], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI that is used for health checks.'."\n" + ."\n" + .'The URI must be 1 to 80 characters in length and must start with a forward slash (/). It can contain letters, digits, and the following special characters: - / . % ? # &. The URI cannot consist of only a forward slash (/).'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '/test/index.html', 'title' => ''], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required to change the health check status of the backend server from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive health check failures required to change the health check status of a backend server from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period for a health check response. If a backend server, such as an Elastic Compute Service (ECS) instance, does not return a health check response within the specified timeout period, the health check fails. Unit: seconds. Valid values: **1** to **300**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval at which health checks are performed. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port that is used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '-520', 'example' => '8080', 'title' => ''], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status codes that indicate a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> This parameter takes effect only if the **HealthCheck** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'http_2xx,http_3xx', 'title' => ''], + ], + [ + 'name' => 'ServerCertificateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'required' => false, 'example' => 'idkp-123-cn-te****', 'title' => ''], + ], + [ + 'name' => 'CACertificateId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the CA certificate.'."\n" + ."\n" + .'- If both a CA certificate and a server certificate are uploaded, mutual authentication is used.'."\n" + ."\n" + .'- If you upload only a server certificate, one-way authentication is used.', 'type' => 'string', 'required' => false, 'example' => '139a00604ad-cn-east-****', 'title' => ''], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use a vServer group. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j****', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBIP', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `SLB-IP` header to retrieve the virtual IP address (VIP) of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBID', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_proto', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable `Gzip` compression to compress files of a specific type. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" + ."\n" + .'This parameter is required if **AclStatus** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'acl-a2do9e413e0spzasx****', 'title' => ''], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the network ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. The listener forwards requests only from the IP addresses or CIDR blocks specified in the network ACL. Whitelists are suitable for scenarios in which you want to allow only specific IP addresses to access an application. If you configure a whitelist but do not specify an IP address in the network ACL, the listener forwards all requests.'."\n" + ."\n" + .'* **black**: a blacklist. The listener denies all requests from the IP addresses or CIDR blocks specified in the network ACL. Blacklists are suitable for scenarios in which you want to deny access from specific IP addresses. If you configure a blacklist but do not specify an IP address in the network ACL, the listener forwards all requests.'."\n" + ."\n" + .'> This parameter is required if **AclStatus** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of an idle connection. Unit: seconds. Valid values: **1** to **60**. Default value: **15**.'."\n" + ."\n" + .'If no request is received within the specified timeout period, CLB closes the connection. When a new request is received, CLB establishes a new connection.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '23', 'title' => ''], + ], + [ + 'name' => 'RequestTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a request. Unit: seconds. Valid values: **1** to **180**. Default value: **60**.'."\n" + ."\n" + .'If a backend server does not respond within the specified timeout period, CLB returns an HTTP 504 error code to the client.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '9999', 'minimum' => '1', 'example' => '223', 'title' => ''], + ], + [ + 'name' => 'EnableHttp2', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable HTTP/2. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'TLSCipherPolicy', + 'in' => 'query', + 'schema' => ['description' => 'The Transport Layer Security (TLS) security policy. Each security policy contains TLS protocol versions and cipher suites.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_0**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.0, TLS 1.1, and TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_1**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.1 and TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2**'."\n" + ."\n" + .' Supported TLS version: TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: 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, and DES-CBC3-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict**'."\n" + ."\n" + .' Supported TLS version: TLS 1.2.'."\n" + ."\n" + .' Supported cipher suites: ECDHE-RSA-AES128-GCM-SHA256, ECDHE-RSA-AES256-GCM-SHA384, ECDHE-RSA-AES128-SHA256, ECDHE-RSA-AES256-SHA384, ECDHE-RSA-AES128-SHA, and ECDHE-RSA-AES256-SHA.'."\n" + ."\n" + .'- **tls\\_cipher\\_policy\\_1\\_2\\_strict\\_with\\_1\\_3**'."\n" + ."\n" + .' Supported TLS versions: TLS 1.2 and TLS 1.3.'."\n" + ."\n" + .' Supported cipher suites: 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, and ECDHE-RSA-AES256-SHA.', 'type' => 'string', 'required' => false, 'example' => 'tls_cipher_policy_1_2', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'https_80', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_SLBPORT', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Port` header to retrieve the listener port of the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'XForwardedFor_ClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Client-SrcPort` header to retrieve the source port of the client that accesses the CLB instance. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -19982,117 +13322,130 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', - ], + ['errorCode' => 'ParamDuplicateError', 'errorMessage' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', 'description' => ''], + ['errorCode' => 'IpVersionConflict', 'errorMessage' => 'The ip version of this LoadBalancer and the Acl is conflict.', 'description' => ''], + ['errorCode' => 'InvalidParameter.IdleTimeout', 'errorMessage' => 'The specified IdleTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RequestTimeout', 'errorMessage' => 'The specified RequestTimeout exceeds the limit.', 'description' => ''], + ['errorCode' => 'ListenerForwardNotSupport', 'errorMessage' => 'X-Forward-For is not supported to a ipv6 instance.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.HealthCheckDomain', 'errorMessage' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'description' => ''], + ['errorCode' => 'InvalidParameter.HealthCheckHttpVersion', 'errorMessage' => 'The param HealthCheckHttpVersion is invalid.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => ''], + ['errorCode' => 'TLSCipherPolicyVipRelationOverLimit', 'errorMessage' => 'The number of listeners associated with a policy has exceeded.', 'description' => ''], + ['errorCode' => 'TooManyCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => ''], + ['errorCode' => 'CertificateTypeMismatched', 'errorMessage' => 'The certificate type does not match.', 'description' => ''], + ['errorCode' => 'MissingParam.ServerCertificates', 'errorMessage' => 'Server certificates are required.', 'description' => ''], + ['errorCode' => 'CnCertificateNotSupport', 'errorMessage' => 'The cn certificate is not support.', 'description' => ''], + ['errorCode' => 'InvalidParam.CertificateBindingType', 'errorMessage' => 'The param CertificateBindingType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.ServerCertificates', 'errorMessage' => 'The size of param ServerCertificates is invalid.', 'description' => ''], + ['errorCode' => 'TooManyCertificates.ServerCertificates', 'errorMessage' => 'The number of certificates must not be greater than one.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.Certificate', 'errorMessage' => 'The specified resource is not found.', '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' => 'RemoveListenerWhiteListItem', - 'summary' => 'Removes IP addresses or CIDR blocks from the whitelist of a listener.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + 'title' => 'SetLoadBalancerHTTPSListenerAttribute', + 'description' => '- You have created a Classic Load Balancer (see [CreateLoadBalancer](~~27577~~)).'."\n" + ."\n" + .'- You have created an HTTPS listener (see [CreateLoadBalancerHTTPSListener](~~27593~~)).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddListenerWhiteListItem' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:00:58.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-14T08:34:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-12-08T15:30:49.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'The ID of the region where the Classic Load Balancer (CLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1o94dp5i6ea*******', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e*****', 'title' => ''], ], [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'docRequired' => true, - 'maximum' => '65535', - 'minimum' => '1', - 'example' => '80', - ], - ], - [ - 'name' => 'SourceItems', + 'name' => 'ModificationProtectionStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP addresses or CIDR blocks that you want to add to the whitelist.'."\n" - ."\n" - .'This parameter takes effect when the **AccessControlStatus** parameter of the listener is set to **open_white_list**.'."\n" - ."\n" - .'Separate multiple IP addresses or CIDR blocks with commas (,).'."\n" - ."\n" - .'You cannot enter **0.0.0.0** or **0.0.0.0/0**. To disable access control, you can call the [SetListenerAccessControlStatus](~~27599~~) operation to set the value of the **AccessControlStatus** parameter to **close**.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '192.168.XX.XX', - ], + 'schema' => ['description' => 'Specifies whether to enable the configuration read-only mode. Valid values:'."\n" + ."\n" + .'- **NonProtection**: disables the configuration read-only mode. After you disable the configuration read-only mode, the value of **ModificationProtectionReason** is cleared.'."\n" + ."\n" + .'- **ConsoleProtection**: enables the configuration read-only mode.'."\n" + ."\n" + .'> If you set this parameter to **ConsoleProtection**, you cannot use the CLB console to modify instance configurations. However, you can call API operations to modify instance configurations.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ConsoleProtection', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'ModificationProtectionReason', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required when listeners that use different protocols listen on the same port.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'The reason why the configuration read-only mode is enabled. The value must be 1 to 80 characters in length. It must start with a letter and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'> This parameter is valid only if the **ModificationProtectionStatus** parameter is set to **ConsoleProtection**.', 'type' => 'string', 'required' => false, 'example' => 'Configuration-change', 'title' => ''], ], ], 'responses' => [ @@ -20100,108 +13453,79 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '791D8B68-AE0F-4174-AF54-088C8B3C5D54', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'OperationUnsupported.SetLoadBalancerStatus', 'errorMessage' => 'The zone of the loadBalancer does not support this operation.', 'description' => ''], + ['errorCode' => 'InvalidParam.ModificationProtectionStatus', 'errorMessage' => 'The param ModificationProtectionStatus is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.ModificationProtectionReason', 'errorMessage' => 'The param ModificationProtectionReason is invalid.', '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' => 'AddListenerWhiteListItem', - 'summary' => 'Adds IP addresses to the whitelist of a listener.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"791D8B68-AE0F-4174-AF54-088C8B3C5D54\\"\\n}","type":"json"}]', + 'title' => 'SetLoadBalancerModificationProtection', + 'summary' => 'Enable or disable the configuration read-only mode for a Classic Load Balancer (CLB) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeListenerAccessControlAttribute' => [ - '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' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - ], + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region where the Classic Load Balancer (CLB) instance is created.'."\n" - ."\n" - .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~25609~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'lb-8vb86hxixo8lvsja8****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend port that is used by the CLB instance.'."\n" - ."\n" - .'Valid values: **1 to 65535**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '80', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e******', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'LoadBalancerName', 'in' => 'query', - 'schema' => [ - 'description' => 'The frontend protocol that is used by the CLB instance.'."\n" - ."\n" - .'> This parameter is required if the same port is specified for listeners of different protocols.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'https', - ], + 'schema' => ['description' => 'The new name of the CLB instance.'."\n" + ."\n" + .'The name must be 1 to 80 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1', 'title' => ''], ], ], 'responses' => [ @@ -20209,94 +13533,85 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'SourceItems' => [ - 'description' => 'The queried ACLs.'."\n", - 'type' => 'string', - 'example' => '192.168.XX.XX', - ], - 'AccessControlStatus' => [ - 'description' => 'Indicates whether the whitelist is enabled. Valid values:'."\n" - ."\n" - .'* **open_white_list**: the whitelist is enabled.'."\n" - .'* **close**: the whitelist is disabled.'."\n", - 'type' => 'string', - 'example' => 'open_white_list', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'TooManyListeners', - 'errorMessage' => 'More than 1 listener is found, please be more specified', - ], - ], - ], - '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' => 'DescribeListenerAccessControlAttribute', - 'summary' => 'Queries the whitelist configurations of a listener.', + 'errorCodes' => [], + 'title' => 'SetLoadBalancerName', + 'summary' => 'Changes the name of a Classic Load Balancer (CLB) instance.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'AddTags' => [ - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'SetLoadBalancerStatus' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'systemTags' => [ - 'operationType' => 'create', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region to which the SLB instance belongs.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the CLB instance is deployed.'."\n" + ."\n" + .'You can query region IDs from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~25609~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1kuzyb******', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1b6c719dfa08e******', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'LoadBalancerStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of tags that need to be added.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', - ], + 'schema' => ['description' => 'The state of the CLB instance. Valid values: **active** and **inactive**.'."\n" + ."\n" + .'- **active** (default)'."\n" + ."\n" + .' If a CLB instance is in the **active** state, listeners of the CLB instance can forward traffic based on forwarding rules.'."\n" + ."\n" + .' By default, newly created CLB instances are in the **active** state.'."\n" + ."\n" + .'- **inactive**'."\n" + ."\n" + .' If a CLB instance is in the **inactive** state, listeners of the CLB instance do not forward traffic.'."\n" + ."\n" + .'> If all listeners of a CLB instance are deleted, the CLB instance automatically switches to the **inactive** state.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'active', 'title' => ''], ], ], 'responses' => [ @@ -20304,165 +13619,314 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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.', + ['errorCode' => 'OperationUnsupported.SetLoadBalancerStatus', 'errorMessage' => 'The zone of the loadBalancer does not support this operation.', 'description' => ''], + ], + ], + 'title' => 'SetLoadBalancerStatus', + 'summary' => 'Modifies the state of a Classic Load Balancer (CLB) instance.', + '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\\": \\"365F4154-92F6-4AE4-92F8-7FF34******\\"\\n}","type":"json"}]', - 'title' => 'AddTags', - 'summary' => 'Adds tags to an SLB instance.', - 'description' => '# Limits'."\n" - ."\n" - .'Before you call this API, note the following limits:'."\n" - ."\n" - .'* You can add up to 10 tags to each SLB instance.'."\n" - .'* You can add up to five pairs of tags at a time.'."\n" - .'* All the tags and keys added to an SLB instance must be unique.'."\n" - .'* If you add a tag of which the key is the same as that of an existing tag, but the value is different, the new tag overwrites the existing one.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', ], - 'DescribeTags' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetLoadBalancerTCPListenerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88674', + 'abilityTreeNodes' => ['FEATUREslbOL61C3'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can query the region ID from the [Regions and zones](~~40654~~) list or by calling the [DescribeRegions](~~DescribeRegions~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The SLB instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1kuzybm******', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1ygod3yctvg1y****', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', - ], + 'schema' => ['description' => 'The frontend port used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'DistinctKey', + 'name' => 'Bandwidth', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the tags contain distinct keys.'."\n" - ."\n" - .'Valid values: true and false.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], + 'schema' => ['description' => 'The maximum bandwidth of the listener. Unit: Mbit/s. Valid values: **-1** and **1** to **5120**.'."\n" + ."\n" + .'- **-1**: For a pay-by-data-transfer Internet-facing CLB instance, you can set this parameter to **-1**, which specifies unlimited bandwidth.'."\n" + ."\n" + .'- **1** to **5120**: For a pay-by-bandwidth Internet-facing CLB instance, you can specify the maximum bandwidth of each listener. The sum of the maximum bandwidth values of all listeners cannot exceed the maximum bandwidth of the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '43', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Scheduler', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: 50. Maximum value: 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - 'default' => '50', - ], + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers that have higher weights receive more requests than backend servers that have lower weights.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: specifies consistent hashing that is based on source IP addresses. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **tch**: specifies consistent hashing that is based on four factors: source IP address, destination IP address, source port, and destination port. Requests that contain the same information based on the four factors are distributed to the same backend server.'."\n" + ."\n" + .'> * Only high-performance CLB instances support the **sch** and **tch** algorithms.'."\n" + .'>'."\n" + .'> * CLB does not support converting the **wrr** and **rr** algorithms to sch or tch. You cannot switch the hash algorithm from one to another.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'PersistenceTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Minimum value: 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The timeout period of session persistence. Valid values: **0** to **3600**. Unit: seconds.'."\n" + ."\n" + .'Default value: **0**. If the default value is used, the system disables session persistence.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '0', 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'EstablishedTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a connection. Unit: seconds. Valid values: **10** to **900**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '900', 'minimum' => '10', 'example' => '500', 'title' => ''], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of times that an unhealthy backend server must consecutively pass health checks before it is declared healthy. In this case, the health status is changed from **fail** to **success**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of times that a healthy backend server must consecutively fail health checks before it is declared unhealthy. In this case, the health status is changed from **success** to **fail**.'."\n" + ."\n" + .'Valid values: **2** to **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a health check.'."\n" + ."\n" + .'If a backend ECS instance does not return a health check response within the specified timeout period, the server fails the health check.'."\n" + ."\n" + .'Valid values: **1** to **300**. Unit: seconds.'."\n" + ."\n" + .'> If the value of the **HealthCheckConnectTimeout** parameter is smaller than that of the **HealthCheckInterval** parameter, the timeout period specified by the **HCTimeout** parameter is ignored and the period of time specified by the **HealthCheckInterval** parameter is used as the timeout period.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port that is used for health checks. Valid values: **1** to **65535**.'."\n" + ."\n" + .'If you do not set this parameter, the port specified by the **BackendServerPort** parameter is used.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '8080', 'title' => ''], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name that is used for health checks. You can set this parameter when the TCP listener requires HTTP health checks. If you do not set this parameter, TCP health checks are performed.'."\n" + ."\n" + .'- **$\\_ip**: the private IP addresses of the backend servers.'."\n" + ."\n" + .' If you do not set the HealthCheckHost parameter or set the parameter to $SERVER\\_IP, the CLB instance uses the private IP addresses of backend servers for health checks.'."\n" + ."\n" + .'- **domain**: The domain name is 1 to 80 characters in length, and can contain letters, digits, periods (.), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => '192.168.XX.XX', 'title' => ''], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI that is used for health checks. The URI must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), percent signs (%), question marks (?), number signs (#), and ampersands (&). The URI must start with a forward slash (/) but cannot be a single forward slash (/).'."\n" + ."\n" + .'You can set this parameter when the TCP listener requires HTTP health checks.'."\n" + ."\n" + .'If you do not set this parameter, TCP health checks are performed.', 'type' => 'string', 'required' => false, 'example' => '/test/index.html', 'title' => ''], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status code for a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.', 'type' => 'string', 'required' => false, 'example' => 'http_2xx', 'title' => ''], + ], + [ + 'name' => 'HealthCheckType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the health check. Valid values: **tcp** and **http**.', 'type' => 'string', 'required' => false, 'example' => 'tcp', 'title' => ''], + ], + [ + 'name' => 'SynProxy', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the SynProxy feature of CLB for protection. Valid values:'."\n" + ."\n" + .'- **enable**: yes'."\n" + ."\n" + .'- **disable**: no'."\n" + ."\n" + .'We recommend that you use the default value of this parameter.', 'type' => 'string', 'required' => false, 'example' => 'enable', 'title' => ''], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use a vServer group. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no'."\n" + ."\n" + .'> You cannot set both **VserverGroup** and **MasterSlaveServerGroup** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6j5****', 'title' => ''], + ], + [ + 'name' => 'MasterSlaveServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the primary/secondary server group.'."\n" + ."\n" + .'> You can set only one of the VServerGroupId and MasterSlaveServerGroupId parameters.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige****', 'title' => ''], + ], + [ + 'name' => 'MasterSlaveServerGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use a primary/secondary server group. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no'."\n" + ."\n" + .'You cannot set both **VserverGroup** and **MasterSlaveServerGroup** to **on**.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" + ."\n" + .'If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => '12333', 'title' => ''], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the network ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists apply to scenarios where you want to allow only specific IP addresses to access an application. Your service may be adversely affected if the allowlist is not properly configured. After a whitelist is configured, only requests from IP addresses that are added to the whitelist are forwarded by the listener.'."\n" + ."\n" + .' If you enable a whitelist but do not add an IP address to the ACL, the listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the ACL are rejected. Blacklists apply to scenarios where you want to block access from specified IP addresses to an application.'."\n" + ."\n" + .' If a blacklist is configured for a listener but no IP address is added to the blacklist, the listener forwards all requests.'."\n" + ."\n" + .'> If **AclStatus** is set to **on**, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).', 'type' => 'string', 'required' => false, 'example' => 'tcp_80', 'title' => ''], + ], + [ + 'name' => 'ConnectionDrain', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable connection draining. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'ConnectionDrainTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of connection draining. This parameter is required if **ConnectionDrain** is set to **on**. Unit: seconds.'."\n" + ."\n" + .'Valid values: **10** to **900**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'ProxyProtocolV2Enabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the Proxy protocol to pass client IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false**: no', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'HealthCheckSwitch', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the health check feature. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -20470,206 +13934,298 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page. Default value: 50. Maximum value: 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'PageNumber' => [ - 'description' => 'The number of the returned page. Minimum value: 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The number of instances returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TagSets' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagSet' => [ - 'description' => 'The tags that are queried.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'api', - ], - 'InstanceCount' => [ - 'description' => 'The number of instances to which the tag is added.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoPermission.Operator', - 'errorMessage' => 'The operator is not permission for this operate.', - ], + ['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' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => ''], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.PortRange', 'errorMessage' => 'The specified PortRange is invalid.', 'description' => ''], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => ''], + ['errorCode' => 'MasterSlaveServerConflict', 'errorMessage' => 'The servers are conflict for MasterSlaveGroup.', 'description' => ''], + ['errorCode' => 'MissingParam.VServerGroupId', 'errorMessage' => 'The parameter VServerGroupId is missing.', 'description' => ''], + ['errorCode' => 'OperationDenied.HealthCheckClosedForMasterSlaveMode', 'errorMessage' => 'The operation is denied because of HealthCheckClosedForMasterSlaveMode.', 'description' => ''], + ['errorCode' => 'InvalidParam.HealthCheck', 'errorMessage' => 'The param of HealthCheck is illegal.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => ''], + ['errorCode' => 'OperationDenied.OnlyIpv4SlbSupport', 'errorMessage' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'description' => ''], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', 'description' => ''], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], ], ], - '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' => 'DescribeTags', - 'summary' => 'Queries tags.', - 'description' => 'Take note of the following items:'."\n" + 'title' => 'SetLoadBalancerTCPListenerAttribute', + 'summary' => 'Modifies the configurations of a TCP listener of Classic Load Balancer (CLB).', + 'description' => '- A CLB instance is created. For more information, see [CreateLoadBalancer](~~2401685~~).'."\n" ."\n" - .'* The system queries tags based on the instance ID, tag key, and tag value specified by you.'."\n" - .'* If the logical relationship among the specified conditions is AND, only tags that match all the specified conditions are returned.'."\n" - .'* If the Tagkey parameter is specified and but Tagvalue parameter is not specified, all tags that contain the specified tag key are returned.'."\n" - .'* If you specify the Tagvalue parameter in a request, you must also specify the Tagkey parameter in the request.'."\n" - .'* If you specify both the Tagkey and Tagvalue parameters, only tags that contain the specified keys and values are returned.'."\n", + .'- A TCP listener is created. For more information, see [CreateLoadBalancerTCPListener](~~CreateLoadBalancerTCPListener~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListTagResources' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-11T09:01:00.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-03T13:09:53.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-27T09:50:35.000Z', 'description' => 'Request parameters changed'], + ], + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'SetLoadBalancerUDPListenerAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88677', + 'abilityTreeNodes' => ['FEATUREslbMJNWX5'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'You can find the region ID by calling the [DescribeRegions](~~36063~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* **instance**: a CLB instance'."\n" - .'* **certificate**: a certificate'."\n" - .'* **acl**: an access control list (ACL)'."\n" - .'* **listener**: a listener'."\n" - .'* **vservergroup**: a vServer group'."\n" - .'* **masterslaveservergroup**: a primary/secondary server group'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'instance', - ], + 'schema' => ['description' => 'The ID of the CLB instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp1rtfnodmywb43ecu4sf-c****', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The token that determines the start point of the query. Valid values:'."\n" - ."\n" - .'* If this is your first query or no subsequent query is to be sent, ignore this parameter.'."\n" - .'* If a subsequent query is to be sent, set the parameter to the value of NextToken that is returned from the last call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], + 'schema' => ['description' => 'The frontend port used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'Bandwidth', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The resource ID. You can specify up to 20 resources.'."\n" - ."\n" - .'> The value of **ResourceId** of a **listener** is **LoadBalancerId_Listener protocol_Port**, where LoadBalancerId is the ID of the CLB instance and port is the listener port. Example: lb-bp1qnnvj18yy6h\\*\\*\\*\\*\\_http\\_80.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The resource ID. You can specify up to 20 resources.'."\n" - ."\n" - .'> The value of **ResourceId** of a **listener** is **LoadBalancerId_Listener protocol_Port**, where LoadBalancerId is the ID of the CLB instance and port is the listener port. Example: lb-bp1qnnvj18yy6h\\*\\*\\*\\*\\_http\\_80.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1qnnvj18yy6h****', - ], - 'required' => false, - 'example' => 'lb-bp1qnnvj18yy6h******', - 'maxItems' => 51, - ], + 'schema' => ['description' => 'The peak bandwidth of the listener. Unit: Mbit/s. Valid values:'."\n" + ."\n" + .'- **-1**: For an Internet-facing pay-by-traffic CLB instance, set the value to -1. This specifies that the bandwidth of the listener is unlimited.'."\n" + ."\n" + .'- **1** to **5120**: For an Internet-facing pay-by-bandwidth CLB instance, you can specify the peak bandwidth for each listener. The sum of the peak bandwidth values of all listeners cannot exceed the peak bandwidth of the CLB instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '5120', 'minimum' => '-1', 'example' => '-1', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'Scheduler', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key of the resource. You can specify up to 20 tag keys.'."\n" - ."\n" - .'The tag key cannot be an empty string. The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => 'The tag value of the resource. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag value cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Backend servers with higher weights receive more requests than those with lower weights. If backend servers have the same weight, the backend server that has fewer connections receives more requests.'."\n" + ."\n" + .'- **rr**: Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'- **sch**: Source IP hashing. Requests from the same source IP address are distributed to the same backend server.'."\n" + ."\n" + .'- **tch**: Four-tuple hashing. Requests from the same four-tuple (source IP address, destination IP address, source port, and destination port) are distributed to the same backend server.'."\n" + ."\n" + .'- **qch**: QUIC ID hashing. Requests that have the same QUIC ID are distributed to the same backend server.'."\n" + ."\n" + .'> * Only performance-guaranteed instances support the **sch**, **tch**, and **qch** scheduling algorithms.'."\n" + .'>'."\n" + .'> * You cannot change the scheduling algorithm from **wrr** or **rr** to a consistent hashing algorithm. You also cannot change a consistent hashing algorithm to another one.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks that must occur before a backend server can be declared **healthy** (from **unhealthy**).'."\n" + ."\n" + .'Valid values: **1** to **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks that must occur before a backend server can be declared **unhealthy** (from **healthy**).'."\n" + ."\n" + .'Valid values: **1** to **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of a health check response. If a backend ECS instance does not send an expected response within the specified timeout period, the health check fails. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **300**.'."\n" + ."\n" + .'> If the value of the **HealthCheckConnectTimeout** parameter is smaller than that of the **HealthCheckInterval** parameter, the **HealthCheckConnectTimeout** parameter is invalid and the timeout period is specified by the **HealthCheckInterval** parameter.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks.'."\n" + ."\n" + .'Valid values: **1** to **65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between two consecutive health checks. Unit: seconds.'."\n" + ."\n" + .'Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'healthCheckReq', + 'in' => 'query', + 'schema' => ['description' => 'The request string for UDP health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'hello', 'title' => ''], + ], + [ + 'name' => 'healthCheckExp', + 'in' => 'query', + 'schema' => ['description' => 'The response string for UDP health checks. The string must be 1 to 64 characters in length and can contain only letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'ok', 'title' => ''], + ], + [ + 'name' => 'VServerGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use a vServer group. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no'."\n" + ."\n" + .'> You can set the value of this parameter to **on** for only one of the **VserverGroup** and **MasterSlaveServerGroup** parameters.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'VServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the vServer group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6****', 'title' => ''], + ], + [ + 'name' => 'MasterSlaveServerGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the primary/secondary server group.'."\n" + ."\n" + .'> You can specify only one of **VServerGroupId** and **MasterSlaveServerGroupId**.', 'type' => 'string', 'required' => false, 'example' => 'rsp-0bfuc****', 'title' => ''], + ], + [ + 'name' => 'MasterSlaveServerGroup', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use a primary/secondary server group. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no'."\n" + ."\n" + .'> You can set the value to **on** for only one of the **VserverGroup** and **MasterSlaveServerGroup** parameters.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'AclId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the network access control list (ACL) that is associated with the listener.'."\n" + ."\n" + .'> This parameter is required if the **AclStatus** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'AclType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the network ACL. Valid values:'."\n" + ."\n" + .'- **white**: a whitelist. Only requests from the IP addresses or CIDR blocks in the network ACL are forwarded. Whitelists are suitable for scenarios where you want to allow access from only specific IP addresses. If you enable a whitelist, but do not add an IP address to the network ACL, the CLB listener forwards all requests.'."\n" + ."\n" + .' If whitelist access is enabled but no IP addresses are added to the access control list, the load balancer listener forwards all requests.'."\n" + ."\n" + .'- **black**: a blacklist. All requests from the IP addresses or CIDR blocks in the network ACL are denied. Blacklists are suitable for scenarios where you want to deny access from specific IP addresses. If you enable a blacklist, but do not add an IP address to the network ACL, the CLB listener forwards all requests.'."\n" + ."\n" + .' If blacklist access control is enabled but no IP addresses are added to the access control list, the load balancer listener forwards all requests.'."\n" + ."\n" + .'> This parameter is valid only when the **AclStatus** parameter is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'white', 'title' => ''], + ], + [ + 'name' => 'AclStatus', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable access control. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The name of the listener.'."\n" + ."\n" + .'The name must be 1 to 256 characters in length, and can contain letters, digits, Chinese characters, and the following special characters: `- / . _`.', 'type' => 'string', 'required' => false, 'example' => 'udp_80', 'title' => ''], + ], + [ + 'name' => 'ProxyProtocolV2Enabled', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the Proxy Protocol to pass client IP addresses to backend servers. Valid values:'."\n" + ."\n" + .'- **true**: yes'."\n" + ."\n" + .'- **false** (default): no', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'HealthCheckSwitch', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n" + ."\n" + .'- **on** (default): Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'required' => false, 'example' => 'on', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -20677,156 +14233,104 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The token that determines the start point of the query. Valid values:'."\n" - ."\n" - .'* If **NextToken** is empty, it indicates that no subsequent query is to be sent.'."\n" - .'* If a value of **NextToken** is returned, the value is the token that is used for the subsequent query.'."\n", - 'type' => 'string', - 'example' => 'caeba0bbb2be03f84eb48b699f0a****', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DE65F6B7-7566-4802-9007-96F2494AC512', - ], - 'TagResources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TagResource' => [ - 'description' => 'The resources to which the tags are added.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'TagValue' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'FinanceJoshua', - ], - 'ResourceType' => [ - 'description' => 'The resource type.'."\n", - 'type' => 'string', - 'example' => 'instance', - ], - 'ResourceId' => [ - 'description' => 'The resource ID.'."\n", - 'type' => 'string', - 'example' => 'lb-bp16qjewdsunr4****', - ], - 'TagKey' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'FinanceDept', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], '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' => 'InvalidParam.NextToken', - 'errorMessage' => 'The specified NextToken is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.Scope', - 'errorMessage' => 'The specified Scope is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.ResourceType', - 'errorMessage' => 'The specified ResourceType is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagKeyOrValue', - 'errorMessage' => 'The specified TagKey or TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagOwnerUid', - 'errorMessage' => 'The specified TagOwnerUid is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagOwnerBid', - 'errorMessage' => 'The specified TagOwnerBid is invalid.', - ], - [ - 'errorCode' => 'MissingParam.Scope', - 'errorMessage' => 'The parameter Scope is required.', - ], - [ - 'errorCode' => 'MissingParam.TagOwnerUid', - 'errorMessage' => 'The parameter TagOwnerUid is required.', - ], - [ - 'errorCode' => 'MissingParam.TagOwnerBid', - 'errorMessage' => 'The parameter TagOwnerBid is required.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionId', - 'errorMessage' => 'The specified RegionId does not exist.', - ], - [ - 'errorCode' => 'MissingParam.TagOrResourceId', - 'errorMessage' => 'The parameter Tag or ResourceId is required at least one.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.ResourceId', - 'errorMessage' => 'The maximum size of ResourceId is exceeded.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => 'The maximum size of Tag is exceeded.', - ], + ['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' => ''], + ['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' => ''], + ['errorCode' => 'MissingParam.HealthCheckConnectPort', 'errorMessage' => 'The parameter HealthCheckConnectPort is required.', 'description' => ''], + ['errorCode' => 'InvalidParam.ListenerPort', 'errorMessage' => 'The specified ListenerPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.StartPort', 'errorMessage' => 'The specified StartPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamSize.PortRange', 'errorMessage' => 'The size of param PortRange is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.EndPort', 'errorMessage' => 'The specified EndPort is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.PortRange', 'errorMessage' => 'The specified PortRange is invalid.', 'description' => ''], + ['errorCode' => 'Duplicated.AclEntry', 'errorMessage' => '%s.', 'description' => '%s'], + ['errorCode' => 'InvalidParamLength.HealthCheckReq', 'errorMessage' => 'The length of the parameter HealthCheckReq is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParamLength.HealthCheckExp', 'errorMessage' => 'The length of the parameter HealthCheckExp is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.HealthCheckReq', 'errorMessage' => 'The param HealthCheckReq is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.HealthCheckExp', 'errorMessage' => 'The param HealthCheckExp is invalid.', 'description' => ''], + ['errorCode' => 'ResourceNotFound.VServerGroup', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'IllegalParam.FailoverThreshold', 'errorMessage' => 'The parameter FailoverThreshold is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.FailoverStrategy', 'errorMessage' => 'The parameter FailoverStrategy is illegal.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'VipNotSupportQuicVersion', 'errorMessage' => 'The listener does not support the parameter of QuicVersion.', 'description' => ''], + ['errorCode' => 'IllegalParam.HealthCheckType', 'errorMessage' => 'The param of HealthCheckType is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.HealthCheckMethod', 'errorMessage' => 'The param of HealthCheckMethod is illegal.', 'description' => ''], + ['errorCode' => 'IllegalParam.HealthCheck', 'errorMessage' => 'The param of HealthCheck is illegal.', 'description' => ''], + ['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' => ''], + ['errorCode' => 'OperationDenied.FullNatModeNotAllowed', 'errorMessage' => 'The operation is not allowed because of FullNatModeNotAllowed.', 'description' => ''], + ['errorCode' => 'SpecNotSupportParameter', 'errorMessage' => 'The instance with share spec does not support FullNatEnabled parameter.', 'description' => ''], + ['errorCode' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'errorMessage' => 'Virtual service group ID or master slave server group ID is missing. Please check the input parameters.', 'description' => ''], + ['errorCode' => 'AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclAttachedToListener', 'errorMessage' => 'The number of Acl bound listeners has reached the quota limit', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.TotalAclEntry', 'errorMessage' => 'The number of Acl entries has reached the quota limit.', 'description' => ''], + ['errorCode' => 'QuotaLimitExceeds.AclListenerOverLimit', 'errorMessage' => 'This acl has reached the limit of binding to listeners.', 'description' => ''], + ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'Request validation has been passed with DryRun flag set.'], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], ], ], - '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' => 'ListTagResources', - 'summary' => 'Queries the tags that are added to resources.', - 'description' => '* Set **ResourceId.N** or **Tag.N** that consists of **Tag.N.Key** and **Tag.N.Value** in the request to specify the object to be queried.'."\n" - .'* **Tag.N** is a resource tag that consists of a key-value pair. If you set only **Tag.N.Key**, all tag values that are associated with the specified tag key are returned. If you set only **Tag.N.Value**, an error message is returned.'."\n" - .'* If you set **Tag.N** and **ResourceId.N** to filter tags, **ResourceId.N** must match all specified key-value pairs.'."\n" - .'* If you specify multiple key-value pairs, resources that contain these key-value pairs are returned.'."\n", + 'title' => 'SetLoadBalancerUDPListenerAttribute', + 'summary' => 'Modify the configuration of the UDP listener.', + 'description' => '- You have a Classic Load Balancer. To create one, see [CreateLoadBalancer](~~27577~~).'."\n" + ."\n" + .'- You have a UDP listener. To create one, see [CreateLoadBalancerUDPListener](~~27595~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'TagResources' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-02-11T09:00:59.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2025-01-08T05:57:53.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-03T13:09:53.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-07-27T09:50:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-09-23T04:15:14.000Z', 'description' => 'Error codes changed'], + ], + '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","type":"json"}]', + ], + 'SetRule' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20837,94 +14341,175 @@ 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR', 'FEATUREslbPXBZ65'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the SLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'RuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* **instance**: a Server Load Balancer (SLB) instance'."\n" - .'* **certificate**: a certificate'."\n" - .'* **acl**: an access control list (ACL)'."\n" - .'* **listener**: a listener'."\n" - .'* **vservergroup**: a vServer group'."\n" - .'* **masterslaveservergroup**: a primary/secondary server group'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'instance', - ], + 'schema' => ['description' => 'The ID of the forwarding rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rule-3ejhkt****', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'VServerGroupId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" - ."\n" - .'> Set **ResourceId** of the **listener** to **LoadBalancerId_Listener protocol_Port**. Set LoadBalancerId to the ID of the SLB instance, and Port to the listener port. Example: lb-bp1snb10sbml4\\*\\*\\*\\*\\_http\\_80.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" - ."\n" - .'> Set **ResourceId** of the **listener** to **LoadBalancerId_Listener protocol_Port**. Set LoadBalancerId to the ID of the CLB instance, and Port to the listener port. Example: lb-bp1snb10sbml4\\*\\*\\*\\*\\_http\\_80.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp16qjewdsunr41m1****', - ], - 'required' => true, - 'example' => 'lb-bp16qjewdsunr41m1****', - 'maxItems' => 51, - ], + 'schema' => ['description' => 'The ID of the destination server group.', 'type' => 'string', 'required' => false, 'example' => 'rsp-cige6****', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'RuleName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceDept', - ], - 'Value' => [ - 'description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" - ."\n" - .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FinanceJoshua', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The name of the forwarding rule. The name must be 1 to 40 characters long and can contain letters, digits, Chinese characters, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'> Forwarding rules for the same listener must have unique names.', 'type' => 'string', 'required' => false, 'example' => 'doctest', 'title' => ''], + ], + [ + 'name' => 'ListenerSync', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to inherit the health check, sticky session, and scheduling algorithm configurations from the listener. Valid values:'."\n" + ."\n" + .'- **on**: Inherits the configurations from the listener.'."\n" + ."\n" + .'- **off**: Does not inherit the configurations. You can customize the health check and sticky session settings for the forwarding rule.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'Scheduler', + 'in' => 'query', + 'schema' => ['description' => 'The scheduling algorithm. Valid values:'."\n" + ."\n" + .'- **wrr**: Weighted Round Robin. Backend servers with higher weights receive more requests than backend servers with lower weights.'."\n" + ."\n" + .'- **rr**: Round Robin. Requests are distributed to backend servers in sequence.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **ListenerSync** is set to **off**.', 'type' => 'string', 'required' => false, 'example' => 'wrr', 'title' => ''], + ], + [ + 'name' => 'StickySession', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable sticky sessions. Valid values:'."\n" + ."\n" + .'- **on**: Enables sticky sessions.'."\n" + ."\n" + .'- **off**: Disables sticky sessions.'."\n" + ."\n" + .'This parameter is required and takes effect only when **ListenerSync** is set to **off**.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'StickySessionType', + 'in' => 'query', + 'schema' => ['description' => 'The method used to manage cookies. Valid values:'."\n" + ."\n" + .'- **insert**: Inserts a cookie.'."\n" + .' When a client makes the first request, Server Load Balancer inserts a cookie into the response. The cookie identifies the backend server that processes the request. Subsequent requests from the client that contain this cookie are forwarded to the same backend server.'."\n" + ."\n" + .'- **server**: Rewrites a cookie.'."\n" + .' When Server Load Balancer detects a user-defined cookie, it overwrites the original cookie. Subsequent requests from the client that contain the new cookie are forwarded to the same backend server.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **StickySession** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'insert', 'title' => ''], + ], + [ + 'name' => 'CookieTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The timeout period of the cookie, in seconds. Valid values: **1** to **86400**.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **StickySession** is set to **on** and **StickySessionType** is set to **insert**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '86400', 'minimum' => '1', 'example' => '123', 'title' => ''], + ], + [ + 'name' => 'Cookie', + 'in' => 'query', + 'schema' => ['description' => 'The cookie configured on the backend server.'."\n" + ."\n" + .'The cookie must be 1 to 200 characters long and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required and takes effect only when **StickySession** is set to **on** and **StickySessionType** is set to **server**.', 'type' => 'string', 'required' => false, 'example' => '23ffsa', 'title' => ''], + ], + [ + 'name' => 'HealthCheck', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable health checks. Valid values:'."\n" + ."\n" + .'- **on**: Enables health checks.'."\n" + ."\n" + .'- **off**: Disables health checks.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **ListenerSync** is set to **off**.', 'type' => 'string', 'required' => false, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'HealthCheckDomain', + 'in' => 'query', + 'schema' => ['description' => 'The domain name used for health checks. Valid values:'."\n" + ."\n" + .'- **$\\_ip**: The private IP of a backend server. If you set this value or leave the parameter empty, Server Load Balancer uses the private IP of each backend server as the domain for health checks.'."\n" + ."\n" + .'- **domain**: A domain name. It must be 1 to 80 characters long and can contain only letters, digits, periods (.), and hyphens (-).'."\n" + ."\n" + .'> This parameter takes effect only when **HealthCheck** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '$_ip', 'title' => ''], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'query', + 'schema' => ['description' => 'The URI used for health checks.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **HealthCheck** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => '/example', 'title' => ''], + ], + [ + 'name' => 'HealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive successful health checks required to declare a backend server **healthy**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'UnhealthyThreshold', + 'in' => 'query', + 'schema' => ['description' => 'The number of consecutive failed health checks required to declare a backend server **unhealthy**.'."\n" + ."\n" + .'Valid values: **2** to **10**.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '10', 'minimum' => '1', 'example' => '4', 'title' => ''], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'query', + 'schema' => ['description' => 'The time, in seconds, to wait for a health check response. If a backend server does not respond within this time, the health check fails. Valid values: **1** to **300**.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '300', 'minimum' => '1', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'query', + 'schema' => ['description' => 'The interval between health checks, in seconds. Valid values: **1** to **50**.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'HealthCheckConnectPort', + 'in' => 'query', + 'schema' => ['description' => 'The port used for health checks. Valid values: **1** to **65535**.'."\n" + ."\n" + .'> This parameter takes effect only when **HealthCheck** is set to **on**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65535', 'minimum' => '1', 'example' => '80', 'title' => ''], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'query', + 'schema' => ['description' => 'The HTTP status codes that indicate a successful health check. Separate multiple HTTP status codes with commas (,).'."\n" + ."\n" + .'Valid values: **http\\_2xx**, **http\\_3xx**, **http\\_4xx**, and **http\\_5xx**.'."\n" + ."\n" + .'> This parameter is required and takes effect only when **HealthCheck** is set to **on**.', 'type' => 'string', 'required' => false, 'example' => 'http_2xx', 'title' => ''], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ @@ -20932,235 +14517,77 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'TagTypeNotSame', - 'errorMessage' => 'The category of tags in the same request must be the same.', - ], - [ - 'errorCode' => 'ResourceNotExist', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'DeniedForNoneTagCreator', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'DeniedForScopeNotEqual', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'QuotaLimitExceeds', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.Scope', - 'errorMessage' => 'The specified Scope is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.ResourceType', - 'errorMessage' => 'The specified ResourceType is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagKeyOrValue', - 'errorMessage' => 'The specified TagKey or TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagOwnerUid', - 'errorMessage' => 'The specified TagOwnerUid is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagOwnerBid', - 'errorMessage' => 'The specified TagOwnerBid is invalid.', - ], - [ - 'errorCode' => 'MissingParam.TagKey', - 'errorMessage' => 'The parameter TagKey is required.', - ], - [ - 'errorCode' => 'MissingParam.Scope', - 'errorMessage' => 'The parameter Scope is required.', - ], - [ - 'errorCode' => 'MissingParam.TagOwnerUid', - 'errorMessage' => 'The parameter TagOwnerUid is required.', - ], - [ - 'errorCode' => 'MissingParam.TagOwnerBid', - 'errorMessage' => 'The parameter TagOwnerBid is required.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionId', - 'errorMessage' => 'The specified RegionId does not exist.', - ], - [ - 'errorCode' => 'DeniedForOperateCustomTag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'MissingParam.ResourceId', - 'errorMessage' => 'The parameter ResourceId is required.', - ], - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The param TagKey has duplicate value.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.ResourceId', - 'errorMessage' => 'The maximum size of ResourceId is exceeded.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.Tag', - 'errorMessage' => 'The maximum size of Tag is exceeded.', - ], - [ - 'errorCode' => 'MissingParam.RegionId', - 'errorMessage' => 'The parameter RegionId is required.', - ], + ['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' => 'Request validation has been passed with DryRun flag set.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - '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' => 'TagResources', - 'summary' => 'Creates tags and adds the tags to resources.', - 'description' => '> You can add at most 20 tags to each instance. Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number is reached, an error message is returned.'."\n", + 'title' => 'SetRule', + 'summary' => 'Edit the forwarding rules for the target server group.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UntagResources' => [ - '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' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C\\"\\n}","type":"json"}]', + ], + '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' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of resource. Valid values:'."\n" - ."\n" - .'* **instance**: CLB instance'."\n" - .'* **certificate**: certificate'."\n" - .'* **acl**: access control list (ACL)'."\n" - .'* **listener**: listener'."\n" - .'* **vservergroup**: vServer group'."\n" - .'* **masterslaveservergroup**: primary/secondary server group'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'instance', - ], - ], - [ - 'name' => 'All', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags from the specified resource. This parameter takes effect only if **TagKey.N** is empty.'."\n" - ."\n" - .'Valid values: **true** and **false**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance. You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'ServerCertificateId', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" - ."\n" - .'> Set **ResourceId** of the **listener** to **LoadBalancerId_Listener protocol_Port**. Set LoadBalancerId to the ID of the CLB instance, and Port to the listener port.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" - ."\n" - .'> Set **ResourceId** of the **listener** to **LoadBalancerId_Listener protocol_Port**. Set LoadBalancerId to the ID of the CLB instance, and Port to the listener port. Example: lb-bp1snb10sbml4\\*\\*\\*\\*\\_http\\_80.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp16qjewdsunr41m1****', - ], - 'required' => true, - 'example' => 'lb-bp16qjewdsunr41m1****', - 'maxItems' => 51, - ], + 'schema' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'required' => true, 'example' => ' 123157xxxxxxx_166f8204689_1714763408_7099*******', 'title' => ''], ], [ - 'name' => 'TagKey', + 'name' => 'ServerCertificateName', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" - ."\n" - .'> If you do not specify **TagKey**, all tags are removed from the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" - ."\n" - .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" - ."\n" - .'> If you do not specify **TagKey**, all tags are removed from the instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test_slb_yaochi_tag_key-4', - ], - 'required' => false, - 'example' => 'FinanceDept', - 'maxItems' => 21, - ], + 'schema' => ['description' => 'The name of the third-party server certificate that you want to upload. The name must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), underscores (\\_), and asterisks (\\*).', 'type' => 'string', 'required' => true, 'example' => 'mycert01', 'title' => ''], ], ], 'responses' => [ @@ -21168,156 +14595,228 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FE7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'TagTypeNotSame', - 'errorMessage' => 'The category of tags in the same request must be the same.', - ], - [ - 'errorCode' => 'ResourceNotExist', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'DeniedForNoneTagCreator', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'DeniedForScopeNotEqual', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'InvalidParam.ResourceType', - 'errorMessage' => 'The specified ResourceType is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagKeyOrValue', - 'errorMessage' => 'The specified TagKey or TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagOwnerUid', - 'errorMessage' => 'The specified TagOwnerUid is invalid.', - ], - [ - 'errorCode' => 'InvalidParam.TagOwnerBid', - 'errorMessage' => 'The specified TagOwnerBid is invalid.', - ], - [ - 'errorCode' => 'MissingParam.TagOwnerUid', - 'errorMessage' => 'The parameter TagOwnerUid is required.', - ], - [ - 'errorCode' => 'MissingParam.TagOwnerBid', - 'errorMessage' => 'The parameter TagOwnerBid is required.', - ], - [ - 'errorCode' => 'InvalidParameter.RegionId', - 'errorMessage' => 'The specified RegionId does not exist.', - ], - [ - 'errorCode' => 'MissingParam.ResourceId', - 'errorMessage' => 'The parameter ResourceId is required.', - ], - [ - 'errorCode' => 'DeniedForOperateCustomTag', - 'errorMessage' => '%s.', - ], - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The param TagKey has duplicate value.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.ResourceId', - 'errorMessage' => 'The maximum size of ResourceId is exceeded.', - ], - [ - 'errorCode' => 'SizeLimitExceeded.TagKey', - 'errorMessage' => 'The maximum size of TagKey is exceeded.', - ], + 'errorCodes' => [], + 'title' => 'SetServerCertificateName', + 'summary' => 'Sets a name for a server certificate.', + '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\\": \\"C46FF5A8-C5F0-4024-8262-B16B******\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>C46FF5A8-C5F0-4024-8262-B16B639225A0</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', - 'title' => 'UntagResources', - 'summary' => 'Removes tags from a resource.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FE7BA984\\"\\n}","type":"json"}]', ], - 'RemoveTags' => [ - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetTLSCipherPolicyAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Server Load Balancer (SLB) instance is created.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is deployed.'."\n" + ."\n" + .'You can call the [](t2293290.xdita#)operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'TLSCipherPolicyId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the TLS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tls-bp1lp2076qx4e******bridp', 'title' => ''], + ], + [ + 'name' => 'Name', 'in' => 'query', + 'schema' => ['description' => 'The name of the TLS policy. The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tls-policy*****-test', 'title' => ''], + ], + [ + 'name' => 'TLSVersions', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The SLB instance ID.', - 'type' => 'string', + 'description' => 'The version of the TLS protocol. Valid values: **TLSv1.0**, **TLSv1.1**, **TLSv1.2**, and **TLSv1.3**.', + 'type' => 'array', + 'items' => ['description' => 'The supported TLS protocol versions.', 'type' => 'string', 'required' => false, 'example' => 'TLSv1.0', 'title' => ''], 'required' => true, - 'docRequired' => true, - 'example' => 'lb-bp1l5j******', + 'example' => 'TLSv1.0', + 'maxItems' => 5, + 'title' => '', ], ], [ - 'name' => 'Tags', + 'name' => 'Ciphers', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'A list of tags to be removed.'."\n", - 'type' => 'string', + 'description' => 'The cipher suites supported by the TLS version.'."\n" + ."\n" + .'The specified cipher suites must be supported by at least one TLS protocol version that you specify. For example, if you set the TLSVersions parameter to TLSv1.3, you must specify cipher suites that are supported by this protocol version.'."\n" + ."\n" + .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- AES128-SHA AES256-SHA'."\n" + ."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'TLS 1.2 supports the following cipher suites:'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA'."\n" + ."\n" + .'- AES128-SHA AES256-SHA'."\n" + ."\n" + .'- DES-CBC3-SHA'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-GCM-SHA256'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-GCM-SHA384'."\n" + ."\n" + .'- ECDHE-ECDSA-AES128-SHA256'."\n" + ."\n" + .'- ECDHE-ECDSA-AES256-SHA384'."\n" + ."\n" + .'- ECDHE-RSA-AES128-GCM-SHA256'."\n" + ."\n" + .'- ECDHE-RSA-AES256-GCM-SHA384'."\n" + ."\n" + .'- ECDHE-RSA-AES128-SHA256'."\n" + ."\n" + .'- ECDHE-RSA-AES256-SHA384'."\n" + ."\n" + .'- AES128-GCM-SHA256'."\n" + ."\n" + .'- AES256-GCM-SHA384'."\n" + ."\n" + .'- AES128-SHA256 AES256-SHA256'."\n" + ."\n" + .'TLS 1.3 supports the following cipher suites:'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_GCM\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_256\\_GCM\\_SHA384'."\n" + ."\n" + .'- TLS\\_CHACHA20\\_POLY1305\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_CCM\\_SHA256'."\n" + ."\n" + .'- TLS\\_AES\\_128\\_CCM\\_8\\_SHA256', + 'type' => 'array', + 'items' => ['description' => 'The supported cipher suites, which are determined by the TLS protocol version. You can specify at most 32 cipher suites.'."\n" + ."\n" + .'TLS 1.0 and TLS 1.1 support the following cipher suites:'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + ."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + ."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + ."\n" + .'- **AES128-SHA**'."\n" + ."\n" + .'- **AES256-SHA**'."\n" + ."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'TLS 1.2 supports the following cipher suites:'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + ."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + ."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + ."\n" + .'- **AES128-SHA**'."\n" + ."\n" + .'- **AES256-SHA**'."\n" + ."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" + ."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" + ."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + ."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + ."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" + ."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" + ."\n" + .'- **AES128-GCM-SHA256**'."\n" + ."\n" + .'- **AES256-GCM-SHA384**'."\n" + ."\n" + .'- **AES128-SHA256**'."\n" + ."\n" + .'- **AES256-SHA256**'."\n" + ."\n" + .'TLS 1.3 supports the following cipher suites:'."\n" + ."\n" + .'- **TLS\\_AES\\_128\\_GCM\\_SHA256**'."\n" + ."\n" + .'- **TLS\\_AES\\_256\\_GCM\\_SHA384**'."\n" + ."\n" + .'- **TLS\\_CHACHA20\\_POLY1305\\_SHA256**'."\n" + ."\n" + .'- **TLS\\_AES\\_128\\_CCM\\_SHA256**'."\n" + ."\n" + .'- **TLS\\_AES\\_128\\_CCM\\_8\\_SHA256**', 'type' => 'string', 'required' => false, 'example' => 'ECDHE-ECDSA-AES128-SHA', 'title' => ''], 'required' => true, - 'docRequired' => true, - 'example' => '[{"TagKey":"Key1","TagValue":"Value1"},{"TagKey":"Key2","TagValue":"Value2"}]', + 'example' => 'DES-CBC3-SHA', + 'maxItems' => 30, + 'title' => '', ], ], ], @@ -21326,96 +14825,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', - ], + 'TaskId' => ['description' => 'The ID of the asynchronous task.', 'type' => 'string', 'example' => '72dcd26b-f12d-4c27-b3af****-18f6aed5', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876*******', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.TagKey', - 'errorMessage' => 'The specified tag key is invalid.', - ], + ['errorCode' => 'MissingParam.Name', 'errorMessage' => 'The param Name is missing.', 'description' => ''], + ['errorCode' => 'MissingParam.TlsVersions', 'errorMessage' => 'The param TlsVersions is missing.', 'description' => ''], + ['errorCode' => 'MissingParam.Ciphers', 'errorMessage' => 'The param Ciphers is missing.', 'description' => ''], + ['errorCode' => 'ParamDuplicateError.TlsVersions', 'errorMessage' => 'The param TlsVersions is duplicate in request.', 'description' => ''], + ['errorCode' => 'ParamDuplicateError.Ciphers', 'errorMessage' => 'The param Ciphers is duplicate in request.', 'description' => ''], + ['errorCode' => 'TLSPolicyNoSupportVersion', 'errorMessage' => 'The specified TLS version is not supported.', 'description' => ''], + ['errorCode' => 'TLSPolicyNoSupportCipher', 'errorMessage' => 'The specified TLS cipher is not supported.', 'description' => ''], + ['errorCode' => 'MissingParam.TLSCipherPolicyId', 'errorMessage' => 'The param TLSCipherPolicyId is missing.', 'description' => ''], + ['errorCode' => 'TLSPolicyConfiguring', 'errorMessage' => 'The specified TLS cipher policy is configuring.', 'description' => ''], + ['errorCode' => 'TLSPolicyBeingUsed', 'errorMessage' => 'The specified TLS cipher policy is being used.', 'description' => ''], + ['errorCode' => 'InvalidTLSPolicyId.NotExist', 'errorMessage' => 'The specified TLS cipher policy does not exist.', 'description' => ''], + ['errorCode' => 'TLSPolicyUnchanged', 'errorMessage' => 'The specified TLS cipher policy is unchanged.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TaskId\\": \\"72dcd26b-f12d-4c27-b3af****-18f6aed5\\",\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876*******\\"\\n}","type":"json"}]', + 'title' => 'SetTLSCipherPolicyAttribute', + 'summary' => 'Configures a Transport Layer Security (TLS) policy.', + 'description' => 'This operation is unavailable by default. To use it, contact your account manager or submit a ticket. We recommend you use Application Load Balancer (ALB) or Network Load Balancer (NLB) and configure TLS security policies.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2022-01-18T02:26:57.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetTLSCipherPolicyAttribute'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetTLSCipherPolicyAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#InstanceId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\"\\n}","type":"json"}]', - 'title' => 'RemoveTags', - 'summary' => 'Removes tags from a Server Load Balancer (SLB) instance.', ], - 'DeleteAccessLogsDownloadAttribute' => [ - 'summary' => 'Deletes the access log of a Classic Load Balancer (CLB) instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetVServerGroupAttribute' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Server Load Balancer (SLB) instance, which cannot be modified.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'VServerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', - ], + 'schema' => ['description' => 'The vServer group ID, which cannot be modified.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rsp-cige6****', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'VServerGroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-uf68ps3rekbljmdb0****', - ], + 'schema' => ['description' => 'The vServer group name. You can specify a name.', 'type' => 'string', 'required' => false, 'example' => 'Group1', 'title' => ''], ], [ - 'name' => 'LogsDownloadAttributes', + 'name' => 'BackendServers', 'in' => 'query', - 'schema' => [ - 'description' => 'The access log forwarding rule. Parameters:'."\n" - ."\n" - .'* **LogProject**: the name of the project of Log Service.'."\n" - .'* **LogStore**: the name of the Logstore of Log Service.'."\n" - .'* **LoadBalancerId**: the ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]', - ], + 'schema' => ['description' => 'The backend servers. This operation only can be used to modify the weights of backend servers and names of vServer groups. Configure the following parameters:'."\n" + ."\n" + .'- **ServerId**: Required. The ID of the backend server. Specify the value in a string. You can specify the ID of an Elastic Compute Service (ECS) instance, an elastic network interface (ENI), or an elastic container instance. If you set **ServerId** to the ID of an ENI or an elastic container instance, you must configure the **Type** parameter.'."\n" + ."\n" + .'- **Weight**: the weight of the backend server. Valid values: **0** to **100**. Default value: **100**. If you set the weight of a backend server to 0, no requests are forwarded to the backend server.'."\n" + ."\n" + .'- **Description**: Optional. The description of the backend server. Specify the value in a string. The description must be 1 to 80 characters in length, and can contain letters, digits, hyphens (-), forward slashes (/), periods (.), and underscores (\\_).'."\n" + ."\n" + .'- **Type**: the type of the backend server. Valid values:'."\n" + ."\n" + .' - **ecs** (default): ECS instance'."\n" + ."\n" + .' - **eni**: ENI'."\n" + ."\n" + .' - **eci**: elastic container instance'."\n" + ."\n" + .'> You can specify ENIs and elastic container instances as backend servers only for high-performance CLB instances.'."\n" + ."\n" + .'- **ServerIp**: the IP address of an ENI or an elastic container instance.'."\n" + ."\n" + .'- **Port**: the backend port.'."\n" + ."\n" + .'Examples:'."\n" + ."\n" + .'- Add ECS instances:'."\n" + ."\n" + .' `[{ "ServerId": "i-xxxxxxxxx", "Weight": "100", "Type": "ecs", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add ENIs:'."\n" + ."\n" + .' `[{ "ServerId": "eni-xxxxxxxxx", "Weight": "100", "Type": "eni", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-112" }]`'."\n" + ."\n" + .'- Add ENIs with multiple IP addresses:'."\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" + .'- Add elastic container instances:'."\n" + ."\n" + .' `[{ "ServerId": "eci-xxxxxxxxx", "Weight": "100", "Type": "eci", "ServerIp": "192.168.**.**", "Port":"80","Description":"test-114" }]`'."\n" + ."\n" + .'> You can add only running backend servers to SLB instances. You can specify at most 20 backend servers in each call.', '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" }]', 'title' => ''], ], ], 'responses' => [ @@ -21423,99 +14957,127 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****', + 'VServerGroupId' => ['description' => 'The server group ID.', 'type' => 'string', 'example' => 'rsp-cige6****', 'title' => ''], + 'VServerGroupName' => ['description' => 'The name of the vServer group.', 'type' => 'string', 'example' => 'Group1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9CE18C', 'title' => ''], + 'BackendServers' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BackendServer' => [ + 'description' => 'The backend servers.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of backend server. Valid values:'."\n" + ."\n" + .'- **ecs** (default): ECS instance'."\n" + ."\n" + .'- **eni**: ENI'."\n" + ."\n" + .'- **eci**: elastic container instance', 'type' => 'string', 'example' => 'ecs', 'title' => ''], + 'Weight' => ['description' => 'The weight of the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Description' => ['description' => 'The description of the server group.', 'type' => 'string', 'example' => 'The description of the server group.', 'title' => ''], + 'Port' => ['description' => 'The port that is used by the backend server.', 'type' => 'integer', 'format' => 'int32', 'example' => '70', 'title' => ''], + 'ServerId' => ['description' => 'The ID of the backend server.', 'type' => 'string', 'example' => 'i-bp1ek6yd7jvkx****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The AccessLogDownloadAttribute not exists.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The VServerGroupName or BackendServers is required at lease one.', 'description' => ''], + ['errorCode' => 'InvalidParameter.ZoneNotSupport', 'errorMessage' => 'The zone does not support the parameter %s.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', + 'title' => 'SetVServerGroupAttribute', + 'summary' => 'Modifies the configurations of a vServer group.', + 'description' => 'This operation can be used to modify the weights of backend servers and names of vServer groups.'."\n" + ."\n" + .'- If you want to modify backend servers in a specified vServer group, call the [ModifyVServerGroupBackendServers](~~35220~~) operation.'."\n" + ."\n" + .'- If you want to add backend servers to a specified vServer group, call the [AddVServerGroupBackendServers](~~35218~~) operation.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + '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}'], + ], + ], + ], ], - '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' => 'DeleteAccessLogsDownloadAttribute', ], - 'SetAccessLogsDownloadAttribute' => [ - 'summary' => 'Adds an access log forwarding rule to a Classic Load Balancer (CLB) instance.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StartLoadBalancerListener' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region where the CLB instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Tags', + 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n" - ."\n" - .'You can specify up to 10 tags in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp13jaf5qli5*********', 'title' => ''], ], [ - 'name' => 'LoadBalancerId', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1b6c719dfa08ex*****', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'LogsDownloadAttributes', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The access log forwarding rule. Parameters:'."\n" - ."\n" - .'* **LogProject**: the name of the project of Simple Log Service.'."\n" - .'* **LogStore**: the name of the Logstore of Simple Log Service.'."\n" - .'* **LoadBalancerId**: the ID of the CLB instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[{"logProject":"my-project", "LogStore":"my-log-store", "LoadBalancerId":"lb-uf68ps3rekbljmdb0****"}]', - ], + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required if the same port is used by listeners of different protocols.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], ], 'responses' => [ @@ -21523,129 +15085,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9DEC9C28-AB05-4DDF-9A78-6B08EC9C****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Operation.NotAllowed', - 'errorMessage' => 'The AccessLogDownloadAttribute already exists.', - ], - [ - 'errorCode' => 'InvalidProject.NotExist', - 'errorMessage' => 'The specified project does not exist.', - ], - [ - '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', - ], + ['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' => ''], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified listener is not allowed to operate.', 'description' => ''], + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy.', 'description' => 'System Busy'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => 'StartLoadBalancerListener', + 'summary' => 'Enables a listener.', + 'description' => 'When you call this operation, take note of the following items:'."\n" + ."\n" + .'- You can call the operation only when the listener is in the Stopped state.'."\n" + ."\n" + .'- If the operation is successful, the listener switches to the Starting state.'."\n" + ."\n" + .'- You cannot perform this operation when the Classic Load Balancer (CLB) instance to which the listener belongs is in the Locked state.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], ], - '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' => 'SetAccessLogsDownloadAttribute', - ], - 'DescribeAccessLogsDownloadAttribute' => [ - 'summary' => 'Queries the access log of a Classic Load Balancer (CLB) instance.', - 'methods' => [ - 'post', - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '90', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartLoadBalancerListener'], + ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'schemes' => [ - 'http', - 'https', + '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', - 'systemTags' => [ - 'operationType' => 'get', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the CLB instance.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that are added to the CLB instance. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n" - ."\n" - .'You can specify up to 10 tags in each call.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'To query the region ID, refer to the list of [regions and zones](~~40654~~) or call [DescribeRegions](~~25609~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'LoadBalancerId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1b6c719dfa08ex*****', - ], - ], - [ - 'name' => 'LogType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of access log. Set the value to **layer7**, which specifies Layer 7 access logs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'layer7', - 'default' => 'layer7', - ], + 'schema' => ['description' => 'The CLB instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lb-bp13jaf5qli5xmgl1miup', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The frontend port that is used by the CLB instance.'."\n" + ."\n" + .'Valid values: **1 to 65535**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '65535', 'minimum' => '0', 'example' => '80', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Maximum value: **50**. Default value: **10**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '50', - 'minimum' => '1', - 'example' => '10', - 'default' => '20', - ], + 'schema' => ['description' => 'The frontend protocol that is used by the CLB instance.'."\n" + ."\n" + .'> This parameter is required if the same port is used by listeners of different protocols.', 'type' => 'string', 'required' => false, 'example' => 'https', 'title' => ''], ], ], 'responses' => [ @@ -21653,91 +15184,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'LogsDownloadAttributes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LogsDownloadAttribute' => [ - 'description' => 'The configuration of the access log.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LogProject' => [ - 'description' => 'The name of the Log Service project.'."\n", - 'type' => 'string', - 'example' => 'test-log-project', - ], - 'LogStore' => [ - 'description' => 'The name of the Logstore.'."\n", - 'type' => 'string', - 'example' => 'test-log-store', - ], - 'LoadBalancerId' => [ - 'description' => 'The CLB instance ID.'."\n", - 'type' => 'string', - 'example' => 'lb-bp1b6c719dfa08ex*****', - ], - 'Region' => [ - 'description' => 'The region ID of the CLB instance.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'LogType' => [ - 'description' => 'The type of access log. Only **layer7** is returned, which indicates Layer 7 access logs.'."\n", - 'type' => 'string', - 'example' => 'layer7', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - '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' => 'DescribeAccessLogsDownloadAttribute', - ], - 'EnableHighDefinationMonitor' => [ - 'summary' => 'Enables fine-grained monitoring for the current region.', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'TooManyListeners', 'errorMessage' => 'More than 1 listener is found, please be more specified.', 'description' => ''], + ['errorCode' => 'Operation.NotAllowed', 'errorMessage' => 'The specified listener is not allowed to operate.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'StopLoadBalancerListener', + 'summary' => 'Stops a listener.', + 'description' => 'Before you make this API call, note the following:'."\n" + ."\n" + .'- After the API call is successfully made, the listener enters the stopped state.'."\n" + ."\n" + .'- If the Classic Load Balancer (CLB) instance to which the listener to be stopped belongs is in the locked state, this API call cannot be made.'."\n" + ."\n" + .'> If you stop the listener, your services will be disrupted. Exercise caution when you perform this action.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + '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' => 'Creates tags and adds the tags to resources.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21746,57 +15248,80 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '88622', - 'abilityTreeNodes' => [ - 'FEATUREslbSG7ZOW', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ - 'name' => 'Tags', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The tags of the logs. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', - ], + 'schema' => ['description' => 'The ID of the region where the Server Load Balancer (SLB) instance is created.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'- **instance**: a Server Load Balancer (SLB) instance'."\n" + ."\n" + .'- **certificate**: a certificate'."\n" + ."\n" + .'- **acl**: an access control list (ACL)'."\n" + ."\n" + .'- **listener**: a listener'."\n" + ."\n" + .'- **vservergroup**: a vServer group'."\n" + ."\n" + .'- **masterslaveservergroup**: a primary/secondary server group', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'instance', 'title' => ''], ], [ - 'name' => 'LogProject', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the project of Log Service. The name must be 4 to 63 characters in length, and can contain digits and lowercase letters. It must start and end with a digit or a letter.'."\n", - 'type' => 'string', + 'description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" + ."\n" + .'> Set **ResourceId** of the **listener** to **LoadBalancerId\\_Listener protocol\\_Port**. Set LoadBalancerId to the ID of the SLB instance, and Port to the listener port. Example: lb-bp1snb10sbml4\\*\\*\\*\\*\\_http\\_80.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" + ."\n" + .'> Set **ResourceId** of the **listener** to **LoadBalancerId\\_Listener protocol\\_Port**. Set LoadBalancerId to the ID of the CLB instance, and Port to the listener port. Example: lb-bp1snb10sbml4\\*\\*\\*\\*\\_http\\_80.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp16qjewdsunr41m1****', 'title' => ''], 'required' => true, - 'docRequired' => true, - 'example' => 'my-project', + 'example' => 'lb-bp16qjewdsunr41m1****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'LogStore', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The name of the Logstore of Log Service. The name must be 2 to 64 characters in length and can contain digits, lowercase letters, hyphens (-) and underscores (\\_). It must start and end with a digit or a letter.'."\n", - 'type' => 'string', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key must be 1 to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], + 'Value' => ['description' => 'The tag value. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => true, - 'docRequired' => true, - 'example' => 'my-log-store', + 'maxItems' => 21, + 'title' => '', + 'example' => '', ], ], ], @@ -21805,55 +15330,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the call is successful. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false**: no'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', - 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', - ], - [ - 'errorCode' => 'UnsupportedFeature.User', - 'errorMessage' => 'The feature of HighDefinationMonitor is not supported.', - ], - [ - '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', - ], + ['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' => ''], + ['errorCode' => 'QuotaLimitExceeds', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'InvalidParam.Scope', 'errorMessage' => 'The specified Scope is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.ResourceType', 'errorMessage' => 'The specified ResourceType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKeyOrValue', 'errorMessage' => 'The specified TagKey or TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagOwnerUid', 'errorMessage' => 'The specified TagOwnerUid is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagOwnerBid', 'errorMessage' => 'The specified TagOwnerBid is invalid.', 'description' => ''], + ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The parameter TagKey is required.', 'description' => ''], + ['errorCode' => 'MissingParam.Scope', 'errorMessage' => 'The parameter Scope is required.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOwnerUid', 'errorMessage' => 'The parameter TagOwnerUid is required.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOwnerBid', 'errorMessage' => 'The parameter TagOwnerBid is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => ''], + ['errorCode' => 'DeniedForOperateCustomTag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'MissingParam.ResourceId', 'errorMessage' => 'The parameter ResourceId is required.', 'description' => ''], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The param TagKey has duplicate value.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum size of ResourceId is exceeded.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.Tag', 'errorMessage' => 'The maximum size of Tag is exceeded.', 'description' => ''], + ['errorCode' => 'MissingParam.RegionId', 'errorMessage' => 'The parameter RegionId is required.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'TagResources', + 'description' => '> You can add at most 20 tags to each instance. Before you add tags to a resource, Alibaba Cloud checks the number of existing tags of the resource. If the maximum number is reached, an error message is returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-09-08T09:12:14.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + '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 \\"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' => 'EnableHighDefinationMonitor', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","type":"json"}]', ], - 'ModifyHighDefinationMonitor' => [ - 'summary' => 'Modifies the configuration of fine-grained monitoring in a specified region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UntagResources' => [ + 'summary' => 'Removes tags from a resource.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21863,46 +15413,80 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '121167', - 'abilityTreeNodes' => [ - 'FEATUREslbSG7ZOW', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREslbL5KCST'], ], 'parameters' => [ [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'LogProject', + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of resource. Valid values:'."\n" + ."\n" + .'- **instance**: CLB instance'."\n" + ."\n" + .'- **certificate**: certificate'."\n" + ."\n" + .'- **acl**: access control list (ACL)'."\n" + ."\n" + .'- **listener**: listener'."\n" + ."\n" + .'- **vservergroup**: vServer group'."\n" + ."\n" + .'- **masterslaveservergroup**: primary/secondary server group', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'instance', 'title' => ''], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove all tags from the specified resource. This parameter takes effect only if **TagKey.N** is empty.'."\n" + ."\n" + .'Valid values: **true** and **false**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The new name of the project of Log Service. The name must be 4 to 63 characters in length, and can contain digits and lowercase letters. It must start and end with a digit or a letter.'."\n", - 'type' => 'string', + 'description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" + ."\n" + .'> Set **ResourceId** of the **listener** to **LoadBalancerId\\_Listener protocol\\_Port**. Set LoadBalancerId to the ID of the CLB instance, and Port to the listener port.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource. You can specify at most 20 resources.'."\n" + ."\n" + .'> Set **ResourceId** of the **listener** to **LoadBalancerId\\_Listener protocol\\_Port**. Set LoadBalancerId to the ID of the CLB instance, and Port to the listener port. Example: lb-bp1snb10sbml4\\*\\*\\*\\*\\_http\\_80.', 'type' => 'string', 'required' => false, 'example' => 'lb-bp16qjewdsunr41m1****', 'title' => ''], 'required' => true, - 'docRequired' => true, - 'example' => 'my-project', + 'example' => 'lb-bp16qjewdsunr41m1****', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'LogStore', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The new name of the Logstore of Log Service. The name must be 2 to 64 characters in length and can contain digits, lowercase letters, hyphens (-) and underscores (\\_). It must start and end with a digit or a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my-log-store', + 'description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'> If you do not specify **TagKey**, all tags are removed from the instance.', + 'type' => 'array', + 'items' => ['description' => 'The tag key. You can specify at most 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'> If you do not specify **TagKey**, all tags are removed from the instance.', 'type' => 'string', 'required' => false, 'example' => 'FinanceDept', 'title' => ''], + 'required' => false, + 'example' => 'FinanceDept', + 'maxItems' => 21, + 'title' => '', ], ], ], @@ -21911,95 +15495,131 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Success' => [ - 'description' => 'Indicates whether the call is successful. Valid values:'."\n" - ."\n" - .'* **true**: yes'."\n" - .'* **false**: no'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '8B9DB03B-ED39-5DB8-9C9F-1ED5F548D61E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B******', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'OperationNotAllowed.HighDefinitionMonitorEnabled', - 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is already enabled in this region.', - ], - [ - 'errorCode' => 'UnsupportedFeature.User', - 'errorMessage' => 'The feature of HighDefinationMonitor is not supported.', - ], - [ - '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', - ], - [ - 'errorCode' => 'OperationDenied.HdMonitorListenerExist', - 'errorMessage' => 'The operation is denied because there are still listeners enabling HighDefinitionMnitor.', - ], - [ - 'errorCode' => 'OperationNotAllowed.HighDefinitionMonitorNotEnabled', - 'errorMessage' => 'The operation is not allowed because HighDefinitionMonitor is not enabled in this region.', - ], + ['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' => ''], + ['errorCode' => 'InvalidParam.ResourceType', 'errorMessage' => 'The specified ResourceType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagKeyOrValue', 'errorMessage' => 'The specified TagKey or TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagOwnerUid', 'errorMessage' => 'The specified TagOwnerUid is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParam.TagOwnerBid', 'errorMessage' => 'The specified TagOwnerBid is invalid.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOwnerUid', 'errorMessage' => 'The parameter TagOwnerUid is required.', 'description' => ''], + ['errorCode' => 'MissingParam.TagOwnerBid', 'errorMessage' => 'The parameter TagOwnerBid is required.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified RegionId does not exist.', 'description' => ''], + ['errorCode' => 'MissingParam.ResourceId', 'errorMessage' => 'The parameter ResourceId is required.', 'description' => ''], + ['errorCode' => 'DeniedForOperateCustomTag', 'errorMessage' => '%s.', 'description' => ''], + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The param TagKey has duplicate value.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.ResourceId', 'errorMessage' => 'The maximum size of ResourceId is exceeded.', 'description' => ''], + ['errorCode' => 'SizeLimitExceeded.TagKey', 'errorMessage' => 'The maximum size of TagKey is exceeded.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UntagResources', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], ], + 'product' => ['code' => 'slb', 'title' => '负载均衡'], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + '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 \\"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' => 'ModifyHighDefinationMonitor', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B******\\"\\n}","type":"json"}]', ], - 'DescribeHighDefinationMonitor' => [ - 'summary' => 'Queries the configurations of fine-grained monitoring in a region.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UploadCACertificate' => [ + 'summary' => 'Uploads a CA certificate.', + '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' => 'Tags', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The tags of the logs. The tags must be key-value pairs that are contained in a JSON dictionary.'."\n", - 'type' => 'string', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1** to **20**. The tag key cannot be an empty string. The tag key can be up to 128 characters in length, and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The tag value. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value must be 1 to 128 characters in length, and cannot contain `http://` or `https://`. It cannot start with `acs:` or `aliyun`.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], 'required' => false, - 'example' => '[{"tagKey":"Key1","tagValue":"Value1"}]', + 'example' => 'UploadCACertificate', + 'maxItems' => 20, + 'title' => '', ], ], [ 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where you want to query the configuration of fine-grained monitoring.'."\n" - ."\n" - .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region of the CA certificates.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~2401682~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'CACertificate', + 'in' => 'query', + 'schema' => ['description' => 'The information about the CA certificate.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'CACertificateName', + 'in' => 'query', + 'schema' => ['description' => 'The CA certificate name.', 'type' => 'string', 'required' => false, 'example' => 'mycacert01', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-atst******', 'title' => ''], ], ], 'responses' => [ @@ -22007,50 +15627,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'LogProject' => [ - 'description' => 'The name of the Log Service project.'."\n", - 'type' => 'string', - 'example' => 'my-project', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2F398FF5-B349-5C01-8638-8E9A0BF1DBE6', - ], - 'LogStore' => [ - 'description' => 'The name of the Logstore.'."\n", - 'type' => 'string', - 'example' => 'my-log-store', - ], - 'Success' => [ - 'description' => 'Indicates whether the call is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'CreateTimeStamp' => ['description' => 'The timestamp when the CA certificate was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF******', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the CA certificate expires.', 'type' => 'string', 'example' => '2024-11-21T06:04:25Z', 'title' => ''], + 'Fingerprint' => ['description' => 'The fingerprint of the server certificate.', 'type' => 'string', 'example' => '02:DF:AB:ED', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the CA certificate was created.', 'type' => 'string', 'example' => '2017-08-31T02:49:05Z', 'title' => ''], + 'CommonName' => ['description' => 'The domain name on the CA certificate.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'rg-atstuj3******', 'title' => ''], + 'CACertificateName' => ['description' => 'The CA certificate name.', 'type' => 'string', 'example' => 'mycacert01', 'title' => ''], + 'ExpireTimeStamp' => ['description' => 'The timestamp when the server certificate expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1732169065000', 'title' => ''], + 'CACertificateId' => ['description' => 'The ID of the CA certificate.', 'type' => 'string', 'example' => '139a0******', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + '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' => ''], + ], ], - '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' => 'DescribeHighDefinationMonitor', - ], - 'MoveResourceGroup' => [ - 'summary' => 'Moves a resource to another resource group.', - 'methods' => [ - 'post', - 'get', + 'title' => 'UploadCACertificate', + 'description' => 'You can upload only one CA certificate at a time. After a CA certificate is uploaded, the certificate ID, name, and fingerprint are returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + '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' => 'Uploads a server certificate.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22059,253 +15693,3879 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '88639', - 'abilityTreeNodes' => [ - 'FEATUREslbPXSOQX', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '88695', + 'abilityTreeNodes' => ['FEATUREslbFSBXXR'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'Tag', 'in' => 'query', + 'allowEmptyValue' => true, + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The region ID of the Classic Load Balancer (CLB) instance.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-beijing', + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of tag N. Valid values of N: **1 to 20**. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 64 characters in length, and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], + 'Value' => ['description' => 'The value of tag N. Valid values of N: **1 to 20**. The tag value can be an empty string. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `aliyun` and `acs:`.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'ResourceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource for which you want to modify the resource group.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'lb-uf6ghek7ds2btzt65****', - ], + 'schema' => ['description' => 'The region ID of the CLB instance.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'AliCloudCertificateId', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Valid values:'."\n" - ."\n" - .'* **loadbalancer**: a CLB instance'."\n" - .'* **certificate**: a certificate'."\n" - .'* **acl**: an access control list (ACL)'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [ - 'loadbalancer' => 'loadbalancer', - 'certificate' => 'certificate', - 'acl' => 'acl', - ], - 'example' => 'loadbalancer', - ], + 'schema' => ['description' => 'AliCloud certificate ID.', 'type' => 'string', 'required' => false, 'example' => '775****', 'title' => ''], ], [ - 'name' => 'NewResourceGroupId', + 'name' => 'AliCloudCertificateName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group to which you want to move the resource.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'rg-aek2rpsek5h****', - ], + 'schema' => ['description' => 'AliCloud certificate name.', 'type' => 'string', 'required' => false, 'example' => 'cloudcertificate', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'AliCloudCertificateRegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource group ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2dmxj56z****', - ], + 'schema' => ['description' => 'The region ID of AliCloud certificate.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'access_key_id', + 'name' => 'ServerCertificate', 'in' => 'query', - 'schema' => [ - 'description' => 'The AccessKey ID provided to you by Alibaba Cloud for accessing the service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourAccessKeyID', - ], + 'schema' => ['description' => 'The server certificate to be uploaded.', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- MIIGDTCC****** -----END CERTIFICATE-----', 'title' => ''], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'query', + 'schema' => ['description' => 'The private key of the certificate.', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN RSA PRIVATE KEY----- MIIEogIB****** -----END RSA PRIVATE KEY-----', 'title' => ''], + ], + [ + 'name' => 'ServerCertificateName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the server certificate.'."\n" + ."\n" + .'The name must be 1 to 80 characters in length. It must start with an English letter. It can contain letters, numbers, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'mycert01', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rto****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '18CAE30A-79CF-544C-86DB-EB36C739642E', + 'AliCloudCertificateName' => ['description' => 'The AliCloud certificate name.', 'type' => 'string', 'example' => 'cloudcertificate****', 'title' => ''], + 'CreateTimeStamp' => ['description' => 'The timestamp generated when the CA certificate is uploaded.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'ExpireTime' => ['description' => 'The time when the CA certificate expires.', 'type' => 'string', 'example' => '2022-10-18T23:59:59Z', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the CA certificate is uploaded.', 'type' => 'string', 'example' => '2022-02-21T02:49:05Z', 'title' => ''], + 'ServerCertificateId' => ['description' => 'The ID of the server certificate.', 'type' => 'string', 'example' => '1321932713******_17f1b4b696b_1114720822_-1671******', 'title' => ''], + 'ExpireTimeStamp' => ['description' => 'The timestamp generated when the CA certificate expires.', 'type' => 'integer', 'format' => 'int64', 'example' => '1504147745000', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region where the Classic Load Balancer (CLB) instance is deployed.'."\n" + ."\n" + .'You can call the [DescribeRegions](~~27584~~) operation to query the most recent region list.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', 'title' => ''], + 'Fingerprint' => ['description' => 'The fingerprint of the CA certificate.', 'type' => 'string', 'example' => '8f:7d:cb:e5:f8:c8:33:9c:17:65:c1:92:30:9e:45:55:9c:3a:85:60', 'title' => ''], + 'ServerCertificateName' => ['description' => 'The name of the server certificate.'."\n" + ."\n" + .'The name must be 1 to 80 characters in length. It must start with an English letter. It can contain letters, numbers, periods (.), underscores (\\_), and hyphens (-).', 'type' => 'string', 'example' => 'mycert01', 'title' => ''], + 'CommonName' => ['description' => 'The domain name of the CA certificate.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-atstuj3rt****', 'title' => ''], + 'AliCloudCertificateId' => ['description' => 'The AliCloud certificate ID.', 'type' => 'string', 'example' => '775****', 'title' => ''], + 'IsAliCloudCertificate' => ['description' => 'Indicates whether the certificate is provided by Alibaba Cloud Certificate Management Service. Valid values:'."\n" + ."\n" + .'- **0**: The certificate is not provided by Alibaba Cloud Certificate Management Service.'."\n" + ."\n" + .'- **1**: The certificate is provided by Alibaba Cloud Certificate Management Service.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'SubjectAlternativeNames' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SubjectAlternativeName' => [ + 'description' => 'The subject alternative names.'."\n" + ."\n" + .'A domain name list is supported. A maximum of 10 domain names are supported.', + 'type' => 'array', + 'items' => ['description' => 'The subject alternative names.'."\n" + ."\n" + .'A domain name list is supported. A maximum of 10 domain names are supported.', 'type' => 'string', 'example' => '["example.com","www.example.com"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"18CAE30A-79CF-544C-86DB-EB36C739642E\\"\\n}","type":"json"}]', - 'title' => 'MoveResourceGroup', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IllegalParam.ServerCertificate', 'errorMessage' => 'The specified server certificate is illegal.', 'description' => ''], + ['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' => ''], + ['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 certificate not supported'], + ['errorCode' => 'CertificateFormatInvalid', 'errorMessage' => 'The certificate format is invalid.', 'description' => 'The certificate is not in the correct format.'], + ], + 403 => [ + ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of is not authorized.', 'description' => 'The specified region of is not authorized.'], + ], + ], + 'title' => 'UploadServerCertificate', + 'description' => '- You can upload only one server certificate and its private key in each call.'."\n" + ."\n" + .'- After a server certificate and its private key are uploaded, the fingerprints of all server certificates that belong to your Alibaba Cloud account are returned.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => 'The alternative domain names are specified in the `Subject Alternative Name` field of the server certificate.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-02-14T08:33:18.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-26T07:22:23.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-02T03:41:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-23T07:54:30.000Z', 'description' => 'Error codes changed'], + ], + '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' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","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}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-beijing.aliyuncs.com', 'endpoint' => 'slb.cn-beijing.aliyuncs.com', 'vpc' => 'slb-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-heyuan.aliyuncs.com', 'endpoint' => 'slb.cn-heyuan.aliyuncs.com', 'vpc' => 'slb-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'slb.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'slb-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'slb.cn-wulanchabu.aliyuncs.com', 'vpc' => 'slb-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-qingdao.aliyuncs.com', 'endpoint' => 'slb.cn-qingdao.aliyuncs.com', 'vpc' => 'slb-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', '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' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-shanghai.aliyuncs.com', 'endpoint' => 'slb.cn-shanghai.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-hongkong.aliyuncs.com', 'endpoint' => 'slb.cn-hongkong.aliyuncs.com', 'vpc' => 'slb-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-shenzhen.aliyuncs.com', 'endpoint' => 'slb.cn-shenzhen.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-nanjing.aliyuncs.com', 'endpoint' => 'slb.cn-nanjing.aliyuncs.com', 'vpc' => 'slb-vpc.cn-nanjing.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-fuzhou.aliyuncs.com', 'endpoint' => 'slb.cn-fuzhou.aliyuncs.com', 'vpc' => 'slb-vpc.cn-fuzhou.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-chengdu.aliyuncs.com', 'endpoint' => 'slb.cn-chengdu.aliyuncs.com', 'vpc' => 'slb-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-guangzhou.aliyuncs.com', 'endpoint' => 'slb.cn-guangzhou.aliyuncs.com', 'vpc' => 'slb-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.cn-huhehaote.aliyuncs.com', 'endpoint' => 'slb.cn-huhehaote.aliyuncs.com', 'vpc' => 'slb-vpc.cn-huhehaote.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => 'slb-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', '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' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', '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' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shenzhen-finance-1.aliyuncs.com'], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => 'slb-vpc.cn-shanghai-finance-1.aliyuncs.com'], + ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', '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' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'slb.aliyuncs.com', 'endpoint' => 'slb.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'Abs.CACertificateIdAndResourceGroupId.MissMatch', 'message' => 'CACertificateId or ResourceGroupId miss match.', 'http_code' => 400, 'description' => ''], + ['code' => 'Abs.ServerCertificateIdAndResourceGroupId.MissMatch', 'message' => 'ServerCertificateId or ResourceGroupId miss match.', 'http_code' => 400, 'description' => ''], + ['code' => 'Abs.VServerGroupIdAndMasterSlaveServerGroupId.MissMatch', 'message' => 'The parameters VServerGroupId or MasterSlaveServerGroupId miss match.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'AccountHasArrearage', 'message' => 'Account has some arrearage.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclEntryEmpty', 'message' => 'Acl does not have any entry.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'AclEntryIllegal', 'message' => 'There is illegal entry format.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclEntryIllegal', 'message' => 'This input entry is illegal', 'http_code' => 400, 'description' => 'The ACL entry is invalid.'], + ['code' => 'AclEntryIllegal', 'message' => '%s.', 'http_code' => 400, 'description' => 'The ACL entry is invalid.'], + ['code' => 'AclEntryNotExist', 'message' => 'Acl entry does not exist.', 'http_code' => 400, 'description' => 'ACL entry does not exist.'], + ['code' => 'AclEntryOverLimit', 'message' => 'The acl entry list is over limit.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclEntryProcessing', 'message' => 'The ACL entry is configuring, please try later.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclGwTypeRestriction', 'message' => 'Classic Load Balancer does not support any tunnel operation of Acl .', 'http_code' => 400, 'description' => ''], + ['code' => 'AclIllegalBindTunnelId', 'message' => 'This is not a any tunnel type Load Balancer.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclInUsed', 'message' => 'The acl is bond to listener, operation is denied', 'http_code' => 400, 'description' => ''], + ['code' => 'AclIpNotSupported', 'message' => 'Acl entry IP is not match IP version.', 'http_code' => 400, 'description' => 'The IP version of the ACL entry is not supported.'], + ['code' => 'AclListenerOverLimit', 'message' => 'This acl has reached the limit of binding to listeners.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclNameExist', 'message' => 'The Acl name is exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclNameExist', 'message' => 'This acl name is existed.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclNotExist', 'message' => 'Acl does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'AclNotExists', 'message' => 'The Acl does not exists', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'AclTunnelIdEmpty', 'message' => 'There is no tunnel ids according to the VpcIds. .', 'http_code' => 400, 'description' => ''], + ['code' => 'ActionNotAllowed', 'message' => 'The slb is Not allowed to upgrade.', 'http_code' => null, 'description' => ''], + ['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' => 'The specified instance has been locked configuration changes. It will be unlocked next morning.'], + ['code' => 'ActionNotAllowed', 'message' => 'The Intranet LB\'s InternetChargeType is not allowed change to paybybandwidth.', 'http_code' => null, 'description' => 'The specified SLB instance billing method cannot be changed to Pay-By-Bandwidth.'], + ['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' => 'Insufficient IP addresses.'], + ['code' => 'AllocateVpcInstanceFailed', 'message' => 'Failed to allocate vpc instance.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'BackendServer.InMultiVpc', 'message' => 'The specified BackendServers must be in the same VPC.', 'http_code' => 400, 'description' => ''], + ['code' => 'BackendServer.InvalidEni', 'message' => 'The specified EniId has not been found.', 'http_code' => 400, 'description' => ''], + ['code' => 'BackendServer.InvalidEniStatus', 'message' => 'The specified ENI status is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'BackendServer.InvalidGroupId', 'message' => 'The specified GroupId is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'BackendServer.InvalidIp', 'message' => 'The specified ServerIp is invalid or empty.', 'http_code' => 400, 'description' => ''], + ['code' => 'BackendServer.InvalidPort', 'message' => 'The specified Port must be between 1 and 65535.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'BackendServer.InvalidWeight', 'message' => 'The specified Weight must be between 0 and 100.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => 'The CIDR block of the current VPC contains the IP address of the specified backend server.'], + ['code' => 'BackendServerIpNotExists', 'message' => 'The specified BackendServer IP or Port not exists', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'BACKEND_SERVERS_NUM_MUST_BE_TWO', 'message' => 'Backend servers num must be 2.', 'http_code' => 400, 'description' => ''], + ['code' => 'BACKEND_SERVER_ID_CAN_NOT_EMPTY', 'message' => 'Backend server id can not empty.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => 'The specified Certificate is related with listeners.'], + ['code' => 'CertificateFormatInvalid', 'message' => 'The certificate format is invalid.', 'http_code' => 400, 'description' => 'The certificate is not in the correct format.'], + ['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' => 'The specified certificate and key do not match. Verify the certificate and key and try again.'], + ['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' => ''], + ['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' => ''], + ['code' => 'CloudBoxNotSupportInternet', 'message' => 'The cloudBox instance does not support internet.', 'http_code' => 400, 'description' => ''], + ['code' => 'CloudBoxNotSupportIpv6', 'message' => 'The cloudBox instance does not support ipv6.', 'http_code' => 400, 'description' => ''], + ['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' => ' The specified instance component is invalid. Please check whether the instance component is correct.'], + ['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' => ''], + ['code' => 'DeniedForScopeNotEqual', 'message' => 'Only the same Scope type can be set for the same system tag Key.', 'http_code' => 400, 'description' => ''], + ['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' => 'The specified domain name and URL already exists in another listener rule.'], + ['code' => 'DomainExtensionCertTypeConflict', 'message' => 'The certKey type RSA of DomainExtension conflicts with default certKey type ECC.', 'http_code' => 400, 'description' => ''], + ['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' => 'Request validation has been passed with DryRun flag set.'], + ['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contain duplicate key.', 'http_code' => 400, 'description' => ''], + ['code' => 'Duplicate.TagKey', 'message' => 'The param TagKey has duplicate value.', 'http_code' => 400, 'description' => ''], + ['code' => 'Duplicated.AclEntry', 'message' => '%s.', 'http_code' => 400, 'description' => '%s'], + ['code' => 'EccCertificateNotSupport', 'message' => 'The ECC certificate is not support.', 'http_code' => 400, 'description' => 'ECC certificate not supported'], + ['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' => 'You are not authorized to operate the resource created by another user without authenticaiton. Authenticate and try again.'], + ['code' => 'Forbidden', 'message' => 'User not authorized to operate on the specified resource.', 'http_code' => null, 'description' => ' '], + ['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' => ''], + ['code' => 'HdMonitorVipExist', 'message' => 'The region still has listeners with hdmonitor enabled.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'IllegalParam.FailoverStrategy', 'message' => 'The parameter FailoverStrategy is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.FailoverThreshold', 'message' => 'The parameter FailoverThreshold is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.HealthCheck', 'message' => 'The param of HealthCheck is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.HealthCheck', 'message' => 'The param of HelathCheck is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.HealthCheckMethod', 'message' => 'The param of HealthCheckMethod is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.HealthCheckType', 'message' => 'The param of HealthCheckType is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.ListenerProtocol', 'message' => 'The param of ListenerProtocol is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.MaxResults', 'message' => 'The param of MaxResults is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.NextToken', 'message' => 'The param of NextToken is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.ResourceType', 'message' => 'The param of ResourceType is illegal.', 'http_code' => 400, 'description' => 'The param of ResourceType is illegal.'], + ['code' => 'IllegalParam.ServerCertificate', 'message' => 'The specified server certificate is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.ServiceManagedMode', 'message' => 'The param of ServiceManagedMode is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParam.SpecType', 'message' => 'The param of SpecType is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'IllegalParamSize.LoadBalancerId', 'message' => 'The param size of LoadBalancerId is illegal.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'Instance.InternetChargeTypeNotAllowed', 'message' => 'Illegal parameter. The specified InternetChargeType not allowed.', 'http_code' => 400, 'description' => ''], + ['code' => 'Instance.Pay95BandwidthIllegal', 'message' => 'Illegal parameter. The bandwidth is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'Instance.Pay95RateInvalid', 'message' => 'Illegal parameter. The rate is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'Instance.ShareSlbNotSupportPay95', 'message' => 'Illegal parameter. The share instance not support PayBy95 or PayByOld95.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InsufficientBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => 400, 'description' => 'Your account balance is insufficient. Top up your account and try again.'], + ['code' => 'InsufficientCapacity', 'message' => 'There is insufficient capacity available for the requested', 'http_code' => null, 'description' => 'You cannot purchase more instances. To increase your limit, submit a ticket.'], + ['code' => 'INSUFFICIENT_BALANCE', 'message' => 'The account Balance is insufficient.', 'http_code' => 400, 'description' => 'Your account balance is insufficient.'], + ['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' => ''], + ['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' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'InvalidBackendServers.MissingCenBandWidth', 'message' => 'The bandwidth is missing between loadbalancer and backendServers in cen.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidBackendServers.ServerIpConflict', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidBackendServers.VpcNotInCen', 'message' => 'The BackendServers is not in the cen associated with the loadbalancer.', 'http_code' => 400, 'description' => ''], + ['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' => 'The specified SLB ID does not exist. Check the parameters and try again.'], + ['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' => ''], + ['code' => 'InvalidOwnerAccount', 'message' => 'The input parameter OwnerAccount is invalid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidOwnerId', 'message' => 'The input parameter OwnerId or OwnerAccount is invalid.', 'http_code' => null, 'description' => 'The specified Owner ID or Owner Account is invalid. Check the parameters and try again.'], + ['code' => 'InvalidOwnerId', 'message' => 'The specified OwnerId or OwnerAccount is invalid.', 'http_code' => null, 'description' => 'The specified Owner ID or Owner Account is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParam.AclEntryExists', 'message' => 'The specified aclEntry already exists in the acl.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.AclEntryExists', 'message' => 'The specified aclEntry already exists in current acl or other acl associate with current acl.', 'http_code' => 400, 'description' => 'The specified entry already exists in the current ACL or an ACL that is associated with the current 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' => ''], + ['code' => 'InvalidParam.CertificateBindingType', 'message' => 'The param CertificateBindingType is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.Comment', 'message' => 'The specified comment is invalid.', 'http_code' => 400, 'description' => 'The specified comment is invalid.'], + ['code' => 'InvalidParam.EndPort', 'message' => 'The specified EndPort is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.HealthCheck', 'message' => 'The param of HealthCheck is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.HealthCheckExp', 'message' => 'The param HealthCheckExp is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.HealthCheckReq', 'message' => 'The param HealthCheckReq is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.ListenerPort', 'message' => 'The specified ListenerPort is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.ModificationProtectionReason', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.ModificationProtectionReason', 'message' => 'The param ModificationProtectionReason is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.ModificationProtectionStatus', 'message' => 'The param ModificationProtectionStatus is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.NextToken', 'message' => 'The specified NextToken is invalid.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'InvalidParam.ResourceType', 'message' => 'The specified ResourceType is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.Scope', 'message' => 'The specified Scope is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.StartPort', 'message' => 'The specified StartPort is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.TagKey', 'message' => 'The specified TagKey is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.TagKeyOrValue', 'message' => 'The specified TagKey or TagValue is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.TagOwnerBid', 'message' => 'The specified TagOwnerBid is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.TagOwnerUid', 'message' => 'The specified TagOwnerUid is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.TagValue', 'message' => 'The specified TagValue is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.VServerGroupId', 'message' => 'The specified VServerGroupId is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The Vgw ip is empty.', 'http_code' => null, 'description' => 'Enter a Virtual Gateway IP address.'], + ['code' => 'InvalidParameter', 'message' => 'The App id is invalid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The vpc Ip is exist.', 'http_code' => null, 'description' => 'The specified VPC IP address is already in use. Switch to another IP address and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The Ip is not Supported.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified vpc cloud instance is deleteing.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The vpc info of LB is empty.', 'http_code' => null, 'description' => 'The specified VPC information does not exist. Check the VPC information and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The Rs IP is empty.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The VmName is emtpy.', 'http_code' => null, 'description' => 'Enter a Server ID.'], + ['code' => 'InvalidParameter', 'message' => 'The RsList is illegal.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The Tunnel id is invalid.', 'http_code' => null, 'description' => 'The specified tunnel ID is invalid. Check the parameter and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Scheduler" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "URI" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Domain" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerStatus" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => 'The specified parameters is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "BackendServers" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "AccessControlStatus" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'User ID is null', 'http_code' => null, 'description' => 'Enter an User ID.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter: mode is not valid..', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter HealthCheck is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter bandwidth is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter bandwidth is not valid', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "HealthCheckHttpCode" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Specified parameter "Check" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificate or Key is empty.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificateId is not Support.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificateId is empty.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter ServerCertificate format is error.', 'http_code' => null, 'description' => 'The specified Server Certificate format is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The resource already exists.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The lvsgw vip is same.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The param vSwitch check fail', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The site is not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The type is invalid.', 'http_code' => null, 'description' => 'The specified type is invalid.'], + ['code' => 'InvalidParameter', 'message' => 'The vgw ip is not support.', 'http_code' => null, 'description' => 'The specified Virtual Gatewat IP address is invalid.'], + ['code' => 'InvalidParameter', 'message' => 'The vm address is not Support.', 'http_code' => null, 'description' => 'The specified backend server IP address is invalid. Switch to another backend server IP address and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Cookie" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerPort" or "BackendServerPort" or "ConnectPort" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerPort" or "BackendServerPort" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Illegal parameter', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "StickySessionType" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "HealthyThreshold" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ConnectPort" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ConnectTimeout" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "HealthCheck" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "ListenerPort" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "XForwardedFor" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "IsPublicAddress" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "UnhealthyThreshold" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter "Interval" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified region is not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified resource does not exist.', 'http_code' => null, 'description' => 'The specified resources does not exist. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'the special internet EIP donot support the VPC network type.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified vpc cloud instance has deleted', 'http_code' => null, 'description' => ''], + ['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' => 'The specified Backend Servers is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The maximum number of LoadBalancerId is exceeded.', 'http_code' => null, 'description' => 'You cannot create more Load Balancer ID. The limit for the amount of Load Balancer ID allowed is 10.'], + ['code' => 'InvalidParameter', 'message' => 'The specified load balancer does not support the network type of the ECS instance.', 'http_code' => null, 'description' => 'The specified SLB instance does not support this network type ECS instance. Switch to another network type and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified CACertificate is invalid.', 'http_code' => null, 'description' => 'The specified CA Certificate is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerStatus is invalid.', 'http_code' => null, 'description' => 'The specified Load Balancer Status is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified InternetChargeType is invalid.', 'http_code' => null, 'description' => 'The specified Internet Charge Type is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified Port is invalid.', 'http_code' => null, 'description' => 'The specified Port is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified VServerGroupId does not exist.', 'http_code' => null, 'description' => 'The specified Vserver Group ID does not exist. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified Bandwidth is invalid.', 'http_code' => null, 'description' => 'The specified bandwith is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified Bandwidth is invalid. It exceeds the maximum bandwidth available to the instance.', 'http_code' => null, 'description' => 'The specified Bandwidth is invalid. The listeners under this instance has reach the bandwidth limit of the instance.'], + ['code' => 'InvalidParameter', 'message' => 'The specified VServerGroupId is invalid.', 'http_code' => null, 'description' => 'The specified VServer Group ID is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified CACertificateId is invalid.', 'http_code' => null, 'description' => 'The specified CA Certificate ID is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerId is invalid.', 'http_code' => null, 'description' => 'The specified Load Balancer ID is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified RuleId is invalid.', 'http_code' => null, 'description' => 'The specified Rule ID is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified RegionId does not exist.', 'http_code' => null, 'description' => 'The specified RegionId does not exist.'], + ['code' => 'InvalidParameter', 'message' => 'The specified SlaveZoneId is invalid.', 'http_code' => null, 'description' => 'The specified parameter Slave Zone ID is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified Weight is invalid.', 'http_code' => null, 'description' => 'The specified Weight is invalid. Check your parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerSpec is invalid.', 'http_code' => null, 'description' => 'The specified Load Balancer Spec is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified MasterZoneId is invalid.', 'http_code' => null, 'description' => 'The specified Master Zone ID is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified SourceItems is invalid.', 'http_code' => null, 'description' => 'The specified parameter Source Items is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified ListenerPort is invalid.', 'http_code' => null, 'description' => 'The specified Listener Port is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified AddressType is invalid.', 'http_code' => null, 'description' => 'The specified Address Type is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => 'The specified LoadBalancerName is invalid.', 'http_code' => 400, 'description' => 'The specfied Load Balancer Name is invalid. Check the parameters and try again.'], + ['code' => 'InvalidParameter', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Illegal parameter. The IP address is not in subnet.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified AccessControlStatus is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified BackendServers contain duplicated value of ServerID and Port.', 'http_code' => 400, 'description' => 'The specified backend servers contain duplicate service IDs and ports.'], + ['code' => 'InvalidParameter', 'message' => 'The specified BackendServers contain duplicated value.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified Check is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified ConnectPort is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified ConnectTimeout is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified Domain is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified HealthCheck is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified HealthCheckHttpCode is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified HealthyThreshold is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified Interval is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified IsPublicAddress is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified ListenerPort or ForwardPort is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified ListenerStatus is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified MaxConnection is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified PersistenceTimeout is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified Scheduler is invalid.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified SuName does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified URI is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified UnhealthyThreshold is invalid.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter.AclEntrys', 'message' => 'The specified parameter AclEntrys is not valid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.AliCloudCertificateId', 'message' => 'The specified AliCloudCertificateId is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.Bandwidth', 'message' => 'The param Bandwidth is invalid.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter.Domain', 'message' => 'The specified Domain exists.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter.HealthCheckHttpVersion', 'message' => 'The param HealthCheckHttpVersion is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.IdleTimeout', 'message' => 'The specified IdleTimeout exceeds the limit.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter.RegionId', 'message' => 'The specified RegionId does not exist.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'InvalidParameter.ServerRegionId', 'message' => 'The specified ServerRegionId is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.SourceItems', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParameter.TagValue', 'message' => 'The specified tag value is illegal.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.VServerGroupId', 'message' => 'The MasterSlaveServerGroup can not be attached to HTTP or HTTPS listener.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidParamLength.HealthCheckExp', 'message' => 'The length of the parameter HealthCheckReq is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParamLength.HealthCheckReq', 'message' => 'The length of the parameter HealthCheckReq is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParamSize.CertificateId', 'message' => 'The size of parameter CertificateId is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParamSize.PortRange', 'message' => 'The size of param PortRange is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParamSize.ServerCertificates', 'message' => 'The size of param ServerCertificates is invalid.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId does not exist.', 'http_code' => null, 'description' => 'The specified Region ID does not exist. Verify if the service is available in this region.'], + ['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' => ''], + ['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' => ''], + ['code' => 'InvalidServerId.Malformed', 'message' => 'A specified server ID is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidServerId.Malformed', 'message' => 'A specified server ID is not valid, flush control ip chain fail.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidServerId.Malformed', 'message' => 'The specified ServerId is invalid.', 'http_code' => 400, 'description' => ''], + ['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' => 'The specified Server ID does not exist. Check the parameters and try again.'], + ['code' => 'InvalidTag', 'message' => 'The specified tags is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidTLSPolicyId.NotExist', 'message' => 'The specified TLS cipher policy does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVbrId.NotInCen', 'message' => 'The VbrId is not in the cen associated with the loadbalancer.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVpcId.NotExist', 'message' => 'The specified VPC not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVServerGroup', 'message' => 'The VServerGroup is invalid.', 'http_code' => null, 'description' => 'The specified virutal server group ID is invalid. Check the server group ID and try again.'], + ['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' => 'The current specified vswitch instance is illegal.'], + ['code' => 'InvalidWeight.Malformed', 'message' => 'A specified weight is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'INVALID_COMPONENT', 'message' => 'This Account can\'t buy such type loadbalancer.', 'http_code' => null, 'description' => 'You are not authorized to purchase the specified the type of SLB.'], + ['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' => ''], + ['code' => 'IpIsUsed', 'message' => 'The specified Address ip is already in use, please use an unused ip.', 'http_code' => 400, 'description' => ''], + ['code' => 'IpListItemFormatError', 'message' => 'please check the ip list item format error.', 'http_code' => null, 'description' => ''], + ['code' => 'IpNotAvailable', 'message' => 'The specified parameter "Address" is not valid.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'LBNotSupportENI', 'message' => 'The loadbalancer does not support backend servers of eni type.', 'http_code' => 400, 'description' => ''], + ['code' => 'LBNotSupportExpressConnect', 'message' => 'The loadBalancer does not support backend servers of expressconnect type.', 'http_code' => 400, 'description' => ''], + ['code' => 'LBNotSupportSuchAction', 'message' => 'The specified loadbalancer does not support such action.', 'http_code' => 500, 'description' => 'The operation is not supported.'], + ['code' => 'LbNotSupportTcpssl', 'message' => 'You cannot create a TCP SSL type listener for the specified load balancer.', 'http_code' => 400, 'description' => ''], + ['code' => 'LbSupportTcpsslOnly', 'message' => 'The specified load balancer supports TCP SSL type listener only.', 'http_code' => 400, 'description' => ''], + ['code' => 'ListenerAlreadyExists', 'message' => 'There is already a listener bound to the port on the specified load balancer.', 'http_code' => null, 'description' => 'The specified listener already exists on this SLB.'], + ['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' => ''], + ['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' => 'The specified SLB port does not have a listener.'], + ['code' => 'ListenerNotSupportRule', 'message' => 'You cannot create a rule for the specified listener.', 'http_code' => 400, 'description' => 'You cannot create a rule for the specified listener.'], + ['code' => 'ListenerNumberOverLimit', 'message' => 'The maximum number of listeners is exceeded.', 'http_code' => null, 'description' => 'You cannot create more listeners. The limit for the amount of listeners allowed is 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' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'MissingParam.HealthCheckConnectPort', 'message' => 'The parameter HealthCheckConnectPort is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.HealthCheckDomain', 'message' => 'The HealthCheckDomain is required when HealthCheckHttpVersion is http1.1.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.HealthCheckMethod', 'message' => 'The param of HealthCheckMethod is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.LoadBalancerSpec', 'message' => 'The param LoadBalancerSpec is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.ModificationProtectionStatus', 'message' => 'You must specify ModificationProtectionStatus.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.Name', 'message' => 'The param Name is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.RegionId', 'message' => 'The parameter RegionId is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.ResourceId', 'message' => 'The parameter ResourceId is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.Resources', 'message' => 'The parameter Resources is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.ResourceType', 'message' => 'The parameter ResourceType is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.Scope', 'message' => 'The parameter Scope is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.SegmentId', 'message' => 'You must specify SegmentId.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.ServerCertificates', 'message' => 'Server certificates are required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.ServerCertificates', 'message' => 'The param ServerCertificates is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.ServiceManagedMode', 'message' => 'The parameter ServiceManagedMode is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.SpecType', 'message' => 'The param of SpecType is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TagKey', 'message' => 'The parameter TagKey is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TagKey', 'message' => 'The param TagKey is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TagOrResourceId', 'message' => 'The parameter Tag or ResourceId is required at least one.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TagOwnerBid', 'message' => 'The parameter TagOwnerBid is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TagOwnerUid', 'message' => 'The parameter TagOwnerUid is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TLSCipherPolicyId', 'message' => 'The param TLSCipherPolicyId is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.TlsVersions', 'message' => 'The param TlsVersions is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.VServerGroupId', 'message' => 'The parameter VServerGroupId is missing.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParam.VSwitchId', 'message' => 'The parameter VSwitchId is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ListenerPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ' '], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ServerId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter OwnerId', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter "LoadBalancerId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ' '], + ['code' => 'MissingParameter', 'message' => 'The input parameter "BackendServerPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['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' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter "ListenerPort" or "BackendServerPort" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter " that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ' '], + ['code' => 'MissingParameter', 'message' => 'The specified ServerCertificate is invalid.', 'http_code' => null, 'description' => 'The specified Server Certificate is invalid. Check the parameters and try again.'], + ['code' => 'MissingParameter', 'message' => 'The specified ServerCertificateName is invalid.', 'http_code' => null, 'description' => 'The specified Server Certificate Name is invalid. Check the parameters and try again.'], + ['code' => 'MissingParameter', 'message' => 'The UnhealthyThreshold parameter is required.', 'http_code' => null, 'description' => 'Enter a parameter for the Unhealthy Threshold.'], + ['code' => 'MissingParameter', 'message' => 'The HealthCheckTimeout parameter is required.', 'http_code' => null, 'description' => 'Enter a parameter for Health Check Timeout.'], + ['code' => 'MissingParameter', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The BackendServerPort or VServerGroupId is required at lease one.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The LoadBalancerId parameter is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The RegionId parameter is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The VServerGroupName or BackendServers is required at lease one.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter OwnerId,OwnerAccount that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'MissingParameter', 'message' => 'The specified Cookie is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.CertificateId', 'message' => 'The parameter CertificateId is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.DomainExtensionId', 'message' => 'The param DomainExtensionId is missing', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.RuleName', 'message' => 'The parameter RuleName is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.ServerRegionId', 'message' => 'The parameter ServerRegionId is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.Tags', 'message' => 'The parameter Tags should not be null.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter.VbrId', 'message' => 'The parameter VbrId is required.', 'http_code' => 400, 'description' => ''], + ['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' => 'The specified parameters contains network overlaps. Check your parameters and try again.'], + ['code' => 'NetworkConflict', 'message' => '%s.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoAailablePaymentMethod', 'message' => 'No payment method is specified for your account.', 'http_code' => 400, 'description' => 'No payment method is specified for your account. '], + ['code' => 'NOCARD', 'message' => 'User Profile doesn t have card', 'http_code' => 400, 'description' => 'The specified user does not have a bank card linked. Link a bank card and try again'], + ['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' => 'You do not have the permissions to create the service-linked role whose role name is AliyunServiceRoleForSlbEipAccess and service name is eipaccess.slb.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'], + ['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' => ''], + ['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' => ''], + ['code' => 'NoPermission.Operator', 'message' => 'The user is not authorized to perform the operation.', 'http_code' => 400, 'description' => 'The operator is not permission for this operate.'], + ['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' => ''], + ['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' => 'The specified Backend Servers is invalid. The backend servers does not exist or is not running. Check the parameters and try again.'], + ['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' => ''], + ['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' => ''], + ['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' => ''], + ['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' => 'A previous operation is still pending. Please try again later.'], + ['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' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'OperationDenied.OnlyIpv4SlbSupport', 'message' => 'The operation is not allowed because of OnlyIpv4SlbSupport.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationDenied.PayByCLCU', 'message' => 'The operation is not allowed because the instanceChargeType of loadbalancer is PayByCLCU.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => 'The current load balancer instance is not allowed to mount IPv6 backend.'], + ['code' => 'OperationFailed. InvalidStatus', 'message' => 'The status of the loadbalancer does not support this operation.', 'http_code' => 400, 'description' => 'Invalid resource state.'], + ['code' => 'OperationFailed.AclBindedWithVip', 'message' => 'The ACL has binded with vip.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationFailed.ActionNotSupport', 'message' => 'The loadbalancer of ipv6 does not support such action.', 'http_code' => 400, 'description' => ''], + ['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 error'], + ['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' => ''], + ['code' => 'OperationFailed.InvalidStatus', 'message' => 'The status of the loadbalancer does not support this operation.', 'http_code' => 400, 'description' => 'Invalid resource state.'], + ['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' => ''], + ['code' => 'OperationUnsupported.AddVServerGroupBackendServers', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationUnsupported.ConvertClassicClbToVpc', 'message' => 'Operation Unsupported ConvertClassicClbToVpc.', 'http_code' => 400, 'description' => 'The current Server Load Balancer instance does not support conversion to the private network type.'], + ['code' => 'OperationUnsupported.CreateLoadBalancerLayer7Listener', 'message' => 'The slb instance does not support create HTTP or HTTPS listener.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationUnsupported.CreateMasterSlaveServerGroup', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationUnsupported.CreateVServerGroup', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'OperationUnsupported.ModifyVServerGroupBackendServers', 'message' => 'This type of backend server is not allowed to attached to singleTunnel or anyTunnel lb.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationUnsupported.SetAccessControl', 'message' => 'The singleTunnel/anyTunnel loadbalancer does not support config AccessControlList.', 'http_code' => 400, 'description' => ''], + ['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' => 'Insufficient account balance. Please add funds to your account and try again.'], + ['code' => 'ORDER.BID_USER_ ORDER_FORBIDDEN', 'message' => 'The order of bid user is forbidden.', 'http_code' => null, 'description' => ''], + ['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' => 'You cannot create more SLB instances. Reduce the amount of instances created and try again.'], + ['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' => ''], + ['code' => 'OverQuato', 'message' => 'The Total is over the quato.', 'http_code' => 400, 'description' => 'Total amount has reach the limit. Reduce the quantity and try again.'], + ['code' => 'OverQuota', 'message' => 'Instance num exceeded Quota.', 'http_code' => 400, 'description' => ''], + ['code' => 'OverQuota', 'message' => 'The Total is over the quota.', 'http_code' => 400, 'description' => 'Total amount has reach the limit. Reduce the quantity and try again.'], + ['code' => 'OverQuota', 'message' => 'The Total is over the quota', 'http_code' => 400, 'description' => 'Total amount has reach the limit. Reduce the quantity and try again.'], + ['code' => 'OverQuota', 'message' => 'The Total is over the quota, or Your account balance must not be less than $100.', 'http_code' => 400, 'description' => ''], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertClientVerifyAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => ''], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertFingerprintAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => ''], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertIssuerDNAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => ''], + ['code' => 'ParamDuplicateError', 'message' => 'The specified parameter value of XForwardedFor_ClientCertSubjectDNAlias is duplicate. Please change to a different one.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'ParamDuplicateError.TlsVersions', 'message' => 'The param TlsVersions is duplicate in request.', 'http_code' => 400, 'description' => ''], + ['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' => 'The payment amount exceeds the upper limit of your account.'], + ['code' => 'PAY.COUPON_NOT_EXIST', 'message' => 'The account coupon doesn\'t exist', 'http_code' => 400, 'description' => 'The specified coupon is not found.'], + ['code' => 'PAY.COUPON_NOT_MEET_CONSUMPTION_RULE', 'message' => 'The account coupon doesn\'t meet consumption rule', 'http_code' => 400, 'description' => 'The specified coupon does not meet the coupon rules.'], + ['code' => 'PAY.CURRENCY_INCONSISTENCY', 'message' => 'The account Currency is inconsistency.', 'http_code' => 400, 'description' => 'The currency is different from the specified one.'], + ['code' => 'PAY.CURRENCY_NOT_SUPPORTED', 'message' => 'The account Currency doesn\'t support', 'http_code' => 400, 'description' => 'The specified currency is not supported.'], + ['code' => 'PAY.GET_PAY_URL_ERROR', 'message' => 'The account failed to get Pay Url.', 'http_code' => 400, 'description' => 'Failed to retrieve the payment URL.'], + ['code' => 'PAY.INVALID_AMOUNT', 'message' => 'The account amount is invalid.', 'http_code' => 400, 'description' => 'The payment amount is invalid.'], + ['code' => 'PAY.INVALID_CREDIT_CARD', 'message' => 'The account Credit card is invalid.', 'http_code' => 400, 'description' => 'The specified credit card is invalid.'], + ['code' => 'PAY.NO_CREDIT_CARD', 'message' => 'The account doesn\'t have Credit Card', 'http_code' => 400, 'description' => 'The account is not bound with a credit card.'], + ['code' => 'PAY.PAYMENT_PARAMETER_INVALID', 'message' => 'The account payment parameters are invalid.', 'http_code' => 400, 'description' => 'One or more parameters are set to an invalid value.'], + ['code' => 'PAY.PAY_ORDER_FAILED', 'message' => 'The account failed to pay order.', 'http_code' => 400, 'description' => 'The payment failed.'], + ['code' => 'PAY.QUERY_QUOTA_BOOK_FAILED', 'message' => 'The account failed to query quota book.', 'http_code' => 400, 'description' => 'Failed to query the quota of the account.'], + ['code' => 'PAY.REFUND_FAILED', 'message' => 'The account failed to Refund.', 'http_code' => 400, 'description' => 'The refund failed.'], + ['code' => 'PAY.STORED_CARD_NOT_EXIST', 'message' => 'The savings card of this account does not exist.', 'http_code' => 400, 'description' => 'The debit card of the account is not found.'], + ['code' => 'PAY.TAX_CALC_FAILED', 'message' => 'The account Tax failed to calculate.', 'http_code' => 400, 'description' => 'Failed to calculate the tax amount of this account.'], + ['code' => 'PAY.USER_DECLINED', 'message' => 'The account declined to pay.', 'http_code' => 400, 'description' => 'The payment was declined by your account.'], + ['code' => 'PAY.WITHHOLDING_AGREEMENT_ILLEGAL', 'message' => 'The account withholding agreement is illegal.', 'http_code' => 400, 'description' => 'The withholding agreement is illegal.'], + ['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' => ' The pricing plan of the successful instance is not matched. Please submit a work order for consultation.'], + ['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' => ''], + ['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' => 'Failed to query the purchase.'], + ['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' => ''], + ['code' => 'QueryTokenNotExist', 'message' => 'The specified NextToken does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'QueryTokenNotExist', 'message' => 'The specified token is not exist.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => ''], + ['code' => 'QuotaLimitExceeds.AclListenerOverLimit', 'message' => 'This acl has reached the limit of binding to listeners.', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaLimitExceeds.TotalAclEntry', 'message' => 'The number of Acl entries has reached the quota limit.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['code' => 'RegionOrZonesNotSupportIpv6', 'message' => 'The specified region or master/slave zones does not support ipv6.', 'http_code' => 400, 'description' => ''], + ['code' => 'ResourceInConfiguring.Acl', 'message' => 'The specified resource is configuring, please try again later.', 'http_code' => 400, 'description' => ''], + ['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' => ''], + ['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' => 'The specified event does not exist'], + ['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' => ''], + ['code' => 'RISK.RISK_CONTROL_REJECTION', 'message' => 'The Account is rejected by risk control system.', 'http_code' => 400, 'description' => 'This account is locked by Alibaba Cloud Risk Management.'], + ['code' => 'RspoolRuleExist', 'message' => 'there are rules associating with this vServer group.', 'http_code' => 400, 'description' => 'The specified virtual server group has forward request rules bound. Unbind the rules and try again.'], + ['code' => 'RspoolVipExist', 'message' => 'there are vips associating with this vServer group.', 'http_code' => 400, 'description' => 'The specified virtual server group already has a listener bound.'], + ['code' => 'RsTunnelIp2VmNameConflict', 'message' => 'There are back-end servers with the same TunnelId and RsIp configurations.', 'http_code' => 400, 'description' => ''], + ['code' => 'RuleListMalformed', 'message' => 'the specified parameter RuleList is unavailable.', 'http_code' => null, 'description' => ''], + ['code' => 'RuleNotSupport', 'message' => 'Rule is not support in the tcp type listener.', 'http_code' => 400, 'description' => ''], + ['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' => '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.'], + ['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' => 'The system is not available. Please try again later.'], + ['code' => 'ServiceUnavailable', 'message' => 'The slb system is maintaining', 'http_code' => null, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'The specified region not support VPC.', 'http_code' => null, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'Illegal Service.', 'http_code' => null, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'Vpc Service error.', 'http_code' => null, 'description' => ' '], + ['code' => 'ServiceUnavailable', 'message' => 'The slb?system?is?maintaining', 'http_code' => null, 'description' => ''], + ['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' => 'An error has occurred with the VPC network. Try again later.'], + ['code' => 'ServiceUnavailable', 'message' => 'The cloud instance id is invaild.', 'http_code' => null, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'System exception.', 'http_code' => null, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'The vpc subnet is not exist.', 'http_code' => 400, 'description' => 'The specfied VPC subnet does not exists or the vSwitch subnet does not have any IP address available. Check your parameters and try again.'], + ['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' => ''], + ['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' => ''], + ['code' => 'SizeLimitExceeded.Tag', 'message' => 'The maximum size of Tag is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'SizeLimitExceeded.TagKey', 'message' => 'The maximum size of TagKey is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'SourceItemsQuotaOverLimit', 'message' => 'The maximum number of SourceItems is exceeded.', 'http_code' => 400, 'description' => 'You cannot create more Source Items. The limit of for the amount of Source Items allowed is 300.'], + ['code' => 'SourceListOverLimit', 'message' => 'The sourceList is over the quota.', 'http_code' => null, 'description' => ''], + ['code' => 'SourceListOverLimit', 'message' => 'The sourceList is over the quato.', 'http_code' => 400, 'description' => ''], + ['code' => 'SpecNotSupportParameter', 'message' => 'The instance with share spec does not support FullNatEnabled parameter.', 'http_code' => 400, 'description' => ''], + ['code' => 'StickySessionInvalid', 'message' => 'StickySessionInvalid.', 'http_code' => null, 'description' => ''], + ['code' => 'SubnetIpExhaust', 'message' => 'No subnet IP addresses are available.', 'http_code' => 400, 'description' => 'No subnet IP address is available.'], + ['code' => 'SystemBusy', 'message' => 'The system is busy.', 'http_code' => 400, 'description' => 'System Busy'], + ['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' => ''], + ['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' => ''], + ['code' => 'TLSCipherPolicyVipRelationOverLimit', 'message' => 'The number of listeners associated with a policy has exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'TLSPolicyBeingUsed', 'message' => 'The specified TLS cipher policy is being used.', 'http_code' => 400, 'description' => ''], + ['code' => 'TLSPolicyConfiguring', 'message' => 'The specified TLS cipher policy is configuring.', 'http_code' => 400, 'description' => ''], + ['code' => 'TLSPolicyNoSupportCipher', 'message' => 'The specified TLS cipher is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'TLSPolicyNoSupportVersion', 'message' => 'The specified TLS version is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'TLSPolicyRelated', 'message' => 'The specified TLS cipher policy is related with listeners.', 'http_code' => 400, 'description' => ''], + ['code' => 'TLSPolicyUnchanged', 'message' => 'The specified TLS cipher policy is unchanged.', 'http_code' => 400, 'description' => ''], + ['code' => 'TooManyBackendServers', 'message' => 'The total number of input real servers exceeds max supported number: 20', 'http_code' => null, 'description' => 'A maximum of 20 servers can be supported per request.'], + ['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' => ''], + ['code' => 'TooManyCertificates.ServerCertificates', 'message' => 'The number of certificates must not be greater than one.', 'http_code' => 400, 'description' => ''], + ['code' => 'TooManyListeners', 'message' => 'More than 1 listener is found, please be more specified', 'http_code' => 400, 'description' => ''], + ['code' => 'TooManyListeners', 'message' => 'More than 1 listener is found, please be more specified.', 'http_code' => 400, 'description' => ''], + ['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' => 'The specified listener can only support up to 10 rules. Modify the number of rules and then try again.'], + ['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' => 'The specified region of is not authorized.'], + ['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' => 'The specified port protocol does not support this action. Check the port protocol and try again.'], + ['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' => ''], + ['code' => 'URLNotSupport', 'message' => 'the URL in the rule is invalid.', 'http_code' => 400, 'description' => 'The specified URL in the rule is invalid. Check the URL and try again.'], + ['code' => 'UserNotAllowed', 'message' => 'The user is not allowed', 'http_code' => null, 'description' => ''], + ['code' => 'UserProfileNotComplete', 'message' => 'User profile is not completed.', 'http_code' => 400, 'description' => 'The specified user profile information is incomplete. Complete the user profile information and try again.'], + ['code' => 'VipNotMatchRspool', 'message' => 'The vip protocol is not match with Rspool.', 'http_code' => 400, 'description' => 'The specified backend server group and listener is uncompatible. Check your settings and try again.'], + ['code' => 'VipNotSupportQuicVersion', 'message' => 'The listener does not support the parameter of QuicVersion.', 'http_code' => 400, 'description' => ''], + ['code' => 'VipTooManyListeners', 'message' => 'The total number of input listeners exceeds max supported number: 10', 'http_code' => 400, 'description' => 'A maximum of 10 listeners can be supported per instance.'], + ['code' => 'VpcStatusError', 'message' => 'the specified vpc status is creating.', 'http_code' => null, 'description' => ''], + ['code' => 'VpcZoneNotSupportCreate', 'message' => 'The specified zone dont not supported .', 'http_code' => 400, 'description' => 'The specified zone does not support VPC creation.'], + ['code' => 'VServerGroupEmpty', 'message' => 'the specified vServer group is empty.', 'http_code' => 400, 'description' => ''], + ['code' => 'VServerGroupProcessing', 'message' => 'VServer group is configuring', 'http_code' => null, 'description' => 'The specified virtual server group is configuring. Please wait…'], + ['code' => 'VSwitchAvailableIpNotExist', 'message' => 'The specified VSwitch has no availabe ip.', 'http_code' => 400, 'description' => ''], + ['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' => 'Error codes changed', 'api' => 'CreateVServerGroup'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerAttribute'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancers'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'DescribeVServerGroupAttribute'], + ['description' => 'Error codes changed', 'api' => 'DescribeZones'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2025-02-14T08:33:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerUDPListener'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2025-02-11T09:01:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerUDPListener'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2025-01-08T05:58:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerUDPListener'], + ], + 'createdAt' => '2024-12-27T10:24:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerHTTPSListener'], + ], + 'createdAt' => '2024-12-25T07:27:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2024-12-19T06:34:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2024-12-16T06:03:19.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'AddTags'], + ['description' => 'OpenAPI offline', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'OpenAPI offline', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ], + 'createdAt' => '2024-11-15T07:47:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2024-10-09T12:47:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2024-10-09T12:28:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateVServerGroup'], + ], + 'createdAt' => '2024-08-26T06:38:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2024-05-28T03:23:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeAvailableResource'], + ], + 'createdAt' => '2024-03-21T13:12:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2024-01-26T09:46:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeleteDomainExtension'], + ], + 'createdAt' => '2024-01-16T06:28:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeleteLoadBalancerListener'], + ], + 'createdAt' => '2023-12-20T09:41:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => 'Request parameters changed', 'api' => 'SetLoadBalancerHTTPListenerAttribute'], + ['description' => 'Request parameters changed', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2023-12-14T08:35:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => 'Request parameters changed', 'api' => 'DescribeMasterSlaveServerGroups'], + ['description' => 'Request parameters changed', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2023-10-25T04:10:17.000Z', + 'description' => '', + ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'slb.cn-qingdao.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddTags'], + ['description' => 'Error codes changed', 'api' => 'AddVServerGroupBackendServers'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2023-09-26T08:59:55.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'slb.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2023-09-26T07:22:42.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'slb.cn-zhangjiakou.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddTags'], + ['description' => 'Error codes changed', 'api' => 'AddVServerGroupBackendServers'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'Error codes changed', 'api' => 'CreateVServerGroup'], + ['description' => 'Error codes changed', 'api' => 'DescribeAccessControlLists'], + ['description' => 'Error codes changed', 'api' => 'DescribeCACertificates'], + ['description' => 'Error codes changed', 'api' => 'DescribeHealthStatus'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerAttribute'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancers'], + ], + 'createdAt' => '2023-09-08T09:12:41.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'slb.cn-zhengzhou-jva.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeAccessControlLists'], + ['description' => 'Response parameters changed', 'api' => 'DescribeCACertificates'], + ['description' => 'Response parameters changed', 'api' => 'DescribeServerCertificates'], + ], + 'createdAt' => '2023-07-04T11:58:54.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'slb.cn-huhehaote.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeAccessControlLists'], + ['description' => 'Request parameters changed', 'api' => 'DescribeCACertificates'], + ['description' => 'Request parameters changed', 'api' => 'DescribeLoadBalancerListeners'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeLoadBalancers'], + ['description' => 'Request parameters changed', 'api' => 'DescribeMasterSlaveServerGroups'], + ['description' => 'Request parameters changed', 'api' => 'DescribeServerCertificates'], + ['description' => 'Request parameters changed', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2023-07-04T10:01:58.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'slb.cn-wulanchabu.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2023-06-06T09:06:30.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'slb.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2023-06-06T06:27:29.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'slb.cn-shanghai.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateAccessControlList'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancer'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerHTTPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerUDPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateMasterSlaveServerGroup'], + ['description' => 'Request parameters changed', 'api' => 'CreateVServerGroup'], + ['description' => 'Request parameters changed', 'api' => 'UploadCACertificate'], + ['description' => 'Request parameters changed', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2023-06-02T03:41:52.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'slb.cn-nanjing.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeAccessControlListAttribute'], + ], + 'createdAt' => '2023-03-24T08:20:44.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'slb.cn-fuzhou.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddBackendServers'], + ['description' => 'Error codes changed', 'api' => 'AddVServerGroupBackendServers'], + ['description' => 'Error codes changed', 'api' => 'RemoveAccessControlListEntry'], + ['description' => 'Error codes changed', 'api' => 'RemoveBackendServers'], + ], + 'createdAt' => '2022-12-27T08:30:55.000Z', + 'description' => '企业能力治理,增加错误码映射。', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'slb.cn-shenzhen.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeAccessLogsDownloadAttribute'], + ], + 'createdAt' => '2022-12-22T02:25:11.000Z', + 'description' => '秒级监控,访问日志', ], [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'slb.cn-heyuan.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2022-12-16T12:56:23.000Z', + 'description' => '资源', ], [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'slb.cn-guangzhou.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2022-12-14T12:26:57.000Z', + 'description' => '资源发布', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'slb.cn-chengdu.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerAttribute'], + ], + 'createdAt' => '2022-12-14T03:28:31.000Z', + 'description' => '资源发布', ], [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'slb.cn-wuhan-lr.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerHTTPListenerAttribute'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2022-12-13T08:52:04.000Z', + 'description' => '新增私有字段', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'slb.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddAccessControlListEntry'], + ], + 'createdAt' => '2022-12-06T15:11:45.000Z', + 'description' => '优化acl报错信息', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddAccessControlListEntry'], + ], + 'createdAt' => '2022-12-06T14:39:42.000Z', + 'description' => '优化添加acl的报错信息,增加冲突的目标acl提示', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeVServerGroupAttribute'], + ], + 'createdAt' => '2022-11-04T14:45:02.000Z', + 'description' => '更新资源数据', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'slb.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => 'Request parameters changed', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2022-11-03T13:10:32.000Z', + 'description' => 'ppv2', ], [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'slb.ap-northeast-2.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeLoadBalancerListeners'], + ], + 'createdAt' => '2022-11-02T12:43:19.000Z', + 'description' => '接口修改', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'slb.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeleteLoadBalancer'], + ], + 'createdAt' => '2022-10-18T15:21:10.000Z', + 'description' => '解绑成eip', ], [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'slb.ap-southeast-2.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerTCPListener'], + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancerUDPListener'], + ], + 'createdAt' => '2022-10-11T15:07:30.000Z', + 'description' => '开放健康检测开关', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'slb.ap-southeast-3.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeAccessControlListAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeAccessControlLists'], + ['description' => 'Response parameters changed', 'api' => 'DescribeMasterSlaveServerGroupAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeMasterSlaveServerGroups'], + ['description' => 'Response parameters changed', 'api' => 'DescribeVServerGroupAttribute'], + ['description' => 'Response parameters changed', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2022-09-29T12:46:49.000Z', + 'description' => '增加createTime字段', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'slb.ap-southeast-5.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeAccessLogsDownloadAttribute'], + ], + 'createdAt' => '2022-09-19T06:14:37.000Z', + 'description' => 'DescribeAccessLogsDownloadAttribute 接口发布', ], [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'slb.ap-southeast-6.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2022-08-23T11:35:22.000Z', + 'description' => '国际站IntanceType可见', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'slb.us-east-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'ModifyLoadBalancerInstanceChargeType'], + ], + 'createdAt' => '2022-08-03T08:11:37.000Z', + 'description' => 'luc to spec', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'slb.us-west-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeLoadBalancerTCPListenerAttribute'], + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeLoadBalancerUDPListenerAttribute'], + ['description' => 'Request parameters changed', 'api' => 'SetLoadBalancerTCPListenerAttribute'], + ['description' => 'Request parameters changed', 'api' => 'SetLoadBalancerUDPListenerAttribute'], + ], + 'createdAt' => '2022-07-27T09:51:42.000Z', + 'description' => 'pp功能', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'slb.eu-west-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'ModifyLoadBalancerInternetSpec'], + ], + 'createdAt' => '2022-05-06T03:54:48.000Z', + 'description' => '增加错误码映射', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'slb.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ['description' => 'Error codes changed', 'api' => 'DescribeLoadBalancerAttribute'], + ['description' => 'Error codes changed', 'api' => 'ModifyLoadBalancerInstanceSpec'], + ['description' => 'Error codes changed', 'api' => 'ModifyLoadBalancerPayType'], + ['description' => 'Error codes changed', 'api' => 'UploadServerCertificate'], + ], + 'createdAt' => '2022-04-28T14:57:11.000Z', + 'description' => 'CLB支持CU计费', ], [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'slb.ap-south-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateDomainExtension'], + ], + 'createdAt' => '2022-03-24T09:45:51.000Z', + 'description' => '错误码映射', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'slb.me-east-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeHealthStatusEx'], + ], + 'createdAt' => '2022-02-24T11:24:11.000Z', + 'description' => '更新最新特性', ], [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'slb.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'SetAccessControlListAttribute'], + ], + 'createdAt' => '2022-02-23T08:09:55.000Z', + 'description' => '1. SetAccessControlListAttribute 去掉返回参数重的AclId', ], [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'slb.aliyuncs.com', + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateTLSCipherPolicy'], + ['description' => 'Request parameters changed', 'api' => 'DeleteTLSCipherPolicy'], + ['description' => 'Request parameters changed', 'api' => 'ListTLSCipherPolicies'], + ['description' => 'Request parameters changed', 'api' => 'SetTLSCipherPolicyAttribute'], + ], + 'createdAt' => '2022-01-18T02:28:35.000Z', + 'description' => 'Support Latest APIs', ], [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'slb.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancer'], + ], + 'createdAt' => '2021-12-15T08:30:47.000Z', + 'description' => '新增错误吗映射', ], [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'slb.ap-southeast-7.aliyuncs.com', + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeVServerGroups'], + ], + 'createdAt' => '2021-12-14T03:59:43.000Z', + 'description' => '虚拟服务器组支持返回后端数量', ], [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'slb.cn-beijing-finance-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateLoadBalancerHTTPSListener'], + ['description' => 'Error codes changed', 'api' => 'SetLoadBalancerHTTPSListenerAttribute'], + ], + 'createdAt' => '2021-12-08T15:31:28.000Z', + 'description' => '补充错误码', ], [ - 'regionId' => 'me-central-1', - 'endpoint' => 'slb.me-central-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'RemoveVServerGroupBackendServers'], + ], + 'createdAt' => '2021-10-13T14:15:37.000Z', + 'description' => '错误码映射', ], [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'slb.cn-heyuan-acdr-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateVServerGroup'], + ], + 'createdAt' => '2021-10-13T09:51:59.000Z', + 'description' => '增加错误码映射', ], [ - 'regionId' => 'na-south-1', - 'endpoint' => 'slb.na-south-1.aliyuncs.com', + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateDomainExtension'], + ['description' => 'Error codes changed', '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' => 'Slb'], + ], + 'ram' => [ + 'productCode' => 'SLB', + 'productName' => 'Server Load Balancer', + 'ramCodes' => ['slb'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [ + [ + 'name' => 'slb:tag', + 'schema' => ['type' => 'String', 'description' => 'SLB tag, it is no longer maintained from 2023-05-01, the global conditions acs:RequestTag and acs:ResourceTag are recommended'], + ], + [ + 'name' => 'slb:AddressType', + 'schema' => [ + 'type' => 'String', + 'description' => 'The address type of Classic Server Load Balancer', + 'enums' => ['internet', 'intranet'], + ], + ], + [ + 'name' => 'slb:AclName', + 'schema' => ['type' => 'String', 'description' => 'The name of network ACL, Example: 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'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + [ + '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'], + ], + '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' => 'DescribeDomainExtensions', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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'], + ], + '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' => 'ListMonitorLogs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:ListMonitorLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeVPCRelatedLoadBalancers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeVPCRelatedLoadBalancers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeAccessControlLists', + 'description' => '', + '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/*'], + ], + ], + ], + [ + 'apiName' => 'ListTLSCipherPolicies', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:ListTLSCipherPolicies', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:tlspolicy/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerAutoReleaseTime', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerAutoReleaseTime', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AddAccessControlListEntry', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'AddNcServers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:AddNcServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerTCPListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeMasterSlaveServerGroupAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'DeleteCACertificate', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'UploadServerCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:UploadServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateDomainExtension', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetNcServers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetNcServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeRuleAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetRuleAttributeEx', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetRuleAttributeEx', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteMasterSlaveServerGroup', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'SwitchMasterSlaveServerGroup', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SwitchMasterSlaveServerGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeAccessControlListAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'DeleteTLSCipherPolicy', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'slb:DeleteTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#TLSCipherPolicyId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerSummaryForGlobal', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerSummaryForGlobal', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'ModifyLoadBalancerInstanceSpec', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'RemoveAccessControlListEntry', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'ServiceManagedControl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:ServiceManagedControl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateLoadBalancerUDPListener', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetAccessControlListEntryAttribute', + 'description' => '', + 'operationType' => 'update', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetHighDefinitionMonitorLogStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetHighDefinitionMonitorLogStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeCACertificates', + 'description' => '', + '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/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeAccessLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DeleteAccessControlList', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'CreateLoadBalancerTCPListener', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerBackendServers', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancerBackendServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetCACertificateName', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeTags', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeTags', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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'], + ], + '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}'], + ], + ], + ], + [ + 'apiName' => 'EnableMonitorLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:EnableMonitorLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', '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}'], + ], + ], + ], + [ + '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'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + [ + 'apiName' => 'UploadCACertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:UploadCACertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'CaCertificate', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:certificate/*'], + ], + ], + ], + [ + 'apiName' => 'DisableHighDefinationMonitor', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DisableHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerUDPListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetAccessLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetAccessLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'], + ], + ], + ], + [ + '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' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetListenerSecurityStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetListenerSecurityStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeSlbQuotas', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeSlbQuotas', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetLoadBalancerUDPListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'EnableVpcVipFlow', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:EnableVpcVipFlow', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeAliCloudCertificates', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'slb:DescribeAliCloudCertificates', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerHTTPSListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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/*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetLoadBalancerHTTPListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'DisableMonitorLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DisableMonitorLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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/*'], + ], + ], + ], + [ + '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' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'CheckProductFeatureControl', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:CheckProductFeatureControl', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + [ + 'apiName' => 'CreateRules', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLogsDownloadAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DiagnoseHealthCheckStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DiagnoseHealthCheckStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancersEcs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancersEcs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeHighDefinitionMonitorLogAttribute', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeHighDefinitionMonitorLogAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancersPro', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'slb:DescribeLoadBalancersPro', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'CreateTLSCipherPolicy', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:CreateTLSCipherPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLoadBalancerHTTPListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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/*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeRuleAttributeEx', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DescribeRuleAttributeEx', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'CreateLoadBalancerHTTPSListener', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetLoadBalancerHTTPSListenerAttribute', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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/*'], + ], + ], + ], + [ + 'apiName' => 'DescribeServerCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeServerCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetRule', + 'description' => '', + '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}'], + ], + ], + ], + [ + 'apiName' => 'CreateLoadBalancerHTTPListener', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'SetAutoRenewStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetAutoRenewStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyLoadBalancerInstanceChargeType', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyLoadBalancerInstanceChargeType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + [ + 'apiName' => 'RemoveNcServers', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:RemoveNcServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetTLSCipherPolicyAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:SetTLSCipherPolicyAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'TLSPolicy', 'arn' => 'acs:slb:{#regionId}:{#accountId}:tlspolicy/{#InstanceId}'], + ], + ], + ], + [ + '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'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'loadbalancer', 'arn' => 'acs:slb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DeleteLogsDownloadAttribute', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:DeleteLogsDownloadAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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/*'], + ], + ], + ], + [ + 'apiName' => 'ModifyHighDefinationMonitor', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'slb:ModifyHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeHighDefinationMonitor', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + '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/*'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'DescribeLogsDownloadStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'slb:DescribeLogsDownloadStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SetLogsDownloadStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'slb:SetLogsDownloadStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyLoadBalancerInternetSpec', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + 'apiName' => 'EnableHighDefinationMonitor', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'slb:EnableHighDefinationMonitor', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SLB', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RemoveListenerWhiteListItem', + 'description' => '', + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + [ + '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}'], + ], + ], + ], + ], + '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}'], ], ], ]; |
