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/zh_cn/expressconnectrouter | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/zh_cn/expressconnectrouter')
| -rw-r--r-- | data/zh_cn/expressconnectrouter/2023-09-01/api-docs.php | 10762 |
1 files changed, 4028 insertions, 6734 deletions
diff --git a/data/zh_cn/expressconnectrouter/2023-09-01/api-docs.php b/data/zh_cn/expressconnectrouter/2023-09-01/api-docs.php index a5708b3..5f74bc7 100644 --- a/data/zh_cn/expressconnectrouter/2023-09-01/api-docs.php +++ b/data/zh_cn/expressconnectrouter/2023-09-01/api-docs.php @@ -1,546 +1,302 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'ExpressConnectRouter', - 'version' => '2023-09-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'ExpressConnectRouter', 'version' => '2023-09-01'], 'directories' => [ [ - 'id' => 249196, - 'title' => '地域', + 'children' => ['DescribeExpressConnectRouterRegion', 'ListExpressConnectRouterSupportedRegion', 'SynchronizeExpressConnectRouterInterRegionBandwidth', 'CheckAddRegionToExpressConnectRouter'], 'type' => 'directory', - 'children' => [ - 'DescribeExpressConnectRouterRegion', - 'ListExpressConnectRouterSupportedRegion', - 'SynchronizeExpressConnectRouterInterRegionBandwidth', - 'CheckAddRegionToExpressConnectRouter', - ], + 'title' => '地域', + 'id' => 49099, ], [ - 'id' => 249201, - 'title' => '子实例管理', + 'children' => ['ModifyExpressConnectRouterChildInstance', 'ModifyExpressConnectRouterAssociation', 'AttachExpressConnectRouterChildInstance', 'DetachExpressConnectRouterChildInstance', 'DescribeExpressConnectRouterChildInstance', 'DescribeInstanceGrantedToExpressConnectRouter', 'RevokeInstanceFromExpressConnectRouter', 'GrantInstanceToExpressConnectRouter'], 'type' => 'directory', - 'children' => [ - 'ModifyExpressConnectRouterChildInstance', - 'ModifyExpressConnectRouterAssociation', - 'AttachExpressConnectRouterChildInstance', - 'DetachExpressConnectRouterChildInstance', - 'DescribeExpressConnectRouterChildInstance', - 'DescribeInstanceGrantedToExpressConnectRouter', - 'RevokeInstanceFromExpressConnectRouter', - 'GrantInstanceToExpressConnectRouter', - ], + 'title' => '子实例管理', + 'id' => 49104, ], [ - 'id' => 249210, - 'title' => '资源关联关系', + 'children' => ['CreateExpressConnectRouterAssociation', 'DeleteExpressConnectRouterAssociation', 'DescribeExpressConnectRouterAssociation'], 'type' => 'directory', - 'children' => [ - 'CreateExpressConnectRouterAssociation', - 'DeleteExpressConnectRouterAssociation', - 'DescribeExpressConnectRouterAssociation', - ], + 'title' => '资源关联关系', + 'id' => 49111, ], [ - 'id' => 249214, - 'title' => '专线网关路由项', + 'children' => ['DisableExpressConnectRouterRouteEntries', 'EnableExpressConnectRouterRouteEntries', 'DescribeDisabledExpressConnectRouterRouteEntries', 'DescribeExpressConnectRouterRouteEntries'], 'type' => 'directory', - 'children' => [ - 'DisableExpressConnectRouterRouteEntries', - 'EnableExpressConnectRouterRouteEntries', - 'DescribeDisabledExpressConnectRouterRouteEntries', - 'DescribeExpressConnectRouterRouteEntries', - ], + 'title' => '专线网关路由项', + 'id' => 49115, ], [ - 'id' => 249219, - 'title' => '标签及资源组', + 'children' => ['CreateExpressConnectRouter', 'DeleteExpressConnectRouter', 'ModifyExpressConnectRouterInterRegionTransitMode', 'ModifyExpressConnectRouterAssociationAllowedPrefix', 'ModifyExpressConnectRouter', 'DescribeExpressConnectRouterInterRegionTransitMode', 'DescribeExpressConnectRouterAllowedPrefixHistory', 'DescribeExpressConnectRouter', 'ForceDeleteExpressConnectRouter'], 'type' => 'directory', - 'children' => [ - 'MoveResourceGroup', - 'ListTagResources', - 'UntagResources', - ], + 'title' => '专线网关(ECR)', + 'id' => 49124, ], [ - 'id' => 249223, - 'title' => '专线网关(ECR)', + 'children' => ['CreateFlowLog', 'DeactivateFlowLog', 'DeleteFlowlog', 'DescribeFlowLogs', 'ActivateFlowLog', 'ModifyFlowLogAttribute'], 'type' => 'directory', - 'children' => [ - 'CreateExpressConnectRouter', - 'DeleteExpressConnectRouter', - 'ModifyExpressConnectRouterInterRegionTransitMode', - 'ModifyExpressConnectRouterAssociationAllowedPrefix', - 'ModifyExpressConnectRouter', - 'DescribeExpressConnectRouterInterRegionTransitMode', - 'DescribeExpressConnectRouterAllowedPrefixHistory', - 'DescribeExpressConnectRouter', - 'ForceDeleteExpressConnectRouter', - ], + 'title' => '流日志', + 'id' => 49091, ], [ - 'id' => 249233, - 'title' => '流日志', + 'children' => ['TagResources', 'UntagResources', 'ListTagResources', 'MoveResourceGroup'], 'type' => 'directory', - 'children' => [ - 'CreateFlowLog', - 'DeleteFlowlog', - 'ModifyFlowLogAttribute', - 'DescribeFlowLogs', - 'DeactivateFlowLog', - 'ActivateFlowLog', - 'TagResources', - ], + 'title' => '标签及资源组', + 'id' => 459434, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeExpressConnectRouterRegion' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)相关资源的所在地域列表。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ActivateFlowLog' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199494', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '254020', + 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '要查询的专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'formData', + 'schema' => ['description' => '流日志实例ID。', 'type' => 'string', 'required' => true, 'example' => 'flowlog-m5evbtbpt****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeEcrRegionResponse>', - 'description' => 'RpcResponse<DescribeEcrRegionResponse>', + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage **返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage **返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'RegionIdList' => [ - 'description' => '存在子资源的地域列表。', - 'type' => 'array', - 'items' => [ - 'description' => '存在子资源的地域。', - 'type' => 'string', - 'example' => '[\\"cn-shanghai\\"]', - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '启用流日志', + 'summary' => '流日志开启日志投递。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActivateFlowLog'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ActivateFlowLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"RegionIdList\\": [\\n \\"[\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\"]\\"\\n ]\\n}","type":"json"}]', - 'title' => '查询专线网关(ECR)相关资源的所在地域列表', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], - 'ListExpressConnectRouterSupportedRegion' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)开服地域列表。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'AttachExpressConnectRouterChildInstance' => [ + 'summary' => '加载子实例(VBR)至ECR。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '213773', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '197608', + 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'NodeType', + 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **TR**:转发路由器实例。'."\n" - .'- **VBR**:边界路由器实例。'."\n" - .'- **VPC**:虚拟专有网络实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-a5xqrgbeidz1w8****'], ], [ - 'name' => 'ClientToken', + 'name' => 'ChildInstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'RpcResponse<ListEcrSupportedRegionResponse>', - 'description' => '返回数据结构体。', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- True:成功。'."\n" - .'- False:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'SupportedRegionIdList' => [ - 'description' => '开服地域列表。', - 'type' => 'array', - 'items' => [ - 'description' => '开服地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], + 'schema' => ['description' => 'VBR实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"SupportedRegionIdList\\": [\\n \\"cn-hangzhou\\"\\n ]\\n}","type":"json"}]', - 'title' => '查询专线网关(ECR)开服地域列表', - ], - 'SynchronizeExpressConnectRouterInterRegionBandwidth' => [ - 'summary' => '同步专线网关ECR(Express Connect Router)的各地域之间的转发带宽限制。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的类型,取值:**VBR**边界路由器。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '197625', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect9IGKFS', + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'formData', + 'schema' => ['description' => 'VBR实例所在的地域。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], - ], - 'parameters' => [ [ - 'name' => 'EcrId', + 'name' => 'ChildInstanceOwnerId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****', - ], + 'schema' => ['description' => 'VBR实例所属的阿里云账号ID(主账号)。'."\n" + ."\n" + .'>如果您要加载跨账号的网络实例,本参数必填。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1905501448682345'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '子实例的描述信息。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<SyncEcrBandwidthResponse>', - 'description' => 'RpcResponse<SyncEcrBandwidthResponse>', + 'title' => 'RpcResponse<AttachChildInstanceResponse>', + 'description' => 'RpcResponse<AttachChildInstanceResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsInstanceId**,则代表所传入的请求参数**DtsInstanceId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'ECR Association实例不允许当前操作。请在进行中的操作完成后,重试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'OperationDenied.CrossAccountDisassociating', 'errorMessage' => 'Unbind cross-account.', 'description' => '当前操作被拒绝,需在跨账号页面解除绑定操作后再执行此操作'], + ['errorCode' => 'OperationDenied.EcrAttachmentExisted', 'errorMessage' => 'Ecr and TR have been linked.', 'description' => '当前操作被拒绝,专线网关实例与TR已建立链接,请解除后再执行此操作。'], + ['errorCode' => 'OperationDenied.VbrDoesNotSupportMpbgp', 'errorMessage' => 'The VBR does not support Mpbgp configuration.', 'description' => '操作被拒绝,VBR暂不支持Mpbgp,'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'Conflict.ASNOfVBR', 'errorMessage' => 'ASN already used by other VBR.', 'description' => '当前VBR BgpGroup localAsn与ECR asn不一致,请调整一致后重新绑定。'], + ['errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.', 'description' => '当前操作无法正常执行,边界路由器中存在路由条目处于配置生效中,请等待生效后重试。'], + ['errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.', 'description' => '当前操作无法正常执行,边界路由器中存在BGP组处于配置生效中,请等待生效后重试。'], + ['errorCode' => 'OperationDenied.VbrAlreadyAttachedToCen', 'errorMessage' => 'VBR has already attached to CEN.', 'description' => '边界路由器已经绑定了云企业网, 请先将边界路由器从云企业网中删除后重试。'], + ['errorCode' => 'OperationDenied.VbrAlreadyAttachedToEcr', 'errorMessage' => 'VBR has already attached to ECR.', 'description' => '边界路由器已经关联了专线网关,先将边界路由器从专线网关中删除后重试。'], + ['errorCode' => 'ResourceAlreadyExist.ChildInstanceId', 'errorMessage' => 'The specified resource of ChildInstanceId already exists.', 'description' => '指定的资源已经关联到专线网关 ECR, 请核对后重试。'], + ['errorCode' => 'UnsupportedFeature.JumboFrame', 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.', 'description' => ''], + ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '内部错误。建议重试,如果多次重试报错请提交工单。'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], + ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '加载子实例至专线网关(ECR)', + 'description' => '在调用**AttachExpressConnectRouterChildInstance**接口加载子实例(VBR)至专线网关之前,请确保专线网关的状态为**Active**。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachExpressConnectRouterChildInstance'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:AttachExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '同步专线网关ECR的跨域带宽', - 'description' => '专线网关实例为**Active**状态时才允许更新。', ], 'CheckAddRegionToExpressConnectRouter' => [ - 'summary' => '检查指定的地域加入专线网关所需的云数据传输服务。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -553,60 +309,36 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '197604', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'FreshRegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '指定专线网关功能是否开通云数据传输服务的地域。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '指定专线网关功能是否开通云数据传输服务的地域。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- true:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- false(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- true:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- false(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ @@ -616,388 +348,222 @@ 'description' => 'RpcResponse<CheckAssociationCreationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsInstanceId**,则代表所传入的请求参数**DtsInstanceId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'AnyInterRegionLink' => [ - 'description' => '专线网关实例是否存在中国内地跨地域。取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'AnyCrossBorderLink' => [ - 'description' => '专线网关实例是否存在中国内地与中国境外跨境。取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'IsCdtInterRegionEnabled' => [ - 'description' => '专线网关实例所属账号是否开通云数据传输(CDT)服务。取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'IsCdtCrossBorderEnabled' => [ - 'description' => '专线网关实例所属账号是否开通跨境云数据传输(CDT)服务。取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'IsUserAllowedToCreateCrossBorderLink' => [ - 'description' => '专线网关实例所属账号是否允许创建跨境。取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsInstanceId**,则代表所传入的请求参数**DtsInstanceId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'AnyInterRegionLink' => ['description' => '专线网关实例是否存在中国内地跨地域。取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'AnyCrossBorderLink' => ['description' => '专线网关实例是否存在中国内地与中国境外跨境。取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'IsCdtInterRegionEnabled' => ['description' => '专线网关实例所属账号是否开通云数据传输(CDT)服务。取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'IsCdtCrossBorderEnabled' => ['description' => '专线网关实例所属账号是否开通跨境云数据传输(CDT)服务。取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], + 'IsUserAllowedToCreateCrossBorderLink' => ['description' => '专线网关实例所属账号是否允许创建跨境。取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'InternalErrorTemp', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '内部错误。建议重试,如果多次重试报错请提交工单。'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"AnyInterRegionLink\\": true,\\n \\"AnyCrossBorderLink\\": true,\\n \\"IsCdtInterRegionEnabled\\": true,\\n \\"IsCdtCrossBorderEnabled\\": true,\\n \\"IsUserAllowedToCreateCrossBorderLink\\": true\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '检查指定的地域加入专线网关(ECR)所需的云数据传输(CDT)服务', - ], - 'ModifyExpressConnectRouterChildInstance' => [ - 'summary' => '修改专线网关(ExpressConnectRouter)关联子实例(VBR)的属性。', - 'methods' => [ - 'post', + 'summary' => '检查指定的地域加入专线网关所需的云数据传输服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckAddRegionToExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CheckAddRegionToExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"AnyInterRegionLink\\": true,\\n \\"AnyCrossBorderLink\\": true,\\n \\"IsCdtInterRegionEnabled\\": true,\\n \\"IsCdtCrossBorderEnabled\\": true,\\n \\"IsUserAllowedToCreateCrossBorderLink\\": true\\n}","type":"json"}]', + ], + 'CreateExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '246043', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectY33HGU', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '197622', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'EcrId', + 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-gny3gqp41n7vrrn5iz', - ], + 'schema' => ['description' => '专线网关实例的名称。'."\n" + .'> 名称可以为空或长度为 0~128 个字符,不能以 http://或 https://开头。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'ChildInstanceId', + 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => 'VBR实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vbr-t4n6xu2d5q0iaad1yl4le', - ], + 'schema' => ['description' => '专线网关实例的描述。'."\n" + ."\n" + .'>描述可以为空或长度为 0~256 个字符,不能以 http://或 https://开头。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'ChildInstanceType', + 'name' => 'ResourceGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', - ], + 'schema' => ['description' => '专线网关实例所属的资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmvvajg5q****'], ], [ - 'name' => 'Description', + 'name' => 'AlibabaSideAsn', 'in' => 'formData', - 'schema' => [ - 'description' => '子实例的描述信息。长度为0~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '专线网关实例的ASN。可取值为45104(默认值),64512~65534和4200000000~4294967294,其中65025为阿里云保留值。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '45104'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00**** '], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + 'description' => '标签。'."\n" ."\n" - .'> '."\n" - .'> - 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', - 'type' => 'string', + .'最多可以绑定20个标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + 'maxItems' => 20, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ModifyEcrResponse>', - 'description' => 'RpcResponse<ModifyEcrResponse>', + 'title' => 'RpcResponse<CreateEcrResponse>', + 'description' => 'RpcResponse<CreateEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'DEB383C4-32C9-53DC-9B8B-8DBA26038074', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示成功,返回其他值表示失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'successful', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '创建ECR实例是否成功。取值:'."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断创建ECR实例是否成功。返回值为200表示创建成功,返回其他值表示创建失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.Name'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of Name **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'EcrId' => ['description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-fu8rszhgv7623c****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'ResourceNotFound.InstanceId', - 'errorMessage' => 'The instance id does not exist.', - ], - [ - 'errorCode' => 'QuotaExceeded.ChildInstanceNum', - 'errorMessage' => 'The number of sub-instances in the switching group exceeds threshold.', - ], - [ - 'errorCode' => 'OperationFailed.NotSupportAcrossRegion', - 'errorMessage' => 'Switching groups cannot be formed across regional sub-instances.', - ], - [ - 'errorCode' => 'OperationFailed.NotSupportAcrossAccount', - 'errorMessage' => 'Switching groups cannot be formed across account sub-instances.', - ], - [ - 'errorCode' => 'ResourceInConfiguring.NodeId', - 'errorMessage' => 'The current subInstance is not in steady state, please try again later.', - ], - [ - 'errorCode' => 'IncorrectStatus.HaVbrGroup', - 'errorMessage' => 'The current state of the switching group is not steady state, please try again later.', - ], - [ - 'errorCode' => 'IncorrectStatus.Vbr', - 'errorMessage' => 'The current VBR is not in steady state, please try again later.', - ], - [ - 'errorCode' => 'OperationFailed.VbrInUsedByOtherHa', - 'errorMessage' => 'The VBR in the input switching group is already in another switching group.', - ], - [ - 'errorCode' => 'OperationFailed.VbrBgpPeerNotEnableBfd', - 'errorMessage' => 'The configured BGP PEER of the input VBR in the switching group does not enable BFD.', - ], - [ - 'errorCode' => 'OperationFailed.VbrEcrNotRelation', - 'errorMessage' => 'The VBR in the switching group is not bound to ECR.', - ], - [ - 'errorCode' => 'DeviceNotSupport.EcrVbrHa', - 'errorMessage' => 'The access device where the VBR is located does not support configuring a switching group.', - ], - [ - 'errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotSupport', - 'errorMessage' => 'The BGP group AS number of the VBR configuration in the switching group is not supported.', - ], - [ - 'errorCode' => 'OperationFailed.VbrAccessDeviceSame', - 'errorMessage' => 'The VBR on the same access device cannot be added to a switching group.', - ], - [ - 'errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithEcr', - 'errorMessage' => 'The AS number of the BGP group of the VBR added to the switching group is different from the AS number of the ECR.', - ], - [ - 'errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithOther', - 'errorMessage' => 'The BGP group AS number of the VBR configuration in the switching group is not exactly the same.', - ], - [ - 'errorCode' => 'OperationFailed.VbrEcrNotConsistent', - 'errorMessage' => 'The VBR in the switching group is not bound to the same ECR.', - ], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'OperationFailed.UserNotInWhiteList', 'errorMessage' => 'The current user is not in the whitelist.', 'description' => '专线网关产品通过白名单开放,当前用户没有操作权限。请联系客服人员将当前用户添加至白名单。'], + ['errorCode' => 'QuotaExceeded.EcrCountPerUser', 'errorMessage' => 'ECR Quota Exceeded.', 'description' => '您可创建的专线网关实例数量已达到配额上限,请联系您的商务经理申请更大的配额数量'], + ['errorCode' => 'Conflict.ASNOfECR', 'errorMessage' => 'ASN already used by other ECR.', 'description' => '指定的ASN被其它专线网关占用,请换成其它未使用的ASN。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParam.AlibabaSideAsn', 'errorMessage' => 'The entered Bgp Asn is incorrect.', 'description' => '当前输入的BgpAsn不正确,请检查后重新输入'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '新建专线网关(ECR)', + 'summary' => '新建专线网关ECR(Express Connect Router)。', + 'description' => '创建专线网关实例后,专线网关的实例状态为**Active**。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouter'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CreateExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'], + ], + ], + 'additionalActions' => [ + ['action' => 'expressconnectrouter:CreateServiceLinkedRole'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DEB383C4-32C9-53DC-9B8B-8DBA26038074\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '修改专线网关关联子实例属性', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\"\\n}","type":"json"}]', ], - 'ModifyExpressConnectRouterAssociation' => [ - 'summary' => '修改专线网关ECR(Express Connect Router)关联的子实例属性。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateExpressConnectRouterAssociation' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1006,1337 +572,738 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '246041', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectY33HGU', - ], + 'abilityTreeCode' => '197620', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0'], + 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****'."\n", - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'AssociationId', + 'name' => 'AssociationRegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", - ], + 'schema' => ['description' => '关联资源所属的地域。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Description', + 'name' => 'TransitRouterOwnerId', 'in' => 'formData', + 'schema' => ['description' => '转发路由器实例所属阿里云账号(主账号)ID。默认值为当前登录的阿里云账号ID。'."\n" + ."\n" + .'> 如果您要加载跨账号的网络实例,本参数必填。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '189159362009****'], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'formData', + 'schema' => ['description' => '转发路由器ID。', 'type' => 'string', 'required' => false, 'example' => 'tr-2ze4i71c6be454e2l****'], + ], + [ + 'name' => 'CenId', + 'in' => 'formData', + 'schema' => ['description' => '云企业网实例ID。', 'type' => 'string', 'required' => false, 'example' => 'cen-of3o1the3i4gwb****'], + ], + [ + 'name' => 'VpcOwnerId', + 'in' => 'formData', + 'schema' => ['description' => 'VPC实例所属阿里云账号(主账号)ID。默认为当前登录的阿里云账号ID。'."\n" + ."\n" + .'> 如果您要加载跨账号的网络实例,本参数必填。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '132193271328****'], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => ['description' => 'VPC实例ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h37fchc6jmfyln****'], + ], + [ + 'name' => 'AllowedPrefixes', + 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '子实例的描述信息。长度为0~128个字符。', - 'type' => 'string', + 'description' => '允许的前缀路由列表。', + 'type' => 'array', + 'items' => ['description' => '允许的前缀路由。', 'type' => 'string', 'required' => false, 'example' => '192.0.20.0/24'], 'required' => false, - 'example' => 'test', + 'maxItems' => 10000, ], ], [ + 'name' => 'CreateAttachment', + 'in' => 'formData', + 'schema' => ['description' => 'ECR绑定TR时是否发起关联。取值:'."\n" + ."\n" + .'- **true**:不需要在转发路由器侧发起关联。'."\n" + .'- **false**:需要在转发路由器侧发起关联。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- true:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- false(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], + ], + [ + 'name' => 'AllowedPrefixesMode', + 'in' => 'formData', + 'schema' => ['description' => '前缀路由模式,取值:'."\n" + .'- MatchMode: 匹配模式, 仅发布配置的路由网段到IDC,对原有发布的明细路由进行回撤。'."\n" + .'- IncrementalMode: 增量模式, 发布配置的路由网段到IDC的同时对原有发布落在配置的路由网段内的明细路由进行回撤,未落在配置的网段内的明细路由保持发布。', 'type' => 'string', 'required' => false, 'example' => 'MatchMode'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '关联资源的描述信息。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> '."\n" - .'> - 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['type' => 'string'], + 'Value' => ['type' => 'string'], + ], + ], + 'maxItems' => 20, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ModifyEcrResponse>', - 'description' => 'RpcResponse<ModifyEcrResponse>', + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'DFDA79A0-D135-5193-B0AC-3B5608FDB1D0', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示成功,返回其他值表示失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'AssociationId' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'QuotaExceeded.VpcCountPerEcr', 'errorMessage' => 'The number of VPC bound to the ECR exceeds the quota.', 'description' => '单个专线网关实例可绑定的VPC数量已达到配额上限,请联系您的商务经理申请更大的配额数量'], + ['errorCode' => 'QuotaExceeded.TrCountPerEcr', 'errorMessage' => 'The number of TR bound to the ECR exceeds the quota.', 'description' => '单个专线网关实例可绑定的TR数量已达到配额上限,请联系您的商务经理申请更大的配额数量'], + ['errorCode' => 'IllegalParamFormat.AllowedPrefixes', 'errorMessage' => 'The prefix parameter format is invalid. Procedure.', 'description' => '指定的前缀路由网段格式错误。'], + ['errorCode' => 'OperationDenied.NotGrantedByNodeOwner', 'errorMessage' => 'The node owner is not authorized.', 'description' => '您当前操作被拒绝,专线网关产品未授权'], + ['errorCode' => 'OperationFailed.CdtNotOpened', 'errorMessage' => 'The Cdt function is disabled.', 'description' => '当前操作失败,未开启阿里云数据传输功能'], + ['errorCode' => 'OperationFailed.CdtCrossBoarderNotOpened', 'errorMessage' => 'The Cdt cross-border transmission function is disabled.', 'description' => '当前操作失败,未开启阿里云数据跨境传输功能'], + ['errorCode' => 'OperationFailed.CrossBorderNotAllowed', 'errorMessage' => 'There is no qualification for creating cross-border links.', 'description' => '操作失败,当前企业不具备创建跨境链路权限,请联系您的商务经理添加此权限。'], + ['errorCode' => 'ResourceNotFound.CenId', 'errorMessage' => 'CenId not found.', 'description' => 'Cen实例不存在'], + ['errorCode' => 'ResourceNotFound.TrId', 'errorMessage' => 'TRId not found.', 'description' => 'TR实例不存在'], + ['errorCode' => 'Conflict.ASNOfVBR', 'errorMessage' => 'ASN already used by other VBR.', 'description' => '当前VBR BgpGroup localAsn与ECR asn不一致,请调整一致后重新绑定。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParamFormat.CenId', 'errorMessage' => 'The format of the entered Cen instance ID is incorrect.', 'description' => '当前输入的Cen实例ID格式不正确'], + ['errorCode' => 'OperationDenied.CrossBidAssociating', 'errorMessage' => 'Cross-border binding of resources is subject to compliance constraints.', 'description' => '您当前的绑定资源涉及跨中国站点资源和海外站点资源互通,受限于合规约束请联系您的商务经理沟通处理。'], + ['errorCode' => 'ExclusiveParam.TransitRouterIdAndVpcId', 'errorMessage' => 'A private network instance cannot be bound to a forwarding router instance at the same time.', 'description' => '专有网络实例与转发路由器实例无法同时绑定,请调整后选择其中一个实例进行绑定'], + ['errorCode' => 'IllegalParamSize.AllowedPrefixes', 'errorMessage' => 'The number of prefix routes exceeded the quota.', 'description' => '您当前输入的前缀路由数量超过配额,请申请扩容。'], + ['errorCode' => 'OperationDenied.CrossAccountAttaching', 'errorMessage' => 'If the forwarding router is bound to another account, perform this operation on the same account.', 'description' => '当前操作被拒绝,绑定其他账号转发路由器时,需在该账号做此操作'], + ['errorCode' => 'OperationDenied.AttachmentInCurrentRegionExisted', 'errorMessage' => 'Only one forwarding router can be bound to an area.', 'description' => '当前操作被拒绝,专线网关实例在同一区域内只支持绑定一个转发路由器'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'OperationFailed.CallingVpcYaochi', 'errorMessage' => 'The system is abnormal. Please try again later.', 'description' => ' 操作失败,系统内部异常,请稍后重试,若重试仍失败请联系您的商务经理获取帮助。'], + ['errorCode' => 'ResourceAlreadyExist.TransitRouterId', 'errorMessage' => 'The specified resource of transit router already exists.', 'description' => '指定的 TR 资源已经关联到专线网关 ECR, 请核对后重试。'], + ['errorCode' => 'ResourceAlreadyExist.VpcId', 'errorMessage' => 'The specified resource of VpcId already exists.', 'description' => '指定的 VPC 资源已经关联到专线网关 ECR, 请核对后重试。'], + ['errorCode' => 'Conflict.AllowedPrefixes', 'errorMessage' => 'The allowed route prefixes [%s] is conflict.', 'description' => '当前配置的路由前缀已存在,请确认后重新提交。'], + ['errorCode' => 'UnsupportedFeature.JumboFrame', 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.', 'description' => ''], + ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '内部错误。建议重试,如果多次重试报错请提交工单。'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.AssociationId', - 'errorMessage' => 'EcrAssociationId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DFDA79A0-D135-5193-B0AC-3B5608FDB1D0\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '修改专线网关关联子实例属性', - ], - 'AttachExpressConnectRouterChildInstance' => [ - 'summary' => '加载子实例(VBR)至ECR。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '专线网关(ECR)关联资源', + 'summary' => '专线网关ECR(Express Connect Router)关联专有网络(VPC)或者转发路由器(TR)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouterAssociation'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CreateExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\"\\n}","type":"json"}]', + ], + 'CreateFlowLog' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197608', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectNHSYB7', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '253947', + 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-a5xqrgbeidz1w8****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'ChildInstanceId', + 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => 'VBR实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vbr-j6cwxhgg0s5nuephp****', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ChildInstanceType', + 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型,取值:**VBR**边界路由器。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ - 'name' => 'ChildInstanceRegionId', + 'name' => 'FlowLogName', 'in' => 'formData', - 'schema' => [ - 'description' => 'VBR实例所在的地域。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '流日志名称。'."\n" + .'> 名称可以为空或长度为 0~128 个字符,不能以 http://或 https://开头。', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog'], ], [ - 'name' => 'ChildInstanceOwnerId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'VBR实例所属的阿里云账号ID(主账号)。'."\n" - ."\n" - .'>如果您要加载跨账号的网络实例,本参数必填。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1905501448682345', - ], + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => '流日志的描述信息。'."\n" + .'> 描述可以为空或长度为 0~256 个字符,不能以 http://或 https://开头。', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog'], ], [ - 'name' => 'DryRun', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], ], [ - 'name' => 'ClientToken', - 'in' => 'formData', + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'VBR 实例 ID。', 'type' => 'string', 'required' => true, 'example' => 'vbr-xxx'."\n"], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:'."\n" + ."\n" + .'- **60** '."\n" + .'- **600**'."\n" + ."\n" + .'默认值:**600**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], + ], + [ + 'name' => 'SamplingRate', + 'in' => 'query', + 'schema' => ['description' => '采样比例。取值'."\n" + ."\n" + .'- **1:4096**'."\n" + .'- **1:2048**'."\n" + .'- **1:1024**'."\n" + ."\n" + .'默认值:**1:4096**。', 'type' => 'string', 'required' => false, 'example' => '1:4096 '], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => ['description' => '存储捕获流量的 Project。'."\n" + .'- 如果您已经在当前地域创建了 Project,您可以输入已创建的 Project 的名称。'."\n" + .'- 如果您未在当前地域创建 Project,您可以为 Project 自定义名称,系统会帮您自动创建 Project。'."\n" + ."\n\n" + .'Project 名称在阿里云地域内全局唯一,创建后不可修改。其命名规则如下:'."\n" + .' '."\n" + .'- Project名称必须全局唯一。'."\n" + .'- 只能包括小写'."\n" + .'- 字母、数字和短划线(-)。'."\n" + .'- 必须以小写字母或者数字开头和结尾。'."\n" + .'- 长度为 3~63 字符。', 'type' => 'string', 'required' => true, 'example' => 'flowlog-project'], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => ['description' => '存储捕获流量的 Logstore。'."\n" + .'- 如果您已经在当前地域创建了 Logstore,您可以输入已创建的 Logstore 的名称。'."\n" + .'- 如果您未在当前地域创建 Logstore,您可以为 Logstore 自定义名称,系统会帮您自动创建 Logstore。 Logstore 名称。其命名规则如下:'."\n" + ."\n" + .'- 同一个 Project 下,Logstore 名称不可重复。'."\n" + .'- 只能包括小写字母、数字、短划线(-)和下划线(_)。'."\n" + .'- 必须以小写字母或者数字开头和结尾。'."\n" + .'- 长度为 3~63 字符。', 'type' => 'string', 'required' => true, 'example' => 'flowlog-logstore'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + 'description' => '标签。'."\n" ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', + .'最多可以绑定20个标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', + 'maxItems' => 20, ], ], [ - 'name' => 'Description', + 'name' => 'ResourceGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '子实例的描述信息。长度为0~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => '流日志实例所属的资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2aq7f4va****'."\n"], + ], + [ + 'name' => 'TargetSlsRegionId', + 'in' => 'query', + 'schema' => ['description' => '当前字段代表需要投递的project所属region信息,仅跨地域投递需要填写该字段, 非跨地域投递不需要填写该字段。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<AttachChildInstanceResponse>', - 'description' => 'RpcResponse<AttachChildInstanceResponse>', + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%**s**。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'FlowLogId' => ['description' => '流日志实例ID。', 'type' => 'string', 'example' => 'ecr-flog-m5evbtbpt****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'IncorrectStatus.EcrAssociation', - 'errorMessage' => 'Ecr Association Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'OperationDenied.CrossAccountDisassociating', - 'errorMessage' => 'Unbind cross-account.', - ], - [ - 'errorCode' => 'OperationDenied.EcrAttachmentExisted', - 'errorMessage' => 'Ecr and TR have been linked.', - ], - [ - 'errorCode' => 'OperationDenied.VbrDoesNotSupportMpbgp', - 'errorMessage' => 'The VBR does not support Mpbgp configuration.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'Conflict.ASNOfVBR', - 'errorMessage' => 'ASN already used by other VBR.', - ], - [ - 'errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', - 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.', - ], - [ - 'errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', - 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.', - ], - [ - 'errorCode' => 'OperationDenied.VbrAlreadyAttachedToCen', - 'errorMessage' => 'VBR has already attached to CEN.', - ], - [ - 'errorCode' => 'OperationDenied.VbrAlreadyAttachedToEcr', - 'errorMessage' => 'VBR has already attached to ECR.', - ], - [ - 'errorCode' => 'ResourceAlreadyExist.ChildInstanceId', - 'errorMessage' => 'The specified resource of ChildInstanceId already exists.', - ], - [ - 'errorCode' => 'UnsupportedFeature.JumboFrame', - 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.', - ], - [ - 'errorCode' => 'InternalErrorTemp', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'ResourceAlreadyExist.FlowLogId', 'errorMessage' => 'The specified resource of FlowLogId[%s] already exists.', 'description' => '创建的流日志已经存在, 请核对后重试。'], + ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => '内部错误。建议重试,如果多次重试报错请提交工单。'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.AssociationId', - 'errorMessage' => 'EcrAssociationId not found.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建流日志', + 'summary' => '创建流日志默认开启日志投递。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowLog'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CreateFlowLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '加载子实例至专线网关(ECR)', - 'description' => '在调用**AttachExpressConnectRouterChildInstance**接口加载子实例(VBR)至专线网关之前,请确保专线网关的状态为**Active**。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"FlowLogId\\": \\"ecr-flog-m5evbtbpt****\\"\\n}","type":"json"}]', ], - 'DetachExpressConnectRouterChildInstance' => [ - 'summary' => '从专线网关ECR(Express Connect Router)卸载边界路由器(VBR)。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeactivateFlowLog' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197609', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '254021', + 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'ChildInstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'VBR实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vbr-j6cwxhgg0s5nuephp****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'ChildInstanceType', + 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:**VBR**边界路由器实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'DryRun', + 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ - 'name' => 'ClientToken', + 'name' => 'FlowLogId', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", - ], + 'schema' => ['description' => '流日志实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-flog-m5evbtbpt****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DetachChildInstanceResponse>', - 'description' => 'RpcResponse<DetachChildInstanceResponse>', + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'IncorrectStatus.EcrAssociation', - 'errorMessage' => 'Ecr Association Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'OperationDenied.CrossAccountDisassociating', - 'errorMessage' => 'Unbind cross-account.', - ], - [ - 'errorCode' => 'OperationDenied.EcrAttachmentExisted', - 'errorMessage' => 'Ecr and TR have been linked.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', - 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.', - ], - [ - 'errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', - 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.', - ], - [ - 'errorCode' => 'OperationDenied.VbrUsedInVbrHa', - 'errorMessage' => 'The border router has been used by the switching group and cannot be bound to the leased line gateway.', - ], - [ - 'errorCode' => 'ResourceInUse.HaVbrGroup', - 'errorMessage' => 'The specified resource of %s is in use.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.AssociationId', - 'errorMessage' => 'EcrAssociationId not found.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '停止流日志', + 'summary' => '流日志停止日志投递。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateFlowLog'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeactivateFlowLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '从专线网关(ECR)卸载子实例', - 'description' => '在调用**DetachExpressConnectRouterChildInstance**接口从专线网关卸载VBR实例之前,请确保专线网关的状态为**Active**。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], - 'DescribeExpressConnectRouterChildInstance' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)加载的边界路由器(VBR)。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199361', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectNHSYB7', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '197616', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'AssociationId', - 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关与VBR的关联ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", - ], - ], - [ - 'name' => 'ChildInstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '待卸载的网络实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vbr-j6cwxhgg0s5nuephp****', - ], - ], - [ - 'name' => 'ChildInstanceType', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:**VBR**:边界路由器实例。', - 'type' => 'string', - 'required' => false, - 'example' => 'VBR', - ], - ], - [ - 'name' => 'ChildInstanceRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例所在的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', - ], - ], - [ - 'name' => 'MaxResults', - 'in' => 'formData', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'."\n"], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeChildInstanceResponse>', - 'description' => 'RpcResponse<DescribeChildInstanceResponse>', + 'title' => 'RpcResponse<DeleteEcrResponse>', + 'description' => '返回数据结构体。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '05130E79-588D-5C40-A718-C4863A59****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'TotalCount' => [ - 'description' => '关联的资源总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果 NextToken 为空表示没有下一次查询。'."\n" - .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', - ], - 'ChildInstanceList' => [ - 'description' => '子实例列表。', - 'type' => 'array', - 'items' => [ - 'description' => '子实例信息。', - 'type' => 'object', - 'properties' => [ - 'EcrId' => [ - 'title' => '专线网关实例ID。', - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - 'AssociationId' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'example' => 'ecr-assoc-9p2qxx5phpca2m****', - ], - 'RegionId' => [ - 'description' => '边界路由器所属地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'OwnerId' => [ - 'description' => '边界路由器所属的阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '167509154715****', - ], - 'GmtCreate' => [ - 'description' => '创建关联时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2024-01-09T12:18:23Z', - ], - 'GmtModified' => [ - 'description' => '修改关联时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2024-01-09T12:18:23Z', - ], - 'Status' => [ - 'description' => '关联资源的部署状态。可能值:'."\n" - ."\n" - .'- **CREATING**:创建中。'."\n" - ."\n" - .'- **ACTIVE**:已创建。'."\n" - ."\n" - .'- **ASSOCIATING**:资源绑定中。'."\n" - ."\n" - .'- **DISSOCIATING**:资源解绑中。'."\n" - ."\n" - .'- **UPDATING**:修改中。'."\n" - ."\n" - .'- **DELETING**:删除中。', - 'type' => 'string', - 'example' => 'ACTIVE', - ], - 'ChildInstanceId' => [ - 'description' => '边界路由器实例ID。', - 'type' => 'string', - 'example' => 'vbr-gw8vjq2zjux3ifsc9****', - ], - 'ChildInstanceType' => [ - 'description' => '子实例类型。取值:**VBR**边界路由器。', - 'type' => 'string', - 'example' => 'VBR', - ], - 'ChildInstanceRegionId' => [ - 'description' => '子实例所属地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'ChildInstanceOwnerId' => [ - 'description' => '子实例所属的阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '112101171212****', - ], - 'Description' => [ - 'description' => '子实例描述信息', - 'type' => 'string', - 'example' => 'test ', - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '删除ECR实例是否成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断删除ECR实例是否成功。返回值为200表示创建成功,返回其他值表示创建失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'ResourceInUse.Ecr', 'errorMessage' => 'The express connect router is currently in use.', 'description' => '专线网关实例当前正在被使用,请解除VBR/VPC/TR关联后重试。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"ChildInstanceList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"ChildInstanceId\\": \\"vbr-gw8vjq2zjux3ifsc9****\\",\\n \\"ChildInstanceType\\": \\"VBR\\",\\n \\"ChildInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"ChildInstanceOwnerId\\": 0,\\n \\"Description\\": \\"test \\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询专线网关(ECR)绑定的子实例信息', - ], - 'DescribeInstanceGrantedToExpressConnectRouter' => [ - 'summary' => '查询授权给专线网关ECR(Express Connect Router)的网络实例。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除专线网关(ECR)', + 'summary' => '删除专线网关ECR(Express Connect Router)。', + 'description' => '在调用DeleteExpressConnectRouter接口删除ECR实例之前,请注意:'."\n" + ."\n" + .'- 删除专线网关实例前,必须删除专线网关实例上所关联的资源。'."\n" + ."\n" + .'- 只能删除**Active**状态的专线网关实例。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeleteExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'DeleteExpressConnectRouterAssociation' => [ + 'summary' => '解除专线网关ECR(Express Connect Router)与专有网络(VPC)或者转发路由器的关联关系。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199352', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '197605', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'InstanceRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '授权网络实例所在的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '授权实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vbr-j6cwxhgg0s5nuephp****', - ], - ], - [ - 'name' => 'InstanceOwnerId', - 'in' => 'formData', - 'schema' => [ - 'description' => '授权网络实例所属阿里云账号(主账号)ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1298452580502345', - ], - ], - [ - 'name' => 'InstanceType', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。'."\n" - .'- **VPC**:专有网络实例。', - 'type' => 'string', - 'required' => false, - 'example' => 'VBR', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', - 'type' => 'string', - 'required' => false, - 'example' => 'gAAAAABkyGzFbZR2NnxnyVk0EiL7F3qMBtBim8Es0mugRT3qb8yEHAMaHGanzuaHUmiEq9QRmok0RgxJAINBOJZa5KPjopEu_Q==', - ], - ], - [ - 'name' => 'MaxResults', - 'in' => 'formData', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'TagModels', + 'name' => 'AssociationId', 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => '资源的标签键。最多支持输入20个标签键。如果传入该值,则不能输入空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'key', - ], - 'TagValue' => [ - 'description' => '资源的标签值。最多支持输入20个标签值。如果传入该值,则不能输入空字符串。'."\n" - ."\n" - .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'value'."\n", - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DeleteAttachment', 'in' => 'formData', - 'schema' => [ - 'description' => '实例所属的资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2tsvbnfe****', - ], + 'schema' => ['description' => '专线网关是否是删除与TR或VPC的关联关系。取值:'."\n" + .'- **true**:是。'."\n" + .'- **false**:否。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", - ], - ], - [ - 'name' => 'CallerType', - 'in' => 'formData', - 'schema' => [ - 'description' => '调用者类型'."\n" - ."\n" - .'- ECR'."\n" - .'- OTHER'."\n" - ."\n" - .'默认值: ECR', - 'type' => 'string', - 'required' => false, - 'example' => 'ECR', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeInstanceGrantedToEcrResponse>', - 'description' => 'RpcResponse<DescribeInstanceGrantedToEcrResponse>', + 'title' => 'RpcResponse<DeleteAssociationResponse>', + 'description' => 'RpcResponse<DeleteAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.Name'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of Name **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'TotalCount' => [ - 'description' => '授权给专线网关的网络实例总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==', - ], - 'EcrGrantedInstanceList' => [ - 'description' => 'ECR授权实例列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'GrantId' => [ - 'description' => '授权ID。', - 'type' => 'string', - 'example' => 'gr-8gdelo13mi99g1****', - ], - 'Status' => [ - 'description' => '授权网络实例的状态。', - 'type' => 'string', - 'example' => 'Active', - ], - 'GmtCreate' => [ - 'description' => '创建实例的时间。', - 'type' => 'string', - 'example' => '1669023139000', - ], - 'GmtModified' => [ - 'description' => '修改实例的时间', - 'type' => 'string', - 'example' => '1669023139000', - ], - 'EcrId' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - 'NodeId' => [ - 'description' => '授权实例ID。', - 'type' => 'string', - 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n", - ], - 'NodeType' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。'."\n" - .'- **VPC**:虚拟专有网络实例。', - 'type' => 'string', - 'example' => 'VBR', - ], - 'NodeRegionId' => [ - 'description' => '授权实例所属地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'NodeOwnerUid' => [ - 'description' => '实例所属的阿里云账号的ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '129845258050****'."\n", - ], - 'NodeOwnerBid' => [ - 'description' => '实例所属的阿里云企业账号ID。', - 'type' => 'string', - 'example' => '26842****', - ], - 'EcrOwnerAliUid' => [ - 'description' => '接受授权的专线网关实例所属阿里云账号(主账号)ID。', - 'type' => 'string', - 'example' => '229845258050****'."\n", - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '接口返回信息', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'ECR Association实例不允许当前操作。请在进行中的操作完成后,重试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'OperationDenied.CrossAccountDisassociating', 'errorMessage' => 'Unbind cross-account.', 'description' => '当前操作被拒绝,需在跨账号页面解除绑定操作后再执行此操作'], + ['errorCode' => 'OperationDenied.EcrAttachmentExisted', 'errorMessage' => 'Ecr and TR have been linked.', 'description' => '当前操作被拒绝,专线网关实例与TR已建立链接,请解除后再执行此操作。'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'OperationFailed.UsedInRouteEntryNextHop', 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'description' => 'VPC还有静态路由指向ECR,不允许解除关联 ECR'], + ['errorCode' => 'OperationFailed.CallingVpcYaochi', 'errorMessage' => 'The system is abnormal. Please try again later.', 'description' => ' 操作失败,系统内部异常,请稍后重试,若重试仍失败请联系您的商务经理获取帮助。'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], + ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==\\",\\n \\"EcrGrantedInstanceList\\": [\\n {\\n \\"GrantId\\": \\"gr-8gdelo13mi99g1****\\",\\n \\"Status\\": \\"Active\\",\\n \\"GmtCreate\\": \\"1669023139000\\",\\n \\"GmtModified\\": \\"1669023139000\\",\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"NodeId\\": \\"vbr-j6cwxhgg0s5nuephp****\\\\n\\",\\n \\"NodeType\\": \\"VBR\\",\\n \\"NodeRegionId\\": \\"cn-hangzhou\\",\\n \\"NodeOwnerUid\\": 0,\\n \\"NodeOwnerBid\\": \\"26842****\\",\\n \\"EcrOwnerAliUid\\": \\"229845258050****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询授权给专线网关(ECR)的网络实例', - ], - 'RevokeInstanceFromExpressConnectRouter' => [ - 'summary' => '撤销专有网络(VPC)或者边界路由器(VBR)对跨账号的专线网关ECR(Express Connect Router)的授权。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '专线网关(ECR)解除资源关联关系', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouterAssociation'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeleteExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', + ], + 'DeleteFlowlog' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2345,343 +1312,190 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197623', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '253978', + 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'EcrOwnerAliUid', - 'in' => 'formData', - 'schema' => [ - 'description' => '撤销授权的ECR实例所属阿里云账号(主账号)ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '121012345612****'."\n", - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vbr-j6cwxhgg0s5nuephp****', - ], - ], - [ - 'name' => 'InstanceType', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。'."\n" - .'- **VPC**:专有网络实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', - ], - ], - [ - 'name' => 'InstanceRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '撤销授权的网络实例所在的地域。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => ['description' => '流日志实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-flog-m5evbtbpt****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<RevokeInstanceFromEcrResponse>', - 'description' => 'RpcResponse<RevokeInstanceFromEcrResponse>', + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '撤销授权网络实例是否成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - ."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '撤销网络实例对专线网关(ECR)的授权', - ], - 'GrantInstanceToExpressConnectRouter' => [ - 'summary' => '将的专有网络(VPC)或者边界路由器(VBR)授权给跨账号的专线网关ECR(Express Connect Router)。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除流日志', + 'summary' => '删除流日志。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeleteFlowlog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'DescribeDisabledExpressConnectRouterRouteEntries' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197607', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '199356', + 'abilityTreeNodes' => ['FEATUREexpressconnectU328UX'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '关联的专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'EcrOwnerAliUid', - 'in' => 'formData', - 'schema' => [ - 'description' => '接受授权的专线网关实例所属阿里云账号(主账号)ID。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '121012345612****', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n", - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'InstanceType', + 'name' => 'NextToken', 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。'."\n" - .'- **VPC**:专有网络实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次 API 调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFv4fzkNPW8Z+cZ+DBXXQ3Gmf3XlCgpBH43oaTYTAAcGc708Zb+pDyAGVJBo/MKsyrtZfPnX9Ztf02vgdIDyaNe8UuZdf/JJk069qxGKzqSKg='], ], [ - 'name' => 'InstanceRegionId', + 'name' => 'MaxResults', 'in' => 'formData', - 'schema' => [ - 'description' => '授权网络实例所在的地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<GrantInstanceToEcrResponse>', - 'description' => 'RpcResponse<GrantInstanceToEcrResponse>', + 'title' => 'RpcResponse<DescribeEcrDisabledRouteResponse>', + 'description' => 'RpcResponse<DescribeEcrDisabledRouteResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '查询禁用专线网关路由是否成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsInstanceId**,则代表所传入的请求参数**DtsInstanceId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'TotalCount' => ['description' => '总共的路由条目数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', 'type' => 'integer', 'format' => 'int32', 'example' => '6'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果NextToken为空表示没有下一次查询。'."\n" + .'- 如果NextToken有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ=='], + 'DisabledRouteEntryList' => [ + 'description' => '查询的路由列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EcrId' => ['description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-mezk2idmsd0vx2****'."\n"], + 'DestinationCidrBlock' => ['description' => '路由条目的目标网段。', 'type' => 'string', 'example' => '192.168.100.110/32'], + 'NexthopInstanceId' => ['description' => '下一跳实例ID。', 'type' => 'string', 'example' => 'br-hp3u4u5f03tfuljis****'."\n"], + 'NexthopInstanceRegionId' => ['description' => '下一跳实例所属的地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'GmtCreate' => ['description' => '创建路由条目的时间。', 'type' => 'string', 'example' => '1682317345'], + ], + ], ], ], ], @@ -2689,287 +1503,201 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IllegalParam.EcrOwnerAliUid', - 'errorMessage' => 'The Ecr instance account parameter is invalid.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'IllegalParam.InstanceOwnerId', - 'errorMessage' => 'Specified parameter InstanceOwnerId is not valid.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '将网络实例授权给专线网关(ECR)', - 'description' => '将跨账号的网络实例关联至专线网关实例时,您需要将网络实例授权给专线网关实例。', - ], - 'CreateExpressConnectRouterAssociation' => [ - 'summary' => '专线网关ECR(Express Connect Router)关联专有网络(VPC)或者转发路由器(TR)。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询禁用的专线网关(ECR)路由', + 'summary' => '查询专线网关ECR(Express Connect Router)禁用的路由条目。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDisabledExpressConnectRouterRouteEntries'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeDisabledExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 6,\\n \\"NextToken\\": \\"gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==\\",\\n \\"DisabledRouteEntryList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\\\n\\",\\n \\"DestinationCidrBlock\\": \\"192.168.100.110/32\\",\\n \\"NexthopInstanceId\\": \\"br-hp3u4u5f03tfuljis****\\\\n\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreate\\": \\"1682317345\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197620', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '199357', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => false, 'example' => 'ecr-fu8rszhgv7623c****'], ], [ - 'name' => 'AssociationRegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => '关联资源所属的地域。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'TransitRouterOwnerId', - 'in' => 'formData', - 'schema' => [ - 'description' => '转发路由器实例所属阿里云账号(主账号)ID。默认值为当前登录的阿里云账号ID。'."\n" - ."\n" - .'> 如果您要加载跨账号的网络实例,本参数必填。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '189159362009****', - ], - ], - [ - 'name' => 'TransitRouterId', - 'in' => 'formData', - 'schema' => [ - 'description' => '转发路由器ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'tr-2ze4i71c6be454e2l****', - ], - ], - [ - 'name' => 'CenId', + 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => '云企业网实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cen-of3o1the3i4gwb****', - ], + 'schema' => ['description' => '专线网关实例名称。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'VpcOwnerId', + 'name' => 'NextToken', 'in' => 'formData', - 'schema' => [ - 'description' => 'VPC实例所属阿里云账号(主账号)ID。默认为当前登录的阿里云账号ID。'."\n" - ."\n" - .'> 如果您要加载跨账号的网络实例,本参数必填。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '132193271328****', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', 'type' => 'string', 'required' => false, 'example' => 'e0a2dbeb69a8beeeb8194e92b702df3fd3e7bfe6ce7bfc16e0b5e8707e68181f'], ], [ - 'name' => 'VpcId', + 'name' => 'MaxResults', 'in' => 'formData', - 'schema' => [ - 'description' => 'VPC实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1h37fchc6jmfyln****', - ], + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ - 'name' => 'AllowedPrefixes', + 'name' => 'Tag', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ - 'description' => '允许的前缀路由列表。', + 'description' => '进行过滤的标签列表。最多支持20个标签。', 'type' => 'array', 'items' => [ - 'description' => '允许的前缀路由。', - 'type' => 'string', + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '实例的标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '标签值。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], 'required' => false, - 'example' => '192.0.20.0/24', ], 'required' => false, - 'maxItems' => 10000, + 'maxItems' => 20, ], ], [ - 'name' => 'CreateAttachment', + 'name' => 'ResourceGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => 'ECR绑定TR时是否发起关联。取值:'."\n" - ."\n" - .'- **true**:不需要在转发路由器侧发起关联。'."\n" - .'- **false**:需要在转发路由器侧发起关联。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '专线网关实例所属资源组的ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2aq7f4va****'."\n"], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", - ], - ], - [ - 'name' => 'AllowedPrefixesMode', - 'in' => 'formData', - 'schema' => [ - 'description' => '前缀路由模式,取值:'."\n" - .'- MatchMode: 匹配模式, 仅发布配置的路由网段到IDC,对原有发布的明细路由进行回撤。'."\n" - .'- IncrementalMode: 增量模式, 发布配置的路由网段到IDC的同时对原有发布落在配置的路由网段内的明细路由进行回撤,未落在配置的网段内的明细路由保持发布。', - 'type' => 'string', - 'required' => false, - 'example' => 'MatchMode', - ], - ], - [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'description' => '关联资源的描述信息。长度为0~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateAssociationResponse>', - 'description' => 'RpcResponse<CreateAssociationResponse>', + 'title' => 'RpcResponse<DescribeEcrResponse>', + 'description' => 'RpcResponse<DescribeEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '05130E79-588D-5C40-A718-C4863A59****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'AssociationId' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'example' => 'ecr-assoc-9p2qxx5phpca2m****', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '查询已创建ECR实例是否成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.Name'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of Name **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'TotalCount' => ['description' => '专线网关实例总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果 NextToken 为空表示没有下一次查询。'."\n" + .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g=='], + 'EcrList' => [ + 'description' => '专线网关实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '专线网关实例。', + 'type' => 'object', + 'properties' => [ + 'EcrId' => ['description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-mezk2idmsd0vx2****'], + 'OwnerId' => ['description' => '专线网关实例所属的阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '170646818729****'], + 'GmtCreate' => ['description' => '专线网关实例创建时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2023-02-16T01:44:50Z'."\n"], + 'GmtModified' => ['description' => '专线网关实例修改时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2023-02-16T01:44:50Z'], + 'Status' => ['description' => '服务实例的部署状态。可能值:'."\n" + ."\n" + .'- **ACTIVE**:已创建。'."\n" + ."\n" + .'- **UPDATING**:修改中。'."\n" + ."\n" + .'- **ASSOCIATING**:资源绑定中。'."\n" + ."\n" + .'- **DISSOCIATING**:资源解绑中。'."\n" + ."\n" + .'- **LOCKED_ATTACHING**:被外部系统绑定锁定。'."\n" + ."\n" + .'- **LOCKED_DETACHING**:被外部系统解绑锁定。'."\n" + ."\n" + .'- **RECLAIMING**:等待释放资源。'."\n" + ."\n" + .'- **DELETING**:删除中。', 'type' => 'string', 'example' => 'Active'], + 'BizStatus' => ['description' => '服务实例的业务状态。可能的值:'."\n" + ."\n" + .'- **Normal**:正常。'."\n" + ."\n" + .'- **FinancialLocked**:欠费锁定。', 'type' => 'string', 'example' => 'Normal'], + 'ResourceGroupId' => ['description' => '专线网关实例所属资源组的ID。', 'type' => 'string', 'example' => 'rg-aekzuscospt****'], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '专线网关实例的标签键。', 'type' => 'string', 'example' => 'test'], + 'TagValue' => ['description' => '专线网关实例的标签值。', 'type' => 'string', 'example' => 'test'], + ], + ], + ], + 'Name' => ['description' => '专线网关实例名称。', 'type' => 'string', 'example' => 'test'], + 'Description' => ['description' => '专线网关实例的描述信息。', 'type' => 'string', 'example' => 'test'], + 'AlibabaSideAsn' => ['description' => '专线网关实例的ASN号。', 'type' => 'integer', 'format' => 'int64', 'example' => '45104'], + ], + ], ], ], ], @@ -2977,270 +1705,129 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'QuotaExceeded.VpcCountPerEcr', - 'errorMessage' => 'The number of VPC bound to the ECR exceeds the quota.', - ], - [ - 'errorCode' => 'QuotaExceeded.TrCountPerEcr', - 'errorMessage' => 'The number of TR bound to the ECR exceeds the quota.', - ], - [ - 'errorCode' => 'IllegalParamFormat.AllowedPrefixes', - 'errorMessage' => 'The prefix parameter format is invalid. Procedure.', - ], - [ - 'errorCode' => 'OperationDenied.NotGrantedByNodeOwner', - 'errorMessage' => 'The node owner is not authorized.', - ], - [ - 'errorCode' => 'OperationFailed.CdtNotOpened', - 'errorMessage' => 'The Cdt function is disabled.', - ], - [ - 'errorCode' => 'OperationFailed.CdtCrossBoarderNotOpened', - 'errorMessage' => 'The Cdt cross-border transmission function is disabled.', - ], - [ - 'errorCode' => 'OperationFailed.CrossBorderNotAllowed', - 'errorMessage' => 'There is no qualification for creating cross-border links.', - ], - [ - 'errorCode' => 'ResourceNotFound.CenId', - 'errorMessage' => 'CenId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.TrId', - 'errorMessage' => 'TRId not found.', - ], - [ - 'errorCode' => 'Conflict.ASNOfVBR', - 'errorMessage' => 'ASN already used by other VBR.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParamFormat.CenId', - 'errorMessage' => 'The format of the entered Cen instance ID is incorrect.', - ], - [ - 'errorCode' => 'OperationDenied.CrossBidAssociating', - 'errorMessage' => 'Cross-border binding of resources is subject to compliance constraints.', - ], - [ - 'errorCode' => 'ExclusiveParam.TransitRouterIdAndVpcId', - 'errorMessage' => 'A private network instance cannot be bound to a forwarding router instance at the same time.', - ], - [ - 'errorCode' => 'IllegalParamSize.AllowedPrefixes', - 'errorMessage' => 'The number of prefix routes exceeded the quota.', - ], - [ - 'errorCode' => 'OperationDenied.CrossAccountAttaching', - 'errorMessage' => 'If the forwarding router is bound to another account, perform this operation on the same account.', - ], - [ - 'errorCode' => 'OperationDenied.AttachmentInCurrentRegionExisted', - 'errorMessage' => 'Only one forwarding router can be bound to an area.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'OperationFailed.CallingVpcYaochi', - 'errorMessage' => 'The system is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'ResourceAlreadyExist.TransitRouterId', - 'errorMessage' => 'The specified resource of transit router already exists.', - ], - [ - 'errorCode' => 'ResourceAlreadyExist.VpcId', - 'errorMessage' => 'The specified resource of VpcId already exists.', - ], - [ - 'errorCode' => 'Conflict.AllowedPrefixes', - 'errorMessage' => 'The allowed route prefixes [%s] is conflict.', - ], - [ - 'errorCode' => 'UnsupportedFeature.JumboFrame', - 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.', - ], - [ - 'errorCode' => 'InternalErrorTemp', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询专线网关(ECR)列表', + 'summary' => '查询专线网关ECR(Express Connect Router)列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouter'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\"\\n}","type":"json"}]', - 'title' => '专线网关(ECR)关联资源', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==\\",\\n \\"EcrList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2023-02-16T01:44:50Z\\\\n\\",\\n \\"GmtModified\\": \\"2023-02-16T01:44:50Z\\",\\n \\"Status\\": \\"Active\\",\\n \\"BizStatus\\": \\"Normal\\",\\n \\"ResourceGroupId\\": \\"rg-aekzuscospt****\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"test\\"\\n }\\n ],\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"AlibabaSideAsn\\": 45104\\n }\\n ]\\n}","type":"json"}]', ], - 'DeleteExpressConnectRouterAssociation' => [ - 'summary' => '解除专线网关ECR(Express Connect Router)与专有网络(VPC)或者转发路由器的关联关系。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeExpressConnectRouterAllowedPrefixHistory' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197605', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - ], + 'abilityTreeCode' => '199365', + 'abilityTreeNodes' => ['FEATUREexpressconnectDQ6AHD'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'AssociationId', + 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-assoc-9p2qxx5phpca2m****', - ], + 'schema' => ['description' => '专线网关加载的实例ID。'."\n" + ."\n" + .'> **InstanceId**参数和**AssociationId**参数必须输入一个。', 'type' => 'string', 'required' => false, 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ - 'name' => 'DeleteAttachment', + 'name' => 'InstanceType', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关是否是删除与TR或VPC的关联关系。取值:'."\n" - .'- **true**:是。'."\n" - .'- **false**:否。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VPC**:虚拟专有网络实例。'."\n" + .'- **TR**:转发路由器实例。', 'type' => 'string', 'required' => false, 'example' => 'VPC'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => ['title' => '专线网关与专有网络VPC或转发路由器TR的关联的实例ID。', 'description' => '专线网关与专有网络VPC或转发路由器TR的关联的实例ID。'."\n" + ."\n" + .'> **InstanceId**参数和**AssociationId**参数必须输入一个。', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DeleteAssociationResponse>', - 'description' => 'RpcResponse<DeleteAssociationResponse>', + 'title' => 'RpcResponse<DescribeEcrAllowedPrefixHistoryResponse>', + 'description' => 'RpcResponse<DescribeEcrAllowedPrefixHistoryResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '05130E79-588D-5C40-A718-C4863A59****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口返回信息', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'AllowedPrefixHistoryList' => [ + 'description' => '历史前缀路由列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AllowedPrefix' => [ + 'description' => '前缀路由。', + 'type' => 'array', + 'items' => ['description' => '前缀路由条目。', 'type' => 'string', 'example' => '10.0.**.**/1'], + ], + 'GmtCreate' => ['description' => '创建历史路由条目的时间。', 'type' => 'string', 'example' => '1673751163000'], + ], + ], ], ], ], @@ -3248,76 +1835,43 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'IncorrectStatus.EcrAssociation', - 'errorMessage' => 'Ecr Association Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'OperationDenied.CrossAccountDisassociating', - 'errorMessage' => 'Unbind cross-account.', - ], - [ - 'errorCode' => 'OperationDenied.EcrAttachmentExisted', - 'errorMessage' => 'Ecr and TR have been linked.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'OperationFailed.UsedInRouteEntryNextHop', - 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', - ], - [ - 'errorCode' => 'OperationFailed.CallingVpcYaochi', - 'errorMessage' => 'The system is abnormal. Please try again later.', - ], + ['errorCode' => 'ResourceNotFound.InstanceId', 'errorMessage' => 'The instance id does not exist.', 'description' => '当前输入的VPC/TR实例不存在'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.AssociationId', - 'errorMessage' => 'EcrAssociationId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], + ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询专线网关(ECR)的前缀路由历史记录', + 'summary' => '查询专线网关ECR(Express Connect Router)前缀路由的历史记录。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAllowedPrefixHistory'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '专线网关(ECR)解除资源关联关系', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAllowedPrefixHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AllowedPrefixHistoryList\\": [\\n {\\n \\"AllowedPrefix\\": [\\n \\"10.0.**.**/1\\"\\n ],\\n \\"GmtCreate\\": \\"1673751163000\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterAssociation' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)关联的专有网络(VPC)和转发路由器(TR)。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3330,134 +1884,90 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '199364', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'AssociationId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-assoc-9p2qxx5phpca2m****', - ], + 'schema' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], ], [ 'name' => 'AssociationRegionId', 'in' => 'formData', - 'schema' => [ - 'description' => 'VPC或TR所属的地域信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'VPC或TR所属的地域信息。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'AssociationNodeType', 'in' => 'formData', - 'schema' => [ - 'description' => '关联的资源类型:'."\n" - ."\n" - .'- **VPC**:专有网络。'."\n" - ."\n" - .'- **TR**:转发路由器。', - 'type' => 'string', - 'required' => false, - 'example' => 'VPC', - ], + 'schema' => ['description' => '关联的资源类型:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **TR**:转发路由器。', 'type' => 'string', 'required' => false, 'example' => 'VPC'], ], [ 'name' => 'VpcId', 'in' => 'formData', - 'schema' => [ - 'description' => 'VPC实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1h37fchc6jmfyln****', - ], + 'schema' => ['description' => 'VPC实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h37fchc6jmfyln****'], ], [ 'name' => 'TransitRouterId', 'in' => 'formData', - 'schema' => [ - 'description' => '转发路由器实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'tr-2ze4i71c6be454e2l****', - ], + 'schema' => ['description' => '转发路由器实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'tr-2ze4i71c6be454e2l****'], ], [ 'name' => 'CenId', 'in' => 'formData', - 'schema' => [ - 'description' => '云企业网实例的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cen-of3o1the3i4gwb****', - ], + 'schema' => ['description' => '云企业网实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'cen-of3o1the3i4gwb****'], ], [ 'name' => 'NextToken', 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], ], [ 'name' => 'MaxResults', 'in' => 'formData', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['type' => 'string'], + 'Value' => ['type' => 'string'], + ], + ], + 'maxItems' => 20, ], ], ], @@ -3468,185 +1978,84 @@ 'description' => 'RpcResponse<DescribeAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '05130E79-588D-5C40-A718-C4863A59****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的 `%s`。'."\n" - ."\n" - .'> 如果**ErrMessage **返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage **返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'TotalCount' => [ - 'description' => '关联的资源总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的 `%s`。'."\n" + ."\n" + .'> 如果**ErrMessage **返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage **返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'TotalCount' => ['description' => '关联的资源总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'."\n"], 'AssociationList' => [ 'description' => '关联的资源列表。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'AssociationId' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", - ], - 'RegionId' => [ - 'description' => '资源所属地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'OwnerId' => [ - 'description' => '资源所属的阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '167509154715****', - ], - 'GmtCreate' => [ - 'description' => '创建关联的时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2024-01-09T12:18:23Z', - ], - 'GmtModified' => [ - 'description' => '修改关联的时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2024-01-09T12:18:23Z', - ], - 'Status' => [ - 'description' => '关联资源的部署状态。可能值:'."\n" - ."\n" - .'- **CREATING**:创建中。'."\n" - ."\n" - .'- **ACTIVE**:已创建。'."\n" - ."\n" - .'- **INACTIVE**:专线网关关联转发路由器,待转发路由器关联专线网关状态。'."\n" - ."\n" - .'- **ASSOCIATING**:资源绑定中。'."\n" - ."\n" - .'- **DISSOCIATING**:资源解绑中。'."\n" - ."\n" - .'- **UPDATING**:修改中。'."\n" - ."\n" - .'- **DELETING**:删除中。', - 'type' => 'string', - 'example' => 'ACTIVE', - ], - 'AssociationNodeType' => [ - 'description' => '关联的资源类型:'."\n" - ."\n" - .'- **VPC**:专有网络。'."\n" - ."\n" - .'- **TR**:转发路由器。', - 'type' => 'string', - 'example' => 'VPC', - ], - 'TransitRouterOwnerId' => [ - 'description' => '转发路由器所属的阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '189159362009****'."\n", - ], - 'TransitRouterId' => [ - 'description' => '转发路由器实例的ID。', - 'type' => 'string', - 'example' => 'tr-2ze4i71c6be454e2l****'."\n", - ], - 'CenId' => [ - 'description' => '云企业网实例ID。', - 'type' => 'string', - 'example' => 'cen-5510frtx8zi54q****', - ], - 'VpcOwnerId' => [ - 'description' => 'VPC所属的阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '146757288406****', - ], - 'VpcId' => [ - 'description' => 'VPC实例的ID。', - 'type' => 'string', - 'example' => 'vpc-2zeeaxet4i2j1a7n7****', - ], + 'AssociationId' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n"], + 'RegionId' => ['description' => '资源所属地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'OwnerId' => ['description' => '资源所属的阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '167509154715****'], + 'GmtCreate' => ['description' => '创建关联的时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z'], + 'GmtModified' => ['description' => '修改关联的时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z'], + 'Status' => ['description' => '关联资源的部署状态。可能值:'."\n" + ."\n" + .'- **CREATING**:创建中。'."\n" + ."\n" + .'- **ACTIVE**:已创建。'."\n" + ."\n" + .'- **INACTIVE**:专线网关关联转发路由器,待转发路由器关联专线网关状态。'."\n" + ."\n" + .'- **ASSOCIATING**:资源绑定中。'."\n" + ."\n" + .'- **DISSOCIATING**:资源解绑中。'."\n" + ."\n" + .'- **UPDATING**:修改中。'."\n" + ."\n" + .'- **DELETING**:删除中。', 'type' => 'string', 'example' => 'ACTIVE'], + 'AssociationNodeType' => ['description' => '关联的资源类型:'."\n" + ."\n" + .'- **VPC**:专有网络。'."\n" + ."\n" + .'- **TR**:转发路由器。', 'type' => 'string', 'example' => 'VPC'], + 'TransitRouterOwnerId' => ['description' => '转发路由器所属的阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '189159362009****'."\n"], + 'TransitRouterId' => ['description' => '转发路由器实例的ID。', 'type' => 'string', 'example' => 'tr-2ze4i71c6be454e2l****'."\n"], + 'CenId' => ['description' => '云企业网实例ID。', 'type' => 'string', 'example' => 'cen-5510frtx8zi54q****'], + 'VpcOwnerId' => ['description' => 'VPC所属的阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '146757288406****'], + 'VpcId' => ['description' => 'VPC实例的ID。', 'type' => 'string', 'example' => 'vpc-2zeeaxet4i2j1a7n7****'], 'AllowedPrefixes' => [ 'description' => '允许的路由前缀列表。', 'type' => 'array', + 'items' => ['description' => '允许的路由前缀。', 'type' => 'string', 'example' => '192.0.**.**/28'], + ], + 'EcrId' => ['description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-fu8rszhgv7623c****'], + 'AllowedPrefixesMode' => ['description' => '前缀路由模式,取值:'."\n" + .'- MatchMode: 匹配模式'."\n" + .'- IncrementalMode: 增量模式', 'type' => 'string', 'example' => 'MatchMode'], + 'Description' => ['description' => '关联资源的描述信息。', 'type' => 'string', 'example' => 'test '], + 'Tags' => [ + 'type' => 'array', 'items' => [ - 'description' => '允许的路由前缀。', - 'type' => 'string', - 'example' => '192.0.**.**/28', + 'type' => 'object', + 'properties' => [ + 'Key' => ['type' => 'string'], + 'Value' => ['type' => 'string'], + ], ], ], - 'EcrId' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-fu8rszhgv7623c****', - ], - 'AllowedPrefixesMode' => [ - 'description' => '前缀路由模式,取值:'."\n" - .'- MatchMode: 匹配模式'."\n" - .'- IncrementalMode: 增量模式', - 'type' => 'string', - 'example' => 'MatchMode', - ], - 'Description' => [ - 'description' => '关联资源的描述信息。', - 'type' => 'string', - 'example' => 'test ', - ], + 'TransitRouterName' => ['type' => 'string'], + 'VpcName' => ['type' => 'string'], ], + 'description' => '', ], ], ], @@ -3655,166 +2064,172 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\\\n\\",\\n \\"AssociationList\\": [\\n {\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"AssociationNodeType\\": \\"VPC\\",\\n \\"TransitRouterOwnerId\\": 0,\\n \\"TransitRouterId\\": \\"tr-2ze4i71c6be454e2l****\\\\n\\",\\n \\"CenId\\": \\"cen-5510frtx8zi54q****\\",\\n \\"VpcOwnerId\\": 0,\\n \\"VpcId\\": \\"vpc-2zeeaxet4i2j1a7n7****\\",\\n \\"AllowedPrefixes\\": [\\n \\"192.0.**.**/28\\"\\n ],\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\",\\n \\"AllowedPrefixesMode\\": \\"MatchMode\\",\\n \\"Description\\": \\"test \\"\\n }\\n ]\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询专线网关(ECR)关联的资源信息', - ], - 'DisableExpressConnectRouterRouteEntries' => [ - 'summary' => '禁用专线网关ECR(Express Connect Router)路由项。', - 'methods' => [ - 'post', + 'summary' => '查询专线网关ECR(Express Connect Router)关联的专有网络(VPC)和转发路由器(TR)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAssociation'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\\\n\\",\\n \\"AssociationList\\": [\\n {\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"AssociationNodeType\\": \\"VPC\\",\\n \\"TransitRouterOwnerId\\": 0,\\n \\"TransitRouterId\\": \\"tr-2ze4i71c6be454e2l****\\\\n\\",\\n \\"CenId\\": \\"cen-5510frtx8zi54q****\\",\\n \\"VpcOwnerId\\": 0,\\n \\"VpcId\\": \\"vpc-2zeeaxet4i2j1a7n7****\\",\\n \\"AllowedPrefixes\\": [\\n \\"192.0.**.**/28\\"\\n ],\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\",\\n \\"AllowedPrefixesMode\\": \\"MatchMode\\",\\n \\"Description\\": \\"test \\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ],\\n \\"TransitRouterName\\": \\"\\",\\n \\"VpcName\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeExpressConnectRouterChildInstance' => [ + 'summary' => '查询专线网关ECR(Express Connect Router)加载的边界路由器(VBR)。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197618', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectU328UX', - ], + 'abilityTreeCode' => '199361', + 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'DestinationCidrBlock', + 'name' => 'AssociationId', 'in' => 'formData', - 'schema' => [ - 'description' => '网关路由表中路由条目的目标网段。', - 'type' => 'string', - 'required' => true, - 'example' => '10.153.32.**/**', - ], + 'schema' => ['description' => '专线网关与VBR的关联ID。', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n"], ], [ - 'name' => 'NexthopInstanceId', + 'name' => 'ChildInstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '下一跳实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'tr-hp3u4u5f03tfuljis****', - ], + 'schema' => ['description' => '待卸载的网络实例ID。', 'type' => 'string', 'required' => false, 'example' => 'vbr-j6cwxhgg0s5nuephp****'], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的类型。取值:**VBR**:边界路由器实例。', 'type' => 'string', 'required' => false, 'example' => 'VBR'], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'formData', + 'schema' => ['description' => '网络实例所在的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', 'type' => 'string', 'required' => false, 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DisableEcrRouteResponse>', - 'description' => 'RpcResponse<DisableEcrRouteResponse>', + 'title' => 'RpcResponse<DescribeChildInstanceResponse>', + 'description' => 'RpcResponse<DescribeChildInstanceResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'TotalCount' => ['description' => '关联的资源总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果 NextToken 为空表示没有下一次查询。'."\n" + .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], + 'ChildInstanceList' => [ + 'description' => '子实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '子实例信息。', + 'type' => 'object', + 'properties' => [ + 'EcrId' => ['title' => '专线网关实例ID。', 'description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-mezk2idmsd0vx2****'], + 'AssociationId' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], + 'RegionId' => ['description' => '边界路由器所属地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'OwnerId' => ['description' => '边界路由器所属的阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '167509154715****'], + 'GmtCreate' => ['description' => '创建关联时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z'], + 'GmtModified' => ['description' => '修改关联时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z'], + 'Status' => ['description' => '关联资源的部署状态。可能值:'."\n" + ."\n" + .'- **CREATING**:创建中。'."\n" + ."\n" + .'- **ACTIVE**:已创建。'."\n" + ."\n" + .'- **ASSOCIATING**:资源绑定中。'."\n" + ."\n" + .'- **DISSOCIATING**:资源解绑中。'."\n" + ."\n" + .'- **UPDATING**:修改中。'."\n" + ."\n" + .'- **DELETING**:删除中。', 'type' => 'string', 'example' => 'ACTIVE'], + 'ChildInstanceId' => ['description' => '边界路由器实例ID。', 'type' => 'string', 'example' => 'vbr-gw8vjq2zjux3ifsc9****'], + 'ChildInstanceType' => ['description' => '子实例类型。取值:**VBR**边界路由器。', 'type' => 'string', 'example' => 'VBR'], + 'ChildInstanceRegionId' => ['description' => '子实例所属地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'ChildInstanceOwnerId' => ['description' => '子实例所属的阿里云账号ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '112101171212****'], + 'Description' => ['description' => '子实例描述信息', 'type' => 'string', 'example' => 'test '], + 'ChildInstanceName' => ['type' => 'string'], + ], + ], ], ], ], @@ -3822,179 +2237,110 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ResourceNotFound.NexthopInstanceId', - 'errorMessage' => 'The next hop instance does not exist.', - ], - [ - 'errorCode' => 'IllegalParamFormat.DestinationCidrBlock', - 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'ResourceInCreating.NexthopInstanceId', - 'errorMessage' => 'The next hop instance is being created.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '禁用专线网关(ECR)路由项', - ], - 'EnableExpressConnectRouterRouteEntries' => [ - 'summary' => '启用专线网关ECR(Express Connect Router)路由条目。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询专线网关(ECR)绑定的子实例信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterChildInstance'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"ChildInstanceList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"ChildInstanceId\\": \\"vbr-gw8vjq2zjux3ifsc9****\\",\\n \\"ChildInstanceType\\": \\"VBR\\",\\n \\"ChildInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"ChildInstanceOwnerId\\": 0,\\n \\"Description\\": \\"test \\",\\n \\"ChildInstanceName\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeExpressConnectRouterInterRegionTransitMode' => [ + 'summary' => '查询专线网关ECR(Express Connect Router)的跨地域转发模式。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197610', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect9IGKFS', - ], + 'abilityTreeCode' => '199363', + 'abilityTreeNodes' => ['FEATUREexpressconnectLCKWNS', 'FEATUREexpressconnect2V07Q4'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'DestinationCidrBlock', - 'in' => 'formData', - 'schema' => [ - 'description' => '网关路由表中路由条目的目标网段。', - 'type' => 'string', - 'required' => true, - 'example' => '10.153.32.**/**', - ], - ], - [ - 'name' => 'NexthopInstanceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '下一跳实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'tr-hp3u4u5f03tfuljis****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<EnableEcrRouteResponse>', - 'description' => 'RpcResponse<EnableEcrRouteResponse>', + 'title' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>', + 'description' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'InterRegionTransitModeList' => [ + 'description' => '跨域转发模式列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['description' => '专线网关所属的地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'Mode' => ['description' => 'ECR跨域转发模式,取值:'."\n" + .'- **ECMP**:负载均衡模式。'."\n" + .'- **NearBy**:就近转发模式。', 'type' => 'string', 'example' => 'ECMP'], + ], + ], ], ], ], @@ -4002,52 +2348,40 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ResourceNotFound.NexthopInstanceId', - 'errorMessage' => 'The next hop instance does not exist.', - ], - [ - 'errorCode' => 'IllegalParamFormat.DestinationCidrBlock', - 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'ResourceInCreating.NexthopInstanceId', - 'errorMessage' => 'The next hop instance is being created.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '启用专线网关(ECR)路由项', - ], - 'DescribeDisabledExpressConnectRouterRouteEntries' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)禁用的路由条目。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询专线网关(ECR)的跨域转发模式', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterInterRegionTransitMode'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterInterRegionTransitMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"InterRegionTransitModeList\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Mode\\": \\"ECMP\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeExpressConnectRouterRegion' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4059,180 +2393,58 @@ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199356', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectU328UX', - ], + 'abilityTreeCode' => '199494', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次 API 调用返回的NextToken值。', - 'type' => 'string', - 'required' => false, - 'example' => 'FFv4fzkNPW8Z+cZ+DBXXQ3Gmf3XlCgpBH43oaTYTAAcGc708Zb+pDyAGVJBo/MKsyrtZfPnX9Ztf02vgdIDyaNe8UuZdf/JJk069qxGKzqSKg=', - ], - ], - [ - 'name' => 'MaxResults', - 'in' => 'formData', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '要查询的专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeEcrDisabledRouteResponse>', - 'description' => 'RpcResponse<DescribeEcrDisabledRouteResponse>', + 'title' => 'RpcResponse<DescribeEcrRegionResponse>', + 'description' => 'RpcResponse<DescribeEcrRegionResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '查询禁用专线网关路由是否成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsInstanceId**,则代表所传入的请求参数**DtsInstanceId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'TotalCount' => [ - 'description' => '总共的路由条目数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果NextToken为空表示没有下一次查询。'."\n" - .'- 如果NextToken有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==', - ], - 'DisabledRouteEntryList' => [ - 'description' => '查询的路由列表。', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage **返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage **返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + 'RegionIdList' => [ + 'description' => '存在子资源的地域列表。', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EcrId' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-mezk2idmsd0vx2****'."\n", - ], - 'DestinationCidrBlock' => [ - 'description' => '路由条目的目标网段。', - 'type' => 'string', - 'example' => '192.168.100.110/32', - ], - 'NexthopInstanceId' => [ - 'description' => '下一跳实例ID。', - 'type' => 'string', - 'example' => 'br-hp3u4u5f03tfuljis****'."\n", - ], - 'NexthopInstanceRegionId' => [ - 'description' => '下一跳实例所属的地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'GmtCreate' => [ - 'description' => '创建路由条目的时间。', - 'type' => 'string', - 'example' => '1682317345', - ], - ], - ], + 'items' => ['description' => '存在子资源的地域。', 'type' => 'string', 'example' => '[\\"cn-shanghai\\"]'], ], ], ], @@ -4240,40 +2452,40 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询专线网关(ECR)相关资源的所在地域列表', + 'summary' => '查询专线网关ECR(Express Connect Router)相关资源的所在地域列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRegion'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 6,\\n \\"NextToken\\": \\"gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==\\",\\n \\"DisabledRouteEntryList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\\\n\\",\\n \\"DestinationCidrBlock\\": \\"192.168.100.110/32\\",\\n \\"NexthopInstanceId\\": \\"br-hp3u4u5f03tfuljis****\\\\n\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreate\\": \\"1682317345\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询禁用的专线网关(ECR)路由', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRegion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"RegionIdList\\": [\\n \\"[\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\"]\\"\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterRouteEntries' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)路由条目。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4286,121 +2498,68 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '199353', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect9IGKFS', - ], + 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'QueryRegionId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例所属地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => '专线网关实例所属地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'formData', - 'schema' => [ - 'description' => '要查询的路由条目的目标网段。', - 'type' => 'string', - 'required' => false, - 'example' => '172.20.4.0/24', - ], + 'schema' => ['description' => '要查询的路由条目的目标网段。', 'type' => 'string', 'required' => false, 'example' => '172.20.4.0/24'], ], [ 'name' => 'NexthopInstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '下一跳实例ID', - 'type' => 'string', - 'required' => false, - 'example' => 'vbr-hp3u4u5f03tfuljis****', - ], + 'schema' => ['description' => '下一跳实例ID', 'type' => 'string', 'required' => false, 'example' => 'vbr-hp3u4u5f03tfuljis****'], ], [ 'name' => 'AsPath', 'in' => 'formData', - 'schema' => [ - 'description' => '路由条目经过的AS路径。', - 'type' => 'string', - 'required' => false, - 'example' => '[64993,64512]', - ], + 'schema' => ['description' => '路由条目经过的AS路径。', 'type' => 'string', 'required' => false, 'example' => '[64993,64512]'], ], [ 'name' => 'Community', 'in' => 'formData', - 'schema' => [ - 'description' => 'BGP路由条目携带的Community值。', - 'type' => 'string', - 'required' => false, - 'example' => '9001:9263', - ], + 'schema' => ['description' => 'BGP路由条目携带的Community值。', 'type' => 'string', 'required' => false, 'example' => '9001:9263'], ], [ 'name' => 'NextToken', 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], [ 'name' => 'MaxResults', 'in' => 'formData', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ @@ -4410,116 +2569,40 @@ 'description' => 'RpcResponse<DescribeEcrRouteResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '实例操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'TotalCount' => [ - 'description' => '列表总条目数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:10。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA==', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '实例操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'TotalCount' => ['description' => '列表总条目数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:10。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA=='], 'RouteEntriesList' => [ 'description' => '路由条目列表。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'DestinationCidrBlock' => [ - 'description' => '路由条目的目标网段。', - 'type' => 'string', - 'example' => '192.168.0.**/**', - ], - 'Status' => [ - 'description' => '专线网关实例的状态', - 'type' => 'string', - 'example' => 'ACTIVE', - ], - 'NexthopInstanceId' => [ - 'description' => '下一跳实例ID。', - 'type' => 'string', - 'example' => 'vbr-hp3u4u5f03tfuljis****', - ], - 'NexthopInstanceRegionId' => [ - 'description' => '下一跳实例所属的地域。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'AsPath' => [ - 'description' => '路由条目经过的AS路径。', - 'type' => 'string', - 'example' => '[64993,64512]', - ], - 'Community' => [ - 'description' => 'BGP路由条目携带的Community值。', - 'type' => 'string', - 'example' => '9001:9263', - ], - 'Med' => [ - 'description' => 'BGP路由条目携带的MED值,作用于专线网关与TR之间。 '."\n" - .'- MED可配置为2000(配置后则此TR与ECR作为Default路径) '."\n" - .'- 非Default路径时,此MED值为空 '."\n" - .'- 同一个CEN的TR只能有一个关联对象的MED为可配置为2000', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000', - ], + 'DestinationCidrBlock' => ['description' => '路由条目的目标网段。', 'type' => 'string', 'example' => '192.168.0.**/**'], + 'Status' => ['description' => '专线网关实例的状态', 'type' => 'string', 'example' => 'ACTIVE'], + 'NexthopInstanceId' => ['description' => '下一跳实例ID。', 'type' => 'string', 'example' => 'vbr-hp3u4u5f03tfuljis****'], + 'NexthopInstanceRegionId' => ['description' => '下一跳实例所属的地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'AsPath' => ['description' => '路由条目经过的AS路径。', 'type' => 'string', 'example' => '[64993,64512]'], + 'Community' => ['description' => 'BGP路由条目携带的Community值。', 'type' => 'string', 'example' => '9001:9263'], + 'Med' => ['description' => 'BGP路由条目携带的MED值,作用于专线网关与TR之间。 '."\n" + .'- MED可配置为2000(配置后则此TR与ECR作为Default路径) '."\n" + .'- 非Default路径时,此MED值为空 '."\n" + .'- 同一个CEN的TR只能有一个关联对象的MED为可配置为2000', 'type' => 'integer', 'format' => 'int64', 'example' => '2000'], ], ], ], @@ -4529,178 +2612,42 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IllegalParamFormat.DestinationCidrBlock', - 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => '您当前指定的目的Cidr路由参数格式错误,请核对后重新输入。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA==\\",\\n \\"RouteEntriesList\\": [\\n {\\n \\"DestinationCidrBlock\\": \\"192.168.0.**/**\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"NexthopInstanceId\\": \\"vbr-hp3u4u5f03tfuljis****\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"AsPath\\": \\"[64993,64512]\\",\\n \\"Community\\": \\"9001:9263\\",\\n \\"Med\\": 2000\\n }\\n ]\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询专线网关(ECR)的路由条目', - ], - 'MoveResourceGroup' => [ - 'summary' => '修改专线网关所属的资源组。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '200712', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectJZV4YI', + 'summary' => '查询专线网关ECR(Express Connect Router)路由条目。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRouteEntries'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'NewResourceGroupId', - 'in' => 'formData', - 'schema' => [ - 'description' => '新资源组ID。'."\n" - .'关于资源组的更多信息,请参见[什么是资源组](~~94475~~)。'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'rg-acfmvt3xpr5****', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'formData', - 'schema' => [ - 'description' => '资源类型。可能的值:'."\n" - ."\n" - .'- EXPRESSCONNECTROUTER:专线网关。', - 'type' => 'string', - 'required' => true, - 'example' => 'EXPRESSCONNECTROUTER', - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'formData', - 'schema' => [ - 'description' => '需要修改资源组的云资源的实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-897j0jooxyr1aq****', - ], - ], - [ - 'name' => 'DryRun', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求,取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改资源组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" - .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ClientToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '用于保证请求的幂等性,防止重复提交请求。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'RpcResponse<BaseResult>', - 'description' => 'RpcResponse<BaseResult>', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => '本次请求的ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口返回信息', - 'type' => 'string', - 'example' => 'OK', - ], + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '修改专线网关所属的资源组', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA==\\",\\n \\"RouteEntriesList\\": [\\n {\\n \\"DestinationCidrBlock\\": \\"192.168.0.**/**\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"NexthopInstanceId\\": \\"vbr-hp3u4u5f03tfuljis****\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"AsPath\\": \\"[64993,64512]\\",\\n \\"Community\\": \\"9001:9263\\",\\n \\"Med\\": 2000\\n }\\n ]\\n}","type":"json"}]', ], - 'ListTagResources' => [ - 'summary' => '查询专线网关绑定的标签列表。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeFlowLogs' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4709,47 +2656,39 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '200710', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectI9TIJD', - ], + 'abilityTreeCode' => '253981', + 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '资源类型。支持的类型为 EXPRESSCONNECTROUTER,即专线网关实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'EXPRESSCONNECTROUTER', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-a5xqrgbeidz1w8****'], ], [ - 'name' => 'ResourceId', + 'name' => 'DryRun', 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '专线网关实例ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '专线网关实例ID。'."\n" - ."\n" - .'最多可以指定50个资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-kgzj75zpq50hqz****', - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'Tag', + 'name' => 'ClientToken', 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], + ], + [ + 'name' => 'Tag', + 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => '标签。'."\n" @@ -4757,311 +2696,395 @@ .'最多可以绑定20个标签。', 'type' => 'array', 'items' => [ - 'description' => '标签。', + 'description' => '标签列表。', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。'."\n" - ."\n" - .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" - ."\n" - .'一次最多支持输入20个标签的标签键。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '标签值。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。'."\n" - ."\n" - .'一次调用最多支持添加20个标签值。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], + 'Key' => ['description' => '资源的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '监听的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], ], 'required' => false, ], 'required' => false, - 'enumValueTitles' => [], 'maxItems' => 20, ], ], [ 'name' => 'NextToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果 NextToken 为空表示没有下一次查询。'."\n" - .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'required' => false, - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', - ], + 'in' => 'query', + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果 NextToken 为空表示没有下一次查询。'."\n" + .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'required' => false, 'example' => 'gAAAAABkWw*******'], ], [ 'name' => 'MaxResults', - 'in' => 'formData', - 'schema' => [ - 'description' => '单次请求返回结果的最大条数。默认值:20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'in' => 'query', + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => ['description' => '流日志实例ID。', 'type' => 'string', 'required' => false, 'example' => 'ecr-flog-jqnr0veifo5d****'], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'query', + 'schema' => ['description' => '流日志名称。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'same-flowlog'], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => ['description' => '存储捕获流量的 Project。'."\n" + .'- 如果您已经在当前地域创建了 Project,您可以输入已创建的 Project 的名称。'."\n" + .'- 如果您未在当前地域创建 Project,您可以为 Project 自定义名称,系统会帮您自动创建 Project。'."\n" + ."\n\n" + .'Project 名称在阿里云地域内全局唯一,创建后不可修改。其命名规则如下:'."\n" + .' '."\n" + .'- Project名称必须全局唯一。'."\n" + .'- 只能包括小写'."\n" + .'- 字母、数字和短划线(-)。'."\n" + .'- 必须以小写字母或者数字开头和结尾。'."\n" + .'- 长度为 3~63 字符。', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog'], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => ['description' => '存储捕获流量的 Logstore。'."\n" + .'- 如果您已经在当前地域创建了 Logstore,您可以输入已创建的 Logstore 的名称。'."\n" + .'- 如果您未在当前地域创建 Logstore,您可以为 Logstore 自定义名称,系统会帮您自动创建 Logstore。 Logstore 名称。其命名规则如下:'."\n" + ."\n" + .'- 同一个 Project 下,Logstore 名称不可重复。'."\n" + .'- 只能包括小写字母、数字、短划线(-)和下划线(_)。'."\n" + .'- 必须以小写字母或者数字开头和结尾。'."\n" + .'- 长度为 3~63 字符。', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog'], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => '专线网关加载的VBR实例ID。', 'type' => 'string', 'required' => false, 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '流日志实例所属资源组的ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2aq7f4va****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ListEcrTagResourcesResponse>', - 'description' => '查询结果。', + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'TagResources' => [ - 'description' => '标签列表。', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'TotalCount' => ['description' => '符合查询条件的记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '11'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], + 'FlowLogs' => [ + 'description' => '流日志信息列表。', 'type' => 'array', 'items' => [ - 'description' => '资源绑定的标签信息。', + 'description' => '流日志信息。', 'type' => 'object', 'properties' => [ - 'ResourceId' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'example' => 'ecr-897j0jooxyr1aq****', - ], - 'ResourceType' => [ - 'description' => '资源类型。返回值固定为 **EXPRESSCONNECTROUTER**,即专线网关实例。', - 'type' => 'string', - 'example' => 'EXPRESSCONNECTROUTER', - ], - 'TagKey' => [ - 'description' => '资源的标签键。', - 'type' => 'string', - 'example' => 'TestKey', - ], - 'TagValue' => [ - 'description' => '专线网关的标签值。', - 'type' => 'string', - 'example' => 'TestValue', + 'FlowLogId' => ['description' => '流日志实例ID。', 'type' => 'string', 'example' => 'ecr-flog-leypqehtgtia2*****'], + 'EcrId' => ['description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-h4cop1khw98*****'], + 'RegionId' => ['description' => 'ECR所属的地域ID。', 'type' => 'string', 'example' => 'cn-shanghai'], + 'Status' => ['description' => '流日志的状态。'."\n" + .'- **Active**:已启动。'."\n" + .'- **Inactive**:未启动。', 'type' => 'string', 'example' => 'Active'], + 'FlowLogName' => ['description' => '流日志的名称。', 'type' => 'string', 'example' => 'myFlowlog'], + 'Description' => ['description' => '专线网关实例的描述信息。', 'type' => 'string', 'example' => 'myFlowlog'], + 'Interval' => ['description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:'."\n" + ."\n" + .'- **60** '."\n" + .'- **600**'."\n" + ."\n" + .'默认值:**600**。', 'type' => 'integer', 'format' => 'int32', 'example' => '600'], + 'SamplingRate' => ['description' => '采样比例。取值'."\n" + ."\n" + .'- **1:4096**'."\n" + .'- **1:2048**'."\n" + .'- **1:1024**'."\n" + ."\n" + .'默认值:**1:4096**。', 'type' => 'string', 'example' => '1:4096 '], + 'LogStoreName' => ['description' => '存储捕获流量的 LogStore 名称。', 'type' => 'string', 'example' => 'FlowLogStore'], + 'ProjectName' => ['description' => '存储捕获流量的 Project 名称。', 'type' => 'string', 'example' => 'FlowLogProject'], + 'InstanceType' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。', 'type' => 'string', 'example' => 'VBR'], + 'ResourceGroupId' => ['description' => '专线网关实例所属资源组的ID。', 'type' => 'string', 'example' => 'rg-aekzb3xwrexc4ry'], + 'Tags' => [ + 'description' => '专线网关实例的标签键。', + 'type' => 'array', + 'items' => [ + 'description' => '专线网关实例的标签键。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '实例的标签键。一旦传入该值,则不允许为空字符串。'."\n" + ."\n" + .'> 最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'example' => 'TagKey'], + 'Value' => ['description' => '标签值。'."\n" + ."\n" + .'>最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。', 'type' => 'string', 'example' => 'TagValue'], + ], + ], ], + 'InstanceId' => ['description' => '授权实例的ID。', 'type' => 'string', 'example' => 'vbr-9dpty76irpf4u15*****'], + 'CreationTime' => ['description' => '流日志的创建时间。'."\n" + .'时间按照 ISO8601 标准表示,并使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', 'type' => 'string', 'example' => '2023-09-21T04:20Z'], + 'SlsRegionId' => ['description' => '日志服务的地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], ], ], ], - 'TotalCount' => [ - 'description' => '符合查询条件的记录总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', - ], - 'MaxResults' => [ - 'description' => '分页查询时每页行数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"ecr-897j0jooxyr1aq****\\",\\n \\"ResourceType\\": \\"EXPRESSCONNECTROUTER\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ],\\n \\"TotalCount\\": 2,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"MaxResults\\": 20\\n}","type":"json"}]', - 'title' => '查询专线网关标签列表', - ], - 'UntagResources' => [ - 'summary' => '解绑专线网关的标签。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询流日志', + 'summary' => '查询流日志。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowLogs'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeFlowLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 11,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"FlowLogs\\": [\\n {\\n \\"FlowLogId\\": \\"ecr-flog-leypqehtgtia2*****\\",\\n \\"EcrId\\": \\"ecr-h4cop1khw98*****\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"Status\\": \\"Active\\",\\n \\"FlowLogName\\": \\"myFlowlog\\",\\n \\"Description\\": \\"myFlowlog\\",\\n \\"Interval\\": 600,\\n \\"SamplingRate\\": \\"1:4096 \\",\\n \\"LogStoreName\\": \\"FlowLogStore\\",\\n \\"ProjectName\\": \\"FlowLogProject\\",\\n \\"InstanceType\\": \\"VBR\\",\\n \\"ResourceGroupId\\": \\"rg-aekzb3xwrexc4ry\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ],\\n \\"InstanceId\\": \\"vbr-9dpty76irpf4u15*****\\",\\n \\"CreationTime\\": \\"2023-09-21T04:20Z\\",\\n \\"SlsRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeInstanceGrantedToExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '218206', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectI9TIJD', - ], + 'abilityTreeCode' => '199352', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ - 'name' => 'ResourceId', + 'name' => 'EcrId', 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '专线网关实例的ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '专线网关实例的 ID。最多支持解绑 50 个专线网关实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-897j0jooxyr1aq****', - ], - 'required' => true, - 'maxItems' => 100, - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'TagKey', + 'name' => 'InstanceRegionId', + 'in' => 'formData', + 'schema' => ['description' => '授权网络实例所在的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '授权实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'vbr-j6cwxhgg0s5nuephp****'], + ], + [ + 'name' => 'InstanceOwnerId', + 'in' => 'formData', + 'schema' => ['description' => '授权网络实例所属阿里云账号(主账号)ID。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1298452580502345'], + ], + [ + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **VPC**:专有网络实例。', 'type' => 'string', 'required' => false, 'example' => 'VBR'], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', 'type' => 'string', 'required' => false, 'example' => 'gAAAAABkyGzFbZR2NnxnyVk0EiL7F3qMBtBim8Es0mugRT3qb8yEHAMaHGanzuaHUmiEq9QRmok0RgxJAINBOJZa5KPjopEu_Q=='], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], + ], + [ + 'name' => 'TagModels', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ - 'description' => '要解绑的专线网关实例的标签键。', + 'description' => '标签列表。', 'type' => 'array', 'items' => [ - 'description' => '要解绑的专线网关实例的标签键。', - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'TagKey' => ['description' => '资源的标签键。最多支持输入20个标签键。如果传入该值,则不能输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'key'], + 'TagValue' => ['description' => '资源的标签值。最多支持输入20个标签值。如果传入该值,则不能输入空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'value'."\n"], + ], 'required' => false, - 'example' => 'TestKey', ], 'required' => false, 'maxItems' => 100, ], ], [ - 'name' => 'All', + 'name' => 'ResourceGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '是否解绑所有标签,只针对**TagKey**为空时有效。取值:'."\n" - ."\n" - .'- **true**:解绑专线网关实例的所有标签。'."\n" - .'- **false**(默认值):不解绑专线网关实例的所有标签。'."\n" - ."\n" - .'> 您必须输入参数 **TagKey** 和参数 **All** 中的任意一个。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '实例所属的资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2tsvbnfe****'], ], [ - 'name' => 'ResourceType', + 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '资源类型。支持的类型为 **EXPRESSCONNECTROUTER**,即专线网关实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'EXPRESSCONNECTROUTER', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'DryRun', + 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], [ - 'name' => 'ClientToken', + 'name' => 'CallerType', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端 Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用 API 请求的 **RequestId** 作为 **ClientToken** 标识。每次 API 请求的 **RequestId** 不一样。', - 'type' => 'string', - 'required' => false, - 'example' => ' '."\n" - .'02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '调用者类型'."\n" + ."\n" + .'- ECR'."\n" + .'- OTHER'."\n" + ."\n" + .'默认值: ECR', 'type' => 'string', 'required' => false, 'example' => 'ECR'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<BaseResult>', - 'description' => 'RpcResponse<BaseResult>', + 'title' => 'RpcResponse<DescribeInstanceGrantedToEcrResponse>', + 'description' => 'RpcResponse<DescribeInstanceGrantedToEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口返回信息', - 'type' => 'string', - 'example' => 'OK', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.Name'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of Name **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], + 'TotalCount' => ['description' => '授权给专线网关的网络实例总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'MaxResults' => ['description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:20。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ=='], + 'EcrGrantedInstanceList' => [ + 'description' => 'ECR授权实例列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GrantId' => ['description' => '授权ID。', 'type' => 'string', 'example' => 'gr-8gdelo13mi99g1****'], + 'Status' => ['description' => '授权网络实例的状态。', 'type' => 'string', 'example' => 'Active'], + 'GmtCreate' => ['description' => '创建实例的时间。', 'type' => 'string', 'example' => '1669023139000'], + 'GmtModified' => ['description' => '修改实例的时间', 'type' => 'string', 'example' => '1669023139000'], + 'EcrId' => ['description' => '专线网关实例ID。', 'type' => 'string', 'example' => 'ecr-mezk2idmsd0vx2****'], + 'NodeId' => ['description' => '授权实例ID。', 'type' => 'string', 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"], + 'NodeType' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **VPC**:虚拟专有网络实例。', 'type' => 'string', 'example' => 'VBR'], + 'NodeRegionId' => ['description' => '授权实例所属地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'NodeOwnerUid' => ['description' => '实例所属的阿里云账号的ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '129845258050****'."\n"], + 'NodeOwnerBid' => ['description' => '实例所属的阿里云企业账号ID。', 'type' => 'string', 'example' => '26842****'], + 'EcrOwnerAliUid' => ['description' => '接受授权的专线网关实例所属阿里云账号(主账号)ID。', 'type' => 'string', 'example' => '229845258050****'."\n"], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '专线网关解绑标签', - ], - 'CreateExpressConnectRouter' => [ - 'summary' => '新建专线网关ECR(Express Connect Router)。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询授权给专线网关(ECR)的网络实例', + 'summary' => '查询授权给专线网关ECR(Express Connect Router)的网络实例。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeInstanceGrantedToExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeInstanceGrantedToExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==\\",\\n \\"EcrGrantedInstanceList\\": [\\n {\\n \\"GrantId\\": \\"gr-8gdelo13mi99g1****\\",\\n \\"Status\\": \\"Active\\",\\n \\"GmtCreate\\": \\"1669023139000\\",\\n \\"GmtModified\\": \\"1669023139000\\",\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"NodeId\\": \\"vbr-j6cwxhgg0s5nuephp****\\\\n\\",\\n \\"NodeType\\": \\"VBR\\",\\n \\"NodeRegionId\\": \\"cn-hangzhou\\",\\n \\"NodeOwnerUid\\": 0,\\n \\"NodeOwnerBid\\": \\"26842****\\",\\n \\"EcrOwnerAliUid\\": \\"229845258050****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DetachExpressConnectRouterChildInstance' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -5070,980 +3093,577 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197622', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '197609', + 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例的名称。'."\n" - .'> 名称可以为空或长度为 0~128 个字符,不能以 http://或 https://开头。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'Description', + 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例的描述。'."\n" - ."\n" - .'>描述可以为空或长度为 0~256 个字符,不能以 http://或 https://开头。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'ChildInstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例所属的资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmvvajg5q****', - ], + 'schema' => ['description' => 'VBR实例ID。', 'type' => 'string', 'required' => true, 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ - 'name' => 'AlibabaSideAsn', + 'name' => 'ChildInstanceType', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例的ASN。可取值为45104(默认值),64512~65534和4200000000~4294967294,其中65025为阿里云保留值。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '45104', - ], + 'schema' => ['description' => '网络实例的类型。取值:**VBR**边界路由器实例。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00**** ', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签。'."\n" - ."\n" - .'最多可以绑定20个标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签信息。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:**1**~**20**。一旦传入该值,可以为空字符串。最多支持128个字符,不能以`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateEcrResponse>', - 'description' => 'RpcResponse<CreateEcrResponse>', + 'title' => 'RpcResponse<DetachChildInstanceResponse>', + 'description' => 'RpcResponse<DetachChildInstanceResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '创建ECR实例是否成功。取值:'."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断创建ECR实例是否成功。返回值为200表示创建成功,返回其他值表示创建失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.Name', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of Name **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'EcrId' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-fu8rszhgv7623c****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'OperationFailed.UserNotInWhiteList', - 'errorMessage' => 'The current user is not in the whitelist.', - ], - [ - 'errorCode' => 'QuotaExceeded.EcrCountPerUser', - 'errorMessage' => 'ECR Quota Exceeded.', - ], - [ - 'errorCode' => 'Conflict.ASNOfECR', - 'errorMessage' => 'ASN already used by other ECR.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParam.AlibabaSideAsn', - 'errorMessage' => 'The entered Bgp Asn is incorrect.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'ECR Association实例不允许当前操作。请在进行中的操作完成后,重试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'OperationDenied.CrossAccountDisassociating', 'errorMessage' => 'Unbind cross-account.', 'description' => '当前操作被拒绝,需在跨账号页面解除绑定操作后再执行此操作'], + ['errorCode' => 'OperationDenied.EcrAttachmentExisted', 'errorMessage' => 'Ecr and TR have been linked.', 'description' => '当前操作被拒绝,专线网关实例与TR已建立链接,请解除后再执行此操作。'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.', 'description' => '当前操作无法正常执行,边界路由器中存在路由条目处于配置生效中,请等待生效后重试。'], + ['errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.', 'description' => '当前操作无法正常执行,边界路由器中存在BGP组处于配置生效中,请等待生效后重试。'], + ['errorCode' => 'OperationDenied.VbrUsedInVbrHa', 'errorMessage' => 'The border router has been used by the switching group and cannot be bound to the leased line gateway.', 'description' => '卸载失败,边界路由器已关联倒换组。卸载前请先解除关联的倒换组。'], + ['errorCode' => 'ResourceInUse.HaVbrGroup', 'errorMessage' => 'The specified resource of %s is in use.', 'description' => '边界路由器还在倒换组中,请退出倒换组后重试。'], + ['errorCode' => 'ResourceInUse.ChildInstance', 'errorMessage' => 'The specified resource of ChildInstance is in use.', 'description' => '当前专线网关绑定的VBR未关闭Flowlog,请尝试关闭对应VBR的Flowlog后,再次发起卸载VBR操作。 '], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], + ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\"\\n}","type":"json"}]', - 'title' => '新建专线网关(ECR)', - 'description' => '创建专线网关实例后,专线网关的实例状态为**Active**。', - ], - 'DeleteExpressConnectRouter' => [ - 'summary' => '删除专线网关ECR(Express Connect Router)。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '从专线网关(ECR)卸载子实例', + 'summary' => '从专线网关ECR(Express Connect Router)卸载边界路由器(VBR)。', + 'description' => '在调用**DetachExpressConnectRouterChildInstance**接口从专线网关卸载VBR实例之前,请确保专线网关的状态为**Active**。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachExpressConnectRouterChildInstance'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DetachExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'DisableExpressConnectRouterRouteEntries' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197616', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '197618', + 'abilityTreeNodes' => ['FEATUREexpressconnectU328UX'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****'."\n", - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'formData', + 'schema' => ['description' => '网关路由表中路由条目的目标网段。', 'type' => 'string', 'required' => true, 'example' => '10.153.32.**/**'], + ], + [ + 'name' => 'NexthopInstanceId', + 'in' => 'formData', + 'schema' => ['description' => '下一跳实例ID', 'type' => 'string', 'required' => true, 'example' => 'tr-hp3u4u5f03tfuljis****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DeleteEcrResponse>', - 'description' => '返回数据结构体。', + 'title' => 'RpcResponse<DisableEcrRouteResponse>', + 'description' => 'RpcResponse<DisableEcrRouteResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '删除ECR实例是否成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断删除ECR实例是否成功。返回值为200表示创建成功,返回其他值表示创建失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'ResourceInUse.Ecr', - 'errorMessage' => 'The express connect router is currently in use.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'ResourceNotFound.NexthopInstanceId', 'errorMessage' => 'The next hop instance does not exist.', 'description' => '下一跳实例不存在'], + ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => '您当前指定的目的Cidr路由参数格式错误,请核对后重新输入。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'ResourceInCreating.NexthopInstanceId', 'errorMessage' => 'The next hop instance is being created.', 'description' => '您当前所指的下一跳实例正在创建中'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '删除专线网关(ECR)', - 'description' => '在调用DeleteExpressConnectRouter接口删除ECR实例之前,请注意:'."\n" - ."\n" - .'- 删除专线网关实例前,必须删除专线网关实例上所关联的资源。'."\n" - ."\n" - .'- 只能删除**Active**状态的专线网关实例。', - ], - 'ModifyExpressConnectRouterInterRegionTransitMode' => [ - 'summary' => '修改专线网关ECR(Express Connect Router)的跨地域转发模式。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '禁用专线网关(ECR)路由项', + 'summary' => '禁用专线网关ECR(Express Connect Router)路由项。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableExpressConnectRouterRouteEntries'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DisableExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', + ], + 'EnableExpressConnectRouterRouteEntries' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197619', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectLCKWNS', - ], + 'abilityTreeCode' => '197610', + 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'TransitModeList', + 'name' => 'DestinationCidrBlock', 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '跨域转发模式列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => '专线网关实例所属的地域。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - 'Mode' => [ - 'description' => '专线网关跨域转发模式,取值:'."\n" - .'- **ECMP**:负载均衡模式。'."\n" - .'- **NearBy**:就近转发模式。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'ECMP' => 'ECMP', - 'NearBy' => 'NearBy', - ], - 'example' => 'ECMP', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 100, - ], + 'schema' => ['description' => '网关路由表中路由条目的目标网段。', 'type' => 'string', 'required' => true, 'example' => '10.153.32.**/**'], + ], + [ + 'name' => 'NexthopInstanceId', + 'in' => 'formData', + 'schema' => ['description' => '下一跳实例ID', 'type' => 'string', 'required' => true, 'example' => 'tr-hp3u4u5f03tfuljis****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ModifyEcrTransitModeResponse>', - 'description' => 'RpcResponse<ModifyEcrTransitModeResponse>', + 'title' => 'RpcResponse<EnableEcrRouteResponse>', + 'description' => 'RpcResponse<EnableEcrRouteResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'IllegalParam.RegionId', - 'errorMessage' => 'Area parameter invalid.', - ], - [ - 'errorCode' => 'IllegalParam.TransitMode', - 'errorMessage' => 'The transmission mode parameter is invalid.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'ResourceNotFound.NexthopInstanceId', 'errorMessage' => 'The next hop instance does not exist.', 'description' => '下一跳实例不存在'], + ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => '您当前指定的目的Cidr路由参数格式错误,请核对后重新输入。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'ResourceInCreating.NexthopInstanceId', 'errorMessage' => 'The next hop instance is being created.', 'description' => '您当前所指的下一跳实例正在创建中'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '启用专线网关(ECR)路由项', + 'summary' => '启用专线网关ECR(Express Connect Router)路由条目。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableExpressConnectRouterRouteEntries'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:EnableExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '修改专线网关(ECR)的跨地域转发模式', ], - 'ModifyExpressConnectRouterAssociationAllowedPrefix' => [ - 'summary' => '修改专线网关ECR(Express Connect Router)绑定的专有网络(VPC)或者转发路由器(TR)的前缀路由。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ForceDeleteExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197603', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectDQ6AHD', - ], + 'abilityTreeCode' => '197612', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ - 'name' => 'EcrId', - 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'AssociationId', - 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关与VPC或TR的关联ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-assoc-9p2qxx5phpca2m****', - ], - ], - [ - 'name' => 'AllowedPrefixes', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '允许的路由前缀列表。', - 'type' => 'array', - 'items' => [ - 'description' => '允许的路由前缀。', - 'type' => 'string', - 'required' => false, - 'example' => '192.0.20.0/24', - ], - 'required' => false, - 'maxItems' => 10000, - ], - ], - [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'ClientToken', + 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'."\n"], ], [ - 'name' => 'AllowedPrefixesMode', + 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '前缀路由模式,取值:'."\n" - .'- MatchMode: 匹配模式, 仅发布配置的路由网段到IDC,对原有发布的明细路由进行回撤。'."\n" - .'- IncrementalMode: 增量模式, 发布配置的路由网段到IDC的同时对原有发布落在配置的路由网段内的明细路由进行回撤,未落在配置的网段内的明细路由保持发布。', - 'type' => 'string', - 'required' => false, - 'example' => 'MatchMode', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ModifyAssociationAllowedPrefixResponse>', - 'description' => 'RpcResponse<ModifyAssociationAllowedPrefixResponse>', + 'title' => 'RpcResponse<ForceDeleteEcrResponse>', + 'description' => 'RpcResponse<ForceDeleteEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '05130E79-588D-5C40-A718-C4863A59****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'IncorrectStatus.EcrAssociation', - 'errorMessage' => 'Ecr Association Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'IllegalParamFormat.AllowedPrefixes', - 'errorMessage' => 'The prefix parameter format is invalid. Procedure.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParamSize.AllowedPrefixes', - 'errorMessage' => 'The number of prefix routes exceeded the quota.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'OperationFailed.UsedInRouteEntryNextHop', 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'description' => 'VPC还有静态路由指向ECR,不允许解除关联 ECR'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.AssociationId', - 'errorMessage' => 'EcrAssociationId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '修改专线网关(ECR)的前缀路由', - ], - 'ModifyExpressConnectRouter' => [ - 'summary' => '修改专线网关ECR(Express Connect Router)的名称等属性。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除专线网关(ECR)及关联关系', + 'summary' => '删除专线网关ECR(Express Connect Router),并解绑相关联的专有网络(VPC),转发路由器(TR)和边界路由器(VBR)。', + 'description' => '- 强制删除专线网关实例,会将绑定的资源一次性全部删除,请确认删除后不影响业务稳定性。'."\n" + ."\n" + .'- 只能删除**Active**状态的专线网关实例。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ForceDeleteExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ForceDeleteExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'GrantInstanceToExpressConnectRouter' => [ + 'summary' => '将的专有网络(VPC)或者边界路由器(VBR)授权给跨账号的专线网关ECR(Express Connect Router)。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197614', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectY33HGU', - ], + 'abilityTreeCode' => '197607', + 'abilityTreeNodes' => ['FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****'."\n", - ], + 'schema' => ['description' => '关联的专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'Name', + 'name' => 'EcrOwnerAliUid', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例的名称。'."\n" - .'> 名称可以为空或长度为 0~128 个字符,不能以 http://或 https://开头。', - 'type' => 'string', - 'required' => false, - 'example' => 'test'."\n", - ], + 'schema' => ['description' => '接受授权的专线网关实例所属阿里云账号(主账号)ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '121012345612****'], ], [ - 'name' => 'Description', + 'name' => 'InstanceId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例的描述。'."\n" - .'> 描述可以为空或长度为 0~256 个字符,不能以 http://或 https://开头。', - 'type' => 'string', - 'required' => false, - 'example' => 'test'."\n", - ], + 'schema' => ['description' => '网络实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"], + ], + [ + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **VPC**:专有网络实例。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], + ], + [ + 'name' => 'InstanceRegionId', + 'in' => 'formData', + 'schema' => ['description' => '授权网络实例所在的地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ModifyEcrResponse>', - 'description' => 'RpcResponse<ModifyEcrResponse>', + 'title' => 'RpcResponse<GrantInstanceToEcrResponse>', + 'description' => 'RpcResponse<GrantInstanceToEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '修改专线网关实例是否成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True'."\n", - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK'."\n", - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.Name'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of Name **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], + ['errorCode' => 'IllegalParam.EcrOwnerAliUid', 'errorMessage' => 'The Ecr instance account parameter is invalid.', 'description' => '该专线网关实例账号为非法参数,请核对后重新输入'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'IllegalParam.InstanceOwnerId', 'errorMessage' => 'Specified parameter InstanceOwnerId is not valid.', 'description' => '该实例账号为非法参数,请核对后重新输入'."\n"], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\\\n\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '修改专线网关(ECR)属性', - 'description' => '只能修改**Active**状态的专线网关实例。', - ], - 'DescribeExpressConnectRouterInterRegionTransitMode' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)的跨地域转发模式。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '将网络实例授权给专线网关(ECR)', + 'description' => '将跨账号的网络实例关联至专线网关实例时,您需要将网络实例授权给专线网关实例。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:GrantInstanceToExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'InstanceType', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], + ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'ListExpressConnectRouterSupportedRegion' => [ + 'summary' => '查询专线网关ECR(Express Connect Router)开服地域列表。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -6055,123 +3675,46 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199363', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectLCKWNS', - 'FEATUREexpressconnect2V07Q4', - ], + 'abilityTreeCode' => '213773', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ - 'name' => 'EcrId', - 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - ], - [ - 'name' => 'DryRun', + 'name' => 'NodeType', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **TR**:转发路由器实例。'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **VPC**:虚拟专有网络实例。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>', - 'description' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>', + 'title' => 'RpcResponse<ListEcrSupportedRegionResponse>', + 'description' => '返回数据结构体。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'InterRegionTransitModeList' => [ - 'description' => '跨域转发模式列表。', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- True:成功。'."\n" + .'- False:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'SupportedRegionIdList' => [ + 'description' => '开服地域列表。', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => '专线网关所属的地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Mode' => [ - 'description' => 'ECR跨域转发模式,取值:'."\n" - .'- **ECMP**:负载均衡模式。'."\n" - .'- **NearBy**:就近转发模式。', - 'type' => 'string', - 'example' => 'ECMP', - ], - ], - ], + 'items' => ['description' => '开服地域。', 'type' => 'string', 'example' => 'cn-hangzhou'], ], ], ], @@ -6179,40 +3722,37 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询专线网关(ECR)开服地域列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListExpressConnectRouterSupportedRegion'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ListExpressConnectRouterSupportedRegion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"InterRegionTransitModeList\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Mode\\": \\"ECMP\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询专线网关(ECR)的跨域转发模式', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"SupportedRegionIdList\\": [\\n \\"cn-hangzhou\\"\\n ]\\n}","type":"json"}]', ], - 'DescribeExpressConnectRouterAllowedPrefixHistory' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)前缀路由的历史记录。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListTagResources' => [ + 'summary' => '查询专线网关绑定的标签列表。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -6221,1034 +3761,633 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199365', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectDQ6AHD', - ], + 'abilityTreeCode' => '200710', + 'abilityTreeNodes' => ['FEATUREexpressconnectI9TIJD'], ], 'parameters' => [ [ - 'name' => 'EcrId', + 'name' => 'ResourceType', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '资源类型。支持的类型包括:'."\n" + .'- **EXPRESSCONNECTROUTER**:专线网关ECR实例。'."\n" + .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**:ECR与VPC的关联关系。'."\n" + .'- **EXPRESSCONNECTROUTERTRASSOCIATION**:ECR与TR的关联关系。'."\n" + .'- **ECRFLOWLOG**:ECR流日志。', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER'], ], [ - 'name' => 'InstanceId', + 'name' => 'ResourceId', 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '专线网关加载的实例ID。'."\n" + 'description' => '资源的实例ID列表。'."\n" ."\n" - .'> **InstanceId**参数和**AssociationId**参数必须输入一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'vbr-j6cwxhgg0s5nuephp****', - ], - ], - [ - 'name' => 'InstanceType', - 'in' => 'formData', - 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VPC**:虚拟专有网络实例。'."\n" - .'- **TR**:转发路由器实例。', - 'type' => 'string', + .'最多可以指定50个资源组ID。', + 'type' => 'array', + 'items' => ['description' => '资源实例ID。', 'type' => 'string', 'required' => false, 'example' => 'ecr-kgzj75zpq50hqz****'], 'required' => false, - 'example' => 'VPC', + 'maxItems' => 100, ], ], [ - 'name' => 'DryRun', + 'name' => 'Tag', 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" + 'description' => '标签。'."\n" ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', + .'最多可以绑定20个标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '标签值。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'一次调用最多支持添加20个标签值。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'true', + 'enumValueTitles' => [], + 'maxItems' => 20, ], ], [ - 'name' => 'ClientToken', + 'name' => 'NextToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', - ], + 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果 NextToken 为空表示没有下一次查询。'."\n" + .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'required' => false, 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], ], [ - 'name' => 'AssociationId', + 'name' => 'MaxResults', 'in' => 'formData', - 'schema' => [ - 'title' => '专线网关与专有网络VPC或转发路由器TR的关联的实例ID。', - 'description' => '专线网关与专有网络VPC或转发路由器TR的关联的实例ID。'."\n" - ."\n" - .'> **InstanceId**参数和**AssociationId**参数必须输入一个。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", - ], + 'schema' => ['description' => '单次请求返回结果的最大条数。默认值:20。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeEcrAllowedPrefixHistoryResponse>', - 'description' => 'RpcResponse<DescribeEcrAllowedPrefixHistoryResponse>', + 'title' => 'RpcResponse<ListEcrTagResourcesResponse>', + 'description' => '查询结果。', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'AllowedPrefixHistoryList' => [ - 'description' => '历史前缀路由列表。', + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'TagResources' => [ + 'description' => '标签列表。', 'type' => 'array', 'items' => [ + 'description' => '资源绑定的标签信息。', 'type' => 'object', 'properties' => [ - 'AllowedPrefix' => [ - 'description' => '前缀路由。', - 'type' => 'array', - 'items' => [ - 'description' => '前缀路由条目。', - 'type' => 'string', - 'example' => '10.0.**.**/1', - ], - ], - 'GmtCreate' => [ - 'description' => '创建历史路由条目的时间。', - 'type' => 'string', - 'example' => '1673751163000', - ], + 'ResourceId' => ['description' => '资源ID。', 'type' => 'string', 'example' => 'ecr-897j0jooxyr1aq****'], + 'ResourceType' => ['description' => '资源类型。支持的类型包括:'."\n" + .'- **EXPRESSCONNECTROUTER**:专线网关ECR实例。'."\n" + .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**:ECR与VPC的关联关系。'."\n" + .'- **EXPRESSCONNECTROUTERTRASSOCIATION**:ECR与TR的关联关系。'."\n" + .'- **ECRFLOWLOG**:ECR流日志。', 'type' => 'string', 'example' => 'EXPRESSCONNECTROUTER'], + 'TagKey' => ['description' => '资源的标签键。', 'type' => 'string', 'example' => 'TestKey'], + 'TagValue' => ['description' => '专线网关的标签值。', 'type' => 'string', 'example' => 'TestValue'], ], ], ], + 'TotalCount' => ['description' => '符合查询条件的记录总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'NextToken' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + ."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], + 'MaxResults' => ['description' => '分页查询时每页行数。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ResourceNotFound.InstanceId', - 'errorMessage' => 'The instance id does not exist.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"ecr-897j0jooxyr1aq****\\",\\n \\"ResourceType\\": \\"EXPRESSCONNECTROUTER\\",\\n \\"TagKey\\": \\"TestKey\\",\\n \\"TagValue\\": \\"TestValue\\"\\n }\\n ],\\n \\"TotalCount\\": 2,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"MaxResults\\": 20\\n}","type":"json"}]', + 'title' => '查询专线网关标签列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ], - 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], - [ - 'errorCode' => 'ResourceNotFound.AssociationId', - 'errorMessage' => 'EcrAssociationId not found.', + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AllowedPrefixHistoryList\\": [\\n {\\n \\"AllowedPrefix\\": [\\n \\"10.0.**.**/1\\"\\n ],\\n \\"GmtCreate\\": \\"1673751163000\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询专线网关(ECR)的前缀路由历史记录', ], - 'DescribeExpressConnectRouter' => [ - 'summary' => '查询专线网关ECR(Express Connect Router)列表。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ModifyExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '199357', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '197614', + 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-fu8rszhgv7623c****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'."\n"], ], [ 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例名称。长度为0~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'formData', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" - .'- 如果有下一次查询,取值为上一次 API 调用返回的 NextToken 值。', - 'type' => 'string', - 'required' => false, - 'example' => 'e0a2dbeb69a8beeeb8194e92b702df3fd3e7bfe6ce7bfc16e0b5e8707e68181f', - ], + 'schema' => ['description' => '专线网关实例的名称。'."\n" + .'> 名称可以为空或长度为 0~128 个字符,不能以 http://或 https://开头。', 'type' => 'string', 'required' => false, 'example' => 'test'."\n"], ], [ - 'name' => 'MaxResults', - 'in' => 'formData', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'Tag', - 'in' => 'formData', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '进行过滤的标签列表。最多支持20个标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签信息。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '实例的标签键。一旦传入该值,则不允许为空字符串。'."\n" - ."\n" - .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '标签值。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], - ], - [ - 'name' => 'ResourceGroupId', + 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例所属资源组的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2aq7f4va****'."\n", - ], + 'schema' => ['description' => '专线网关实例的描述。'."\n" + .'> 描述可以为空或长度为 0~256 个字符,不能以 http://或 https://开头。', 'type' => 'string', 'required' => false, 'example' => 'test'."\n"], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<DescribeEcrResponse>', - 'description' => 'RpcResponse<DescribeEcrResponse>', + 'title' => 'RpcResponse<ModifyEcrResponse>', + 'description' => 'RpcResponse<ModifyEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '查询已创建ECR实例是否成功。取值:'."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.Name', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of Name **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], - 'TotalCount' => [ - 'description' => '专线网关实例总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为20。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果 NextToken 为空表示没有下一次查询。'."\n" - .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==', - ], - 'EcrList' => [ - 'description' => '专线网关实例列表。', - 'type' => 'array', - 'items' => [ - 'description' => '专线网关实例。', - 'type' => 'object', - 'properties' => [ - 'EcrId' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-mezk2idmsd0vx2****', - ], - 'OwnerId' => [ - 'description' => '专线网关实例所属的阿里云账号ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '170646818729****', - ], - 'GmtCreate' => [ - 'description' => '专线网关实例创建时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2023-02-16T01:44:50Z'."\n", - ], - 'GmtModified' => [ - 'description' => '专线网关实例修改时间。按照 ISO8601 标准表示,并需要使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2023-02-16T01:44:50Z', - ], - 'Status' => [ - 'description' => '服务实例的部署状态。可能值:'."\n" - ."\n" - .'- **ACTIVE**:已创建。'."\n" - ."\n" - .'- **UPDATING**:修改中。'."\n" - ."\n" - .'- **ASSOCIATING**:资源绑定中。'."\n" - ."\n" - .'- **DISSOCIATING**:资源解绑中。'."\n" - ."\n" - .'- **LOCKED_ATTACHING**:被外部系统绑定锁定。'."\n" - ."\n" - .'- **LOCKED_DETACHING**:被外部系统解绑锁定。'."\n" - ."\n" - .'- **RECLAIMING**:等待释放资源。'."\n" - ."\n" - .'- **DELETING**:删除中。', - 'type' => 'string', - 'example' => 'Active', - ], - 'BizStatus' => [ - 'description' => '服务实例的业务状态。可能的值:'."\n" - ."\n" - .'- **Normal**:正常。'."\n" - ."\n" - .'- **FinancialLocked**:欠费锁定。', - 'type' => 'string', - 'example' => 'Normal', - ], - 'ResourceGroupId' => [ - 'description' => '专线网关实例所属资源组的ID。', - 'type' => 'string', - 'example' => 'rg-aekzuscospt****', - ], - 'Tags' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签。', - 'type' => 'object', - 'properties' => [ - 'TagKey' => [ - 'description' => '专线网关实例的标签键。', - 'type' => 'string', - 'example' => 'test', - ], - 'TagValue' => [ - 'description' => '专线网关实例的标签值。', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - 'Name' => [ - 'description' => '专线网关实例名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'Description' => [ - 'description' => '专线网关实例的描述信息。', - 'type' => 'string', - 'example' => 'test', - ], - 'AlibabaSideAsn' => [ - 'description' => '专线网关实例的ASN号。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '45104', - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '修改专线网关实例是否成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'."\n"], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'."\n"], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.Name'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of Name **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'IllegalParam.%s', - 'errorMessage' => 'The param of %s is illegal.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==\\",\\n \\"EcrList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2023-02-16T01:44:50Z\\\\n\\",\\n \\"GmtModified\\": \\"2023-02-16T01:44:50Z\\",\\n \\"Status\\": \\"Active\\",\\n \\"BizStatus\\": \\"Normal\\",\\n \\"ResourceGroupId\\": \\"rg-aekzuscospt****\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"test\\"\\n }\\n ],\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"AlibabaSideAsn\\": 45104\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询专线网关(ECR)列表', - ], - 'ForceDeleteExpressConnectRouter' => [ - 'summary' => '删除专线网关ECR(Express Connect Router),并解绑相关联的专有网络(VPC),转发路由器(TR)和边界路由器(VBR)。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改专线网关(ECR)属性', + 'summary' => '修改专线网关ECR(Express Connect Router)的名称等属性。', + 'description' => '只能修改**Active**状态的专线网关实例。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\\\n\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'ModifyExpressConnectRouterAssociation' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '197612', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnect7LHFR8', - 'FEATUREexpressconnectQL8QN0', - 'FEATUREexpressconnectNHSYB7', - ], + 'abilityTreeCode' => '246041', + 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'DryRun', + 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'."\n"], ], [ - 'name' => 'EcrId', + 'name' => 'AssociationId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****'."\n", - ], + 'schema' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n"], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '子实例的描述信息。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'test'], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- true:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- false(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> '."\n" + .'> - 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<ForceDeleteEcrResponse>', - 'description' => 'RpcResponse<ForceDeleteEcrResponse>', + 'title' => 'RpcResponse<ModifyEcrResponse>', + 'description' => 'RpcResponse<ModifyEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DFDA79A0-D135-5193-B0AC-3B5608FDB1D0'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示成功,返回其他值表示失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n"], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'MissingParam.%s', - 'errorMessage' => 'The param of %s is missing.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], - [ - 'errorCode' => 'Conflict.Lock', - 'errorMessage' => 'There are other unfinished operations.', - ], - [ - 'errorCode' => 'OperationFailed.UsedInRouteEntryNextHop', - 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], ], 404 => [ - [ - 'errorCode' => 'ResourceNotFound.EcrId', - 'errorMessage' => 'EcrId not found.', - ], + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], + ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改专线网关关联子实例属性', + 'summary' => '修改专线网关ECR(Express Connect Router)关联的子实例属性。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '删除专线网关(ECR)及关联关系', - 'description' => '- 强制删除专线网关实例,会将绑定的资源一次性全部删除,请确认删除后不影响业务稳定性。'."\n" - ."\n" - .'- 只能删除**Active**状态的专线网关实例。', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DFDA79A0-D135-5193-B0AC-3B5608FDB1D0\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], - 'CreateFlowLog' => [ - 'summary' => '创建流日志默认开启日志投递。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ModifyExpressConnectRouterAssociationAllowedPrefix' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253947', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectH4NOM0', - ], + 'abilityTreeCode' => '197603', + 'abilityTreeNodes' => ['FEATUREexpressconnectDQ6AHD'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'DryRun', + 'name' => 'AssociationId', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '专线网关与VPC或TR的关联ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], ], [ - 'name' => 'ClientToken', + 'name' => 'AllowedPrefixes', 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', + 'description' => '允许的路由前缀列表。', + 'type' => 'array', + 'items' => ['description' => '允许的路由前缀。', 'type' => 'string', 'required' => false, 'example' => '192.0.20.0/24'], 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', + 'maxItems' => 10000, ], ], [ - 'name' => 'FlowLogName', + 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '流日志名称。'."\n" - .'> 名称可以为空或长度为 0~128 个字符,不能以 http://或 https://开头。', - 'type' => 'string', - 'required' => false, - 'example' => 'myFlowlog', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '流日志的描述信息。'."\n" - .'> 描述可以为空或长度为 0~256 个字符,不能以 http://或 https://开头。', - 'type' => 'string', - 'required' => false, - 'example' => 'myFlowlog', - ], + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ - 'name' => 'InstanceType', - 'in' => 'query', + 'name' => 'AllowedPrefixesMode', + 'in' => 'formData', + 'schema' => ['description' => '前缀路由模式,取值:'."\n" + .'- MatchMode: 匹配模式, 仅发布配置的路由网段到IDC,对原有发布的明细路由进行回撤。'."\n" + .'- IncrementalMode: 增量模式, 发布配置的路由网段到IDC的同时对原有发布落在配置的路由网段内的明细路由进行回撤,未落在配置的网段内的明细路由保持发布。', 'type' => 'string', 'required' => false, 'example' => 'MatchMode'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'VBR', + 'title' => 'RpcResponse<ModifyAssociationAllowedPrefixResponse>', + 'description' => 'RpcResponse<ModifyAssociationAllowedPrefixResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'ECR Association实例不允许当前操作。请在进行中的操作完成后,重试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'IllegalParamFormat.AllowedPrefixes', 'errorMessage' => 'The prefix parameter format is invalid. Procedure.', 'description' => '指定的前缀路由网段格式错误。'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParamSize.AllowedPrefixes', 'errorMessage' => 'The number of prefix routes exceeded the quota.', 'description' => '您当前输入的前缀路由数量超过配额,请申请扩容。'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], + ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association实例不存在'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改专线网关(ECR)的前缀路由', + 'summary' => '修改专线网关ECR(Express Connect Router)绑定的专有网络(VPC)或者转发路由器(TR)的前缀路由。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterAssociationAllowedPrefix'], + ], + ], + 'ramActions' => [ [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'VBR 实例 ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'vbr-xxx'."\n", + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociationAllowedPrefix', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', + ], + 'ModifyExpressConnectRouterChildInstance' => [ + 'summary' => '修改专线网关(ExpressConnectRouter)关联子实例(VBR)的属性。', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:'."\n" - ."\n" - .'- **60** '."\n" - .'- **600**'."\n" - ."\n" - .'默认值:**600**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '246043', + 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'SamplingRate', - 'in' => 'query', - 'schema' => [ - 'description' => '采样比例。取值'."\n" - ."\n" - .'- **1:4096**'."\n" - .'- **1:2048**'."\n" - .'- **1:1024**'."\n" - ."\n" - .'默认值:**1:4096**。', - 'type' => 'string', - 'required' => false, - 'example' => '1:4096 ', - ], + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-gny3gqp41n7vrrn5iz'], ], [ - 'name' => 'ProjectName', - 'in' => 'query', - 'schema' => [ - 'description' => '存储捕获流量的 Project。'."\n" - .'- 如果您已经在当前地域创建了 Project,您可以输入已创建的 Project 的名称。'."\n" - .'- 如果您未在当前地域创建 Project,您可以为 Project 自定义名称,系统会帮您自动创建 Project。'."\n" - ."\n\n" - .'Project 名称在阿里云地域内全局唯一,创建后不可修改。其命名规则如下:'."\n" - .' '."\n" - .'- Project名称必须全局唯一。'."\n" - .'- 只能包括小写'."\n" - .'- 字母、数字和短划线(-)。'."\n" - .'- 必须以小写字母或者数字开头和结尾。'."\n" - .'- 长度为 3~63 字符。', - 'type' => 'string', - 'required' => true, - 'example' => 'flowlog-project', - ], + 'name' => 'ChildInstanceId', + 'in' => 'formData', + 'schema' => ['description' => 'VBR实例ID。', 'type' => 'string', 'required' => true, 'example' => 'vbr-t4n6xu2d5q0iaad1yl4le'], ], [ - 'name' => 'LogStoreName', - 'in' => 'query', - 'schema' => [ - 'description' => '存储捕获流量的 Logstore。'."\n" - .'- 如果您已经在当前地域创建了 Logstore,您可以输入已创建的 Logstore 的名称。'."\n" - .'- 如果您未在当前地域创建 Logstore,您可以为 Logstore 自定义名称,系统会帮您自动创建 Logstore。 Logstore 名称。其命名规则如下:'."\n" - ."\n" - .'- 同一个 Project 下,Logstore 名称不可重复。'."\n" - .'- 只能包括小写字母、数字、短划线(-)和下划线(_)。'."\n" - .'- 必须以小写字母或者数字开头和结尾。'."\n" - .'- 长度为 3~63 字符。', - 'type' => 'string', - 'required' => true, - 'example' => 'flowlog-logstore', - ], + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], ], [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签。'."\n" - ."\n" - .'最多可以绑定20个标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签信息。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => '子实例的描述信息。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'DryRun', 'in' => 'formData', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => '流日志实例所属的资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2aq7f4va****'."\n", - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'TargetSlsRegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '当前字段代表需要投递的project所属region信息,仅跨地域投递需要填写该字段, 非跨地域投递不需要填写该字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> '."\n" + .'> - 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateAssociationResponse>', - 'description' => 'RpcResponse<CreateAssociationResponse>', + 'title' => 'RpcResponse<ModifyEcrResponse>', + 'description' => 'RpcResponse<ModifyEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的%**s**。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'FlowLogId' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'example' => 'ecr-flog-m5evbtbpt****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DEB383C4-32C9-53DC-9B8B-8DBA26038074'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示成功,返回其他值表示失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'successful'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'ResourceAlreadyExist.FlowLogId', - 'errorMessage' => 'The specified resource of FlowLogId[%s] already exists.', - ], - [ - 'errorCode' => 'InternalErrorTemp', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'ResourceNotFound.InstanceId', 'errorMessage' => 'The instance id does not exist.', 'description' => '当前输入的VPC/TR实例不存在'], + ['errorCode' => 'QuotaExceeded.ChildInstanceNum', 'errorMessage' => 'The number of sub-instances in the switching group exceeds threshold.', 'description' => '倒换组中子实例的数量超过阈值。'], + ['errorCode' => 'OperationFailed.NotSupportAcrossRegion', 'errorMessage' => 'Switching groups cannot be formed across regional sub-instances.', 'description' => '不支持跨地域子实例形成倒换组。'], + ['errorCode' => 'OperationFailed.NotSupportAcrossAccount', 'errorMessage' => 'Switching groups cannot be formed across account sub-instances.', 'description' => '不支持跨账号子实例形成倒换组。'."\n"], + ['errorCode' => 'ResourceInConfiguring.NodeId', 'errorMessage' => 'The current subInstance is not in steady state, please try again later.', 'description' => '当前子实例不处于稳态,请稍后重试。'], + ['errorCode' => 'IncorrectStatus.HaVbrGroup', 'errorMessage' => 'The current state of the switching group is not steady state, please try again later.', 'description' => '当前倒换组状态不为稳态,请稍后重试。'], + ['errorCode' => 'IncorrectStatus.Vbr', 'errorMessage' => 'The current VBR is not in steady state, please try again later.', 'description' => '当前VBR不处于稳态,请稍后重试。'], + ['errorCode' => 'OperationFailed.VbrInUsedByOtherHa', 'errorMessage' => 'The VBR in the input switching group is already in another switching group.', 'description' => '输入的倒换组中的VBR已经在其他倒换组中。'], + ['errorCode' => 'OperationFailed.VbrBgpPeerNotEnableBfd', 'errorMessage' => 'The configured BGP PEER of the input VBR in the switching group does not enable BFD.', 'description' => '输入的倒换组中的VBR,配置的BGP PEER没有使能BFD。'], + ['errorCode' => 'OperationFailed.VbrEcrNotRelation', 'errorMessage' => 'The VBR in the switching group is not bound to ECR.', 'description' => '倒换组中的VBR没有绑定到ECR。'], + ['errorCode' => 'DeviceNotSupport.EcrVbrHa', 'errorMessage' => 'The access device where the VBR is located does not support configuring a switching group.', 'description' => 'VBR所处的接入设备不支持配置倒换组。'], + ['errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotSupport', 'errorMessage' => 'The BGP group AS number of the VBR configuration in the switching group is not supported.', 'description' => '倒换组中的VBR配置的BGP组AS号不支持。'], + ['errorCode' => 'OperationFailed.VbrAccessDeviceSame', 'errorMessage' => 'The VBR on the same access device cannot be added to a switching group.', 'description' => '处于同一台接入设备的VBR不能加入到一个倒换组中。'], + ['errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithEcr', 'errorMessage' => 'The AS number of the BGP group of the VBR added to the switching group is different from the AS number of the ECR.', 'description' => '加入倒换组中的VBR的BGP组的AS号和ECR的AS号不相同。'], + ['errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithOther', 'errorMessage' => 'The BGP group AS number of the VBR configuration in the switching group is not exactly the same.', 'description' => '加入倒换组中的VBR的BGP组的AS号不完全相同。'], + ['errorCode' => 'OperationFailed.VbrEcrNotConsistent', 'errorMessage' => 'The VBR in the switching group is not bound to the same ECR.', 'description' => '倒换组中的VBR没有绑定到同一个ECR中。'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改专线网关关联子实例属性', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"FlowLogId\\": \\"ecr-flog-m5evbtbpt****\\"\\n}","type":"json"}]', - 'title' => '创建流日志', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DEB383C4-32C9-53DC-9B8B-8DBA26038074\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], - 'DeleteFlowlog' => [ - 'summary' => '删除流日志。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ModifyExpressConnectRouterInterRegionTransitMode' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -7257,151 +4396,128 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253978', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectH4NOM0', - ], + 'abilityTreeCode' => '197619', + 'abilityTreeNodes' => ['FEATUREexpressconnectLCKWNS'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'DryRun', + 'name' => 'TransitModeList', 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', + 'description' => '跨域转发模式列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['description' => '专线网关实例所属的地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + 'Mode' => [ + 'description' => '专线网关跨域转发模式,取值:'."\n" + .'- **ECMP**:负载均衡模式。'."\n" + .'- **NearBy**:就近转发模式。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['ECMP' => 'ECMP', 'NearBy' => 'NearBy'], + 'example' => 'ECMP', + ], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'false', + 'maxItems' => 100, ], ], [ - 'name' => 'ClientToken', + 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'FlowLogId', - 'in' => 'query', - 'schema' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-flog-m5evbtbpt****'."\n", - ], + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateAssociationResponse>', - 'description' => 'RpcResponse<CreateAssociationResponse>', + 'title' => 'RpcResponse<ModifyEcrTransitModeResponse>', + 'description' => 'RpcResponse<ModifyEcrTransitModeResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'Area parameter invalid.', 'description' => '区域参数非法'], + ['errorCode' => 'IllegalParam.TransitMode', 'errorMessage' => 'The transmission mode parameter is invalid.', 'description' => '传输模式参数非法'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改专线网关(ECR)的跨地域转发模式', + 'summary' => '修改专线网关ECR(Express Connect Router)的跨地域转发模式。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterInterRegionTransitMode'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '删除流日志', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterInterRegionTransitMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'ModifyFlowLogAttribute' => [ 'summary' => '可以修改名称、描述、采样率、采样周期。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -7414,110 +4530,67 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '254019', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectH4NOM0', - ], + 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-fu8rszhgv7623c****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'FlowLogName', 'in' => 'formData', - 'schema' => [ - 'description' => '流日志的新名称。长度为0~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'myFlowlog', - ], + 'schema' => ['description' => '流日志的新名称。长度为0~128个字符。', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog'], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:'."\n" - ."\n" - .'- **60** '."\n" - .'- **600**'."\n" - ."\n" - .'默认值:**600**。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:'."\n" + ."\n" + .'- **60** '."\n" + .'- **600**'."\n" + ."\n" + .'默认值:**600**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600'], ], [ 'name' => 'SamplingRate', 'in' => 'query', - 'schema' => [ - 'description' => '采样比例。取值'."\n" - ."\n" - .'- **1:4096**'."\n" - .'- **1:2048**'."\n" - .'- **1:1024**'."\n" - ."\n" - .'默认值:**1:4096**。', - 'type' => 'string', - 'required' => false, - 'example' => '1:4096', - ], + 'schema' => ['description' => '采样比例。取值'."\n" + ."\n" + .'- **1:4096**'."\n" + .'- **1:2048**'."\n" + .'- **1:1024**'."\n" + ."\n" + .'默认值:**1:4096**。', 'type' => 'string', 'required' => false, 'example' => '1:4096'], ], [ 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => '流日志的描述信息。描述可以为空或长度为 0~256 个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'myFlowlog', - ], + 'schema' => ['description' => '流日志的描述信息。描述可以为空或长度为 0~256 个字符。', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog'], ], [ 'name' => 'FlowLogId', 'in' => 'query', - 'schema' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-flog-m5evbtbpt****', - ], + 'schema' => ['description' => '流日志实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-flog-m5evbtbpt****'], ], ], 'responses' => [ @@ -7527,509 +4600,278 @@ 'description' => 'RpcResponse<CreateAssociationResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '实例操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '实例操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n"], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '指定的地域当前不支持专线网关功能。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '修改流日志', - ], - 'DescribeFlowLogs' => [ - 'summary' => '查询流日志。', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyFlowLogAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + ], + 'MoveResourceGroup' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253981', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectH4NOM0', - ], + 'abilityTreeCode' => '200712', + 'abilityTreeNodes' => ['FEATUREexpressconnectJZV4YI'], ], 'parameters' => [ [ - 'name' => 'EcrId', + 'name' => 'NewResourceGroupId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-a5xqrgbeidz1w8****', - ], + 'schema' => ['description' => '新资源组ID。'."\n" + .'关于资源组的更多信息,请参见[什么是资源组](~~94475~~)。'."\n", 'type' => 'string', 'required' => true, 'example' => 'rg-acfmvt3xpr5****'], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => ['description' => '资源类型。可能的值:'."\n" + ."\n" + .'- EXPRESSCONNECTROUTER:专线网关。', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'schema' => ['description' => '需要修改资源组的云资源的实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-897j0jooxyr1aq****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改资源组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', + 'schema' => ['description' => '用于保证请求的幂等性,防止重复提交请求。由客户端生成该参数值,要保证在不同请求间唯一,最大值不超过64个ASCII字符,且该参数值中不能包含非ASCII字符。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', + 'title' => 'RpcResponse<BaseResult>', + 'description' => 'RpcResponse<BaseResult>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '接口返回信息', 'type' => 'string', 'example' => 'OK'], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '修改专线网关所属的资源组', + 'summary' => '修改专线网关所属的资源组。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => '标签。'."\n" - ."\n" - .'最多可以绑定20个标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签列表。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '监听的标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。最多支持128个字符,不能以acs:开头,不能包含http://或者https://。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:MoveResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], - 'required' => false, - 'maxItems' => 20, ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'RevokeInstanceFromExpressConnectRouter' => [ + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - ."\n" - .'- 如果 NextToken 为空表示没有下一次查询。'."\n" - .'- 如果 NextToken 有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'required' => false, - 'example' => 'gAAAAABkWw*******', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197623', + 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], + ], + 'parameters' => [ [ - 'name' => 'MaxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值:10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ - 'name' => 'FlowLogId', - 'in' => 'query', - 'schema' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-flog-jqnr0veifo5d****', - ], + 'name' => 'EcrOwnerAliUid', + 'in' => 'formData', + 'schema' => ['description' => '撤销授权的ECR实例所属阿里云账号(主账号)ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '121012345612****'."\n"], ], [ - 'name' => 'FlowLogName', - 'in' => 'query', - 'schema' => [ - 'description' => '流日志名称。长度为0~128个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'same-flowlog', - ], + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ - 'name' => 'ProjectName', - 'in' => 'query', - 'schema' => [ - 'description' => '存储捕获流量的 Project。'."\n" - .'- 如果您已经在当前地域创建了 Project,您可以输入已创建的 Project 的名称。'."\n" - .'- 如果您未在当前地域创建 Project,您可以为 Project 自定义名称,系统会帮您自动创建 Project。'."\n" - ."\n\n" - .'Project 名称在阿里云地域内全局唯一,创建后不可修改。其命名规则如下:'."\n" - .' '."\n" - .'- Project名称必须全局唯一。'."\n" - .'- 只能包括小写'."\n" - .'- 字母、数字和短划线(-)。'."\n" - .'- 必须以小写字母或者数字开头和结尾。'."\n" - .'- 长度为 3~63 字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'myFlowlog', - ], + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => ['description' => '网络实例的类型。取值:'."\n" + .'- **VBR**:边界路由器实例。'."\n" + .'- **VPC**:专有网络实例。', 'type' => 'string', 'required' => true, 'example' => 'VBR'], ], [ - 'name' => 'LogStoreName', - 'in' => 'query', - 'schema' => [ - 'description' => '存储捕获流量的 Logstore。'."\n" - .'- 如果您已经在当前地域创建了 Logstore,您可以输入已创建的 Logstore 的名称。'."\n" - .'- 如果您未在当前地域创建 Logstore,您可以为 Logstore 自定义名称,系统会帮您自动创建 Logstore。 Logstore 名称。其命名规则如下:'."\n" - ."\n" - .'- 同一个 Project 下,Logstore 名称不可重复。'."\n" - .'- 只能包括小写字母、数字、短划线(-)和下划线(_)。'."\n" - .'- 必须以小写字母或者数字开头和结尾。'."\n" - .'- 长度为 3~63 字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'myFlowlog', - ], + 'name' => 'InstanceRegionId', + 'in' => 'formData', + 'schema' => ['description' => '撤销授权的网络实例所在的地域。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => '专线网关加载的VBR实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n", - ], + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '流日志实例所属资源组的ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2aq7f4va****', - ], + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateAssociationResponse>', - 'description' => 'RpcResponse<CreateAssociationResponse>', + 'title' => 'RpcResponse<RevokeInstanceFromEcrResponse>', + 'description' => 'RpcResponse<RevokeInstanceFromEcrResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], - 'TotalCount' => [ - 'description' => '符合查询条件的记录总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '11', - ], - 'MaxResults' => [ - 'description' => '本次读取的最大数据量。取值范围:1~2147483647。默认值为10。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'NextToken' => [ - 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" - .'- 如果**NextToken**为空表示没有下一次查询。'."\n" - .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', - 'type' => 'string', - 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', - ], - 'FlowLogs' => [ - 'description' => '流日志信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '流日志信息。', - 'type' => 'object', - 'properties' => [ - 'FlowLogId' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'example' => 'ecr-flog-leypqehtgtia2*****', - ], - 'EcrId' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'example' => 'ecr-h4cop1khw98*****', - ], - 'RegionId' => [ - 'description' => 'ECR所属的地域ID。', - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'Status' => [ - 'description' => '流日志的状态。'."\n" - .'- **Active**:已启动。'."\n" - .'- **Inactive**:未启动。', - 'type' => 'string', - 'example' => 'Active', - ], - 'FlowLogName' => [ - 'description' => '流日志的名称。', - 'type' => 'string', - 'example' => 'myFlowlog', - ], - 'Description' => [ - 'description' => '专线网关实例的描述信息。', - 'type' => 'string', - 'example' => 'myFlowlog', - ], - 'Interval' => [ - 'description' => '流日志捕获流量的捕获窗口时长。单位:秒。取值:'."\n" - ."\n" - .'- **60** '."\n" - .'- **600**'."\n" - ."\n" - .'默认值:**600**。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '600', - ], - 'SamplingRate' => [ - 'description' => '采样比例。取值'."\n" - ."\n" - .'- **1:4096**'."\n" - .'- **1:2048**'."\n" - .'- **1:1024**'."\n" - ."\n" - .'默认值:**1:4096**。', - 'type' => 'string', - 'example' => '1:4096 ', - ], - 'LogStoreName' => [ - 'description' => '存储捕获流量的 LogStore 名称。', - 'type' => 'string', - 'example' => 'FlowLogStore', - ], - 'ProjectName' => [ - 'description' => '存储捕获流量的 Project 名称。', - 'type' => 'string', - 'example' => 'FlowLogProject', - ], - 'InstanceType' => [ - 'description' => '网络实例的类型。取值:'."\n" - .'- **VBR**:边界路由器实例。', - 'type' => 'string', - 'example' => 'VBR', - ], - 'ResourceGroupId' => [ - 'description' => '专线网关实例所属资源组的ID。', - 'type' => 'string', - 'example' => 'rg-aekzb3xwrexc4ry', - ], - 'Tags' => [ - 'description' => '专线网关实例的标签键。', - 'type' => 'array', - 'items' => [ - 'description' => '专线网关实例的标签键。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '实例的标签键。一旦传入该值,则不允许为空字符串。'."\n" - ."\n" - .'> 最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', - 'type' => 'string', - 'example' => 'TagKey', - ], - 'Value' => [ - 'description' => '标签值。'."\n" - ."\n" - .'>最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。', - 'type' => 'string', - 'example' => 'TagValue', - ], - ], - ], - ], - 'InstanceId' => [ - 'description' => '授权实例的ID。', - 'type' => 'string', - 'example' => 'vbr-9dpty76irpf4u15*****', - ], - 'CreationTime' => [ - 'description' => '流日志的创建时间。'."\n" - .'时间按照 ISO8601 标准表示,并使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。', - 'type' => 'string', - 'example' => '2023-09-21T04:20Z', - ], - 'SlsRegionId' => [ - 'description' => '日志服务的地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - ], - ], - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '撤销授权网络实例是否成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + ."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], - [ - 'errorCode' => 'IllegalParamFormat.%s', - 'errorMessage' => 'The param format of %s is illegal.', - ], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 11,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"FlowLogs\\": [\\n {\\n \\"FlowLogId\\": \\"ecr-flog-leypqehtgtia2*****\\",\\n \\"EcrId\\": \\"ecr-h4cop1khw98*****\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"Status\\": \\"Active\\",\\n \\"FlowLogName\\": \\"myFlowlog\\",\\n \\"Description\\": \\"myFlowlog\\",\\n \\"Interval\\": 600,\\n \\"SamplingRate\\": \\"1:4096 \\",\\n \\"LogStoreName\\": \\"FlowLogStore\\",\\n \\"ProjectName\\": \\"FlowLogProject\\",\\n \\"InstanceType\\": \\"VBR\\",\\n \\"ResourceGroupId\\": \\"rg-aekzb3xwrexc4ry\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ],\\n \\"InstanceId\\": \\"vbr-9dpty76irpf4u15*****\\",\\n \\"CreationTime\\": \\"2023-09-21T04:20Z\\",\\n \\"SlsRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询流日志', - ], - 'DeactivateFlowLog' => [ - 'summary' => '流日志停止日志投递。', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '撤销网络实例对专线网关(ECR)的授权', + 'summary' => '撤销专有网络(VPC)或者边界路由器(VBR)对跨账号的专线网关ECR(Express Connect Router)的授权。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromExpressConnectRouter'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:RevokeInstanceFromExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'InstanceType'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], + ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', + ], + 'SynchronizeExpressConnectRouterInterRegionBandwidth' => [ + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8038,301 +4880,229 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '254021', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectH4NOM0', - ], + 'abilityTreeCode' => '197625', + 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', - 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', - ], + 'schema' => ['description' => '专线网关实例ID。', 'type' => 'string', 'required' => true, 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - ."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], - ], - [ - 'name' => 'FlowLogId', - 'in' => 'formData', - 'schema' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'ecr-flog-m5evbtbpt****'."\n", - ], + 'schema' => ['description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateAssociationResponse>', - 'description' => 'RpcResponse<CreateAssociationResponse>', + 'title' => 'RpcResponse<SyncEcrBandwidthResponse>', + 'description' => 'RpcResponse<SyncEcrBandwidthResponse>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId', - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则代表所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.', - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **True**:成功。'."\n" + .'- **False**:失败。', 'type' => 'boolean', 'example' => 'True'], + 'Code' => ['description' => '判断调用是否成功。返回值为 200 表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '操作返回信息。', 'type' => 'string', 'example' => 'OK'], + 'HttpStatusCode' => ['description' => 'HTTP状态码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'DynamicCode' => ['description' => '动态错误码。', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'], + 'DynamicMessage' => ['description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" + ."\n" + .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsInstanceId**,则代表所传入的请求参数**DtsInstanceId**不合法。', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'], + 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], + ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '参数格式非法'], + ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => '您当前有其他未完成的操作,请稍后重试'], + ], + 404 => [ + ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR实例不存在'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '同步专线网关ECR的跨域带宽', + 'summary' => '同步专线网关ECR(Express Connect Router)的各地域之间的转发带宽限制。', + 'description' => '专线网关实例为**Active**状态时才允许更新。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SynchronizeExpressConnectRouterInterRegionBandwidth'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:SynchronizeExpressConnectRouterInterRegionBandwidth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', - 'title' => '停止流日志', ], - 'ActivateFlowLog' => [ - 'summary' => '流日志开启日志投递。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'TagResources' => [ + 'summary' => '专线网关绑定标签。每次调用该 API 只能为一个专线网关绑定标签,可一次绑定多个标签。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '254020', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectH4NOM0', - ], + 'abilityTreeCode' => '200701', + 'abilityTreeNodes' => ['FEATUREexpressconnectI9TIJD'], ], 'parameters' => [ [ - 'name' => 'EcrId', + 'name' => 'ResourceId', 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '专线网关实例ID。', - 'type' => 'string', + 'description' => '资源的实例 ID 列表。'."\n" + ."\n" + .'最多支持添加20个资源。', + 'type' => 'array', + 'items' => ['description' => '资源实例 ID 。', 'type' => 'string', 'required' => false, 'example' => 'ecr-897j0jooxyr1aq****'], 'required' => true, - 'example' => 'ecr-mezk2idmsd0vx2****', + 'maxItems' => 100, ], ], [ - 'name' => 'DryRun', + 'name' => 'Tag', 'in' => 'formData', + 'style' => 'repeatList', 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'description' => '要进行绑定的标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '要进行绑定的标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => '资源的标签键。'."\n" + ."\n" + .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" + ."\n" + .'一次最多支持输入20个标签的标签键。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'Value' => ['description' => '标签值。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'一次调用最多支持添加20个标签值。', 'type' => 'string', 'required' => false, 'example' => 'TestValue'], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, ], ], [ - 'name' => 'ClientToken', + 'name' => 'ResourceType', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '资源类型。支持的类型包括:'."\n" + .'- **EXPRESSCONNECTROUTER**:专线网关ECR实例。'."\n" + .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**:ECR与VPC的关联关系。'."\n" + .'- **EXPRESSCONNECTROUTERTRASSOCIATION**:ECR与TR的关联关系。'."\n" + .'- **ECRFLOWLOG**:ECR流日志。', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER'], ], [ - 'name' => 'FlowLogId', + 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '流日志实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'flowlog-m5evbtbpt****'."\n", - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => ['description' => '客户端 Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用 API 请求的 **RequestId** 作为 **ClientToken** 标识。每次 API 请求的 **RequestId** 不一样。', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'RpcResponse<CreateAssociationResponse>', - 'description' => 'RpcResponse<CreateAssociationResponse>', + 'title' => 'RpcResponse<BaseResult>', + 'description' => 'RpcResponse<BaseResult>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '05130E79-588D-5C40-A718-C4863A59****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **True**:成功。'."\n" - .'- **False**:失败。', - 'type' => 'boolean', - 'example' => 'True', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '操作返回信息。', - 'type' => 'string', - 'example' => 'OK', - ], - 'HttpStatusCode' => [ - 'description' => 'HTTP状态码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'DynamicCode' => [ - 'description' => '动态错误码。', - 'type' => 'string', - 'example' => 'IllegalParamFormat.EcrId'."\n", - ], - 'DynamicMessage' => [ - 'description' => '动态错误信息,用于替换返回参数**ErrMessage**错误信息中的`%s`。'."\n" - ."\n" - .'> 如果**ErrMessage**返回**The Value of Input Parameter %s is not valid**,且**DynamicMessage**返回**DtsJobId**,则表示所传入的请求参数**DtsJobId**不合法。', - 'type' => 'string', - 'example' => 'The param format of EcrId **** is illegal.'."\n", - ], - 'AccessDeniedDetail' => [ - 'description' => '访问被拒绝详细信息。', - 'type' => 'string', - 'example' => 'Authentication is failed for ****'."\n", - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '接口返回信息', 'type' => 'string', 'example' => 'OK'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IncorrectStatus.Ecr', - 'errorMessage' => 'Ecr Status does not allow current operation.', - ], - [ - 'errorCode' => 'OperationDenied.ForceDeleting', - 'errorMessage' => 'The current instance is being deleted.', - ], - [ - 'errorCode' => 'UnsupportedRegion', - 'errorMessage' => 'Feature not supported in specified region.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => '专线网关绑定标签', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', - 'title' => '启用流日志', ], - 'TagResources' => [ - 'summary' => '专线网关绑定标签。每次调用该 API 只能为一个专线网关绑定标签,可一次绑定多个标签。', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'UntagResources' => [ + 'summary' => '解绑专线网关的标签。', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -8344,10 +5114,8 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '200701', - 'abilityTreeNodes' => [ - 'FEATUREexpressconnectI9TIJD', - ], + 'abilityTreeCode' => '218206', + 'abilityTreeNodes' => ['FEATUREexpressconnectI9TIJD'], ], 'parameters' => [ [ @@ -8355,90 +5123,63 @@ 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ - 'description' => '专线网关实例 ID 列表。', + 'description' => '资源的实例ID列表。'."\n" + .'最多支持解绑 50 个资源实例ID。', 'type' => 'array', - 'items' => [ - 'description' => '专线网关实例 ID 列表。最多支持添加20个资源。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecr-897j0jooxyr1aq****', - ], + 'items' => ['description' => '资源的实例ID。', 'type' => 'string', 'required' => false, 'example' => 'ecr-897j0jooxyr1aq****'], 'required' => true, 'maxItems' => 100, ], ], [ - 'name' => 'Tag', + 'name' => 'TagKey', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ - 'description' => '要进行绑定的标签列表。', + 'description' => '要解绑的专线网关实例的标签键。', 'type' => 'array', - 'items' => [ - 'description' => '要进行绑定的标签。', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => '资源的标签键。'."\n" - ."\n" - .'一旦传入该值,则不允许为空字符串。最多支持64个字符,不能以`aliyun`或者`acs:`开头,不能包含`http://`或者`https:// `。'."\n" - ."\n" - .'一次最多支持输入20个标签的标签键。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestKey', - ], - 'Value' => [ - 'description' => '标签值。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。一旦输入该值,可以为空字符串。'."\n" - ."\n" - .'一次调用最多支持添加20个标签值。', - 'type' => 'string', - 'required' => false, - 'example' => 'TestValue', - ], - ], - 'required' => false, - ], - 'required' => true, + 'items' => ['description' => '要解绑的专线网关实例的标签键。', 'type' => 'string', 'required' => false, 'example' => 'TestKey'], + 'required' => false, 'maxItems' => 100, ], ], [ + 'name' => 'All', + 'in' => 'formData', + 'schema' => ['description' => '是否解绑所有标签,只针对**TagKey**为空时有效。取值:'."\n" + ."\n" + .'- **true**:解绑专线网关实例的所有标签。'."\n" + .'- **false**(默认值):不解绑专线网关实例的所有标签。'."\n" + ."\n" + .'> 您必须输入参数 **TagKey** 和参数 **All** 中的任意一个。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ 'name' => 'ResourceType', 'in' => 'formData', - 'schema' => [ - 'description' => '资源类型。支持的类型为 **EXPRESSCONNECTROUTER**,即专线网关实例。', - 'type' => 'string', - 'required' => true, - 'example' => 'EXPRESSCONNECTROUTER', - ], + 'schema' => ['description' => '资源类型。支持的类型包括:'."\n" + .'- **EXPRESSCONNECTROUTER**:专线网关ECR实例。'."\n" + .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**:ECR与VPC的关联关系。'."\n" + .'- **EXPRESSCONNECTROUTERTRASSOCIATION**:ECR与TR的关联关系。'."\n" + .'- **ECRFLOWLOG**:ECR流日志。', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER'], ], [ 'name' => 'DryRun', 'in' => 'formData', - 'schema' => [ - 'description' => '是否只预检此次请求。取值:'."\n" - ."\n" - .'- **true**:发送检查请求,不会修改服务资源。'."\n" - .'- **false**(默认值):发送正常请求。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改服务资源。'."\n" + ."\n" + .'- **false**(默认值):发送正常请求。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', - 'schema' => [ - 'description' => '客户端 Token,用于保证请求的幂等性。'."\n" - ."\n" - .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。'."\n" - ."\n" - .'> 若您未指定,则系统自动使用 API 请求的 **RequestId** 作为 **ClientToken** 标识。每次 API 请求的 **RequestId** 不一样。', - 'type' => 'string', - 'required' => false, - 'example' => '02fb3da4-130e-11e9-8e44-00****', - ], + 'schema' => ['description' => '客户端 Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken 只支持 ASCII 字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用 API 请求的 **RequestId** 作为 **ClientToken** 标识。每次 API 请求的 **RequestId** 不一样。', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ @@ -8448,168 +5189,721 @@ 'description' => 'RpcResponse<BaseResult>', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', - ], - 'Success' => [ - 'description' => '是否调用成功。取值:'."\n" - ."\n" - .'- **true**:成功。'."\n" - .'- **false**:失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => '接口返回信息', - 'type' => 'string', - 'example' => 'OK', - ], + 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], + 'Success' => ['description' => '是否调用成功。取值:'."\n" + ."\n" + .'- **true**:成功。'."\n" + .'- **false**:失败。', 'type' => 'boolean', 'example' => 'true'], + 'Code' => ['description' => '判断调用是否成功。返回值为200表示加载成功,返回其他值表示加载失败,失败原因参见错误码。', 'type' => 'string', 'example' => '200'], + 'Message' => ['description' => '接口返回信息', 'type' => 'string', 'example' => 'OK'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => '专线网关解绑标签', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => '专线网关绑定标签', ], ], 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-jva', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-nanjing', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fuzhou', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan-lr', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhengzhou-jva', 'regionName' => '郑州(联通合营)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-nanjing', 'regionName' => '华东5(南京-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => '韩国(首尔)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-fuzhou', 'regionName' => '华东6(福州-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-wuhan-lr', 'regionName' => '华中1(武汉-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => '华南2(河源)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-huhehaote', 'regionName' => '华北5(呼和浩特)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => '河源专属云汽车合规', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'Conflict.AllowedPrefixes', 'message' => 'The allowed route prefixes [%s] is conflict.', 'http_code' => 400, 'description' => '当前配置的路由前缀已存在,请确认后重新提交。'], + ['code' => 'Conflict.ASNOfECR', 'message' => 'ASN already used by other ECR.', 'http_code' => 400, 'description' => '指定的ASN被其它专线网关占用,请换成其它未使用的ASN。'], + ['code' => 'Conflict.ASNOfVBR', 'message' => 'ASN already used by other VBR.', 'http_code' => 400, 'description' => '当前VBR BgpGroup localAsn与ECR asn不一致,请调整一致后重新绑定。'], + ['code' => 'Conflict.Lock', 'message' => 'There are other unfinished operations.', 'http_code' => 400, 'description' => '您当前有其他未完成的操作,请稍后重试'], + ['code' => 'DeviceNotSupport.EcrVbrHa', 'message' => 'The access device where the VBR is located does not support configuring a switching group.', 'http_code' => 400, 'description' => 'VBR所处的接入设备不支持配置倒换组。'], + ['code' => 'ExclusiveParam.TransitRouterIdAndVpcId', 'message' => 'A private network instance cannot be bound to a forwarding router instance at the same time.', 'http_code' => 400, 'description' => '专有网络实例与转发路由器实例无法同时绑定,请调整后选择其中一个实例进行绑定'], + ['code' => 'IllegalParam.%s', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '参数非法'], + ['code' => 'IllegalParam.AlibabaSideAsn', 'message' => 'The entered Bgp Asn is incorrect.', 'http_code' => 400, 'description' => '当前输入的BgpAsn不正确,请检查后重新输入'], + ['code' => 'IllegalParam.EcrOwnerAliUid', 'message' => 'The Ecr instance account parameter is invalid.', 'http_code' => 400, 'description' => '该专线网关实例账号为非法参数,请核对后重新输入'], + ['code' => 'IllegalParam.InstanceOwnerId', 'message' => 'Specified parameter InstanceOwnerId is not valid.', 'http_code' => 400, 'description' => '该实例账号为非法参数,请核对后重新输入'."\n"], + ['code' => 'IllegalParam.RegionId', 'message' => 'Area parameter invalid.', 'http_code' => 400, 'description' => '区域参数非法'], + ['code' => 'IllegalParam.TransitMode', 'message' => 'The transmission mode parameter is invalid.', 'http_code' => 400, 'description' => '传输模式参数非法'], + ['code' => 'IllegalParamFormat.%s', 'message' => 'The param format of %s is illegal.', 'http_code' => 400, 'description' => '参数格式非法'], + ['code' => 'IllegalParamFormat.AllowedPrefixes', 'message' => 'The prefix parameter format is invalid. Procedure.', 'http_code' => 400, 'description' => '指定的前缀路由网段格式错误。'], + ['code' => 'IllegalParamFormat.CenId', 'message' => 'The format of the entered Cen instance ID is incorrect.', 'http_code' => 400, 'description' => '当前输入的Cen实例ID格式不正确'], + ['code' => 'IllegalParamFormat.DestinationCidrBlock', 'message' => 'The format of the specified destination Cidr route parameter is incorrect.', 'http_code' => 400, 'description' => '您当前指定的目的Cidr路由参数格式错误,请核对后重新输入。'], + ['code' => 'IllegalParamSize.AllowedPrefixes', 'message' => 'The number of prefix routes exceeded the quota.', 'http_code' => 400, 'description' => '您当前输入的前缀路由数量超过配额,请申请扩容。'], + ['code' => 'IncorrectStatus.Ecr', 'message' => 'Ecr Status does not allow current operation.', 'http_code' => 400, 'description' => '专线网关实例状态不允许当前操作。目前有其它操作正在执行或者专线网关实例正在被删除,请求稍后再试'], + ['code' => 'IncorrectStatus.EcrAssociation', 'message' => 'Ecr Association Status does not allow current operation.', 'http_code' => 400, 'description' => 'ECR Association实例不允许当前操作。请在进行中的操作完成后,重试'], + ['code' => 'IncorrectStatus.HaVbrGroup', 'message' => 'The current state of the switching group is not steady state, please try again later.', 'http_code' => 400, 'description' => '当前倒换组状态不为稳态,请稍后重试。'], + ['code' => 'IncorrectStatus.Vbr', 'message' => 'The current VBR is not in steady state, please try again later.', 'http_code' => 400, 'description' => '当前VBR不处于稳态,请稍后重试。'], + ['code' => 'MissingParam.%s', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => '请求参数未填写,请核对对应的参数后重试。'], + ['code' => 'OperationDenied.AttachmentInCurrentRegionExisted', 'message' => 'Only one forwarding router can be bound to an area.', 'http_code' => 400, 'description' => '当前操作被拒绝,专线网关实例在同一区域内只支持绑定一个转发路由器'], + ['code' => 'OperationDenied.CrossAccountAttaching', 'message' => 'If the forwarding router is bound to another account, perform this operation on the same account.', 'http_code' => 400, 'description' => '当前操作被拒绝,绑定其他账号转发路由器时,需在该账号做此操作'], + ['code' => 'OperationDenied.CrossAccountDisassociating', 'message' => 'Unbind cross-account.', 'http_code' => 400, 'description' => '当前操作被拒绝,需在跨账号页面解除绑定操作后再执行此操作'], + ['code' => 'OperationDenied.CrossBidAssociating', 'message' => 'Cross-border binding of resources is subject to compliance constraints.', 'http_code' => 400, 'description' => '您当前的绑定资源涉及跨中国站点资源和海外站点资源互通,受限于合规约束请联系您的商务经理沟通处理。'], + ['code' => 'OperationDenied.EcrAttachmentExisted', 'message' => 'Ecr and TR have been linked.', 'http_code' => 400, 'description' => '当前操作被拒绝,专线网关实例与TR已建立链接,请解除后再执行此操作。'], + ['code' => 'OperationDenied.ForceDeleting', 'message' => 'The current instance is being deleted.', 'http_code' => 400, 'description' => '您当前操作被拒绝,专线网关实例正在被强制删除,请稍后再试'], + ['code' => 'OperationDenied.InvalidVbrStatus', 'message' => 'Invalid virtual border router status.', 'http_code' => 400, 'description' => '无效的边界路由器状态,请确认边界路由器状态正常后重试。'], + ['code' => 'OperationDenied.NotGrantedByNodeOwner', 'message' => 'The node owner is not authorized.', 'http_code' => 400, 'description' => '您当前操作被拒绝,专线网关产品未授权'], + ['code' => 'OperationDenied.VbrAlreadyAttachedToCen', 'message' => 'VBR has already attached to CEN.', 'http_code' => 400, 'description' => '边界路由器已经绑定了云企业网, 请先将边界路由器从云企业网中删除后重试。'], + ['code' => 'OperationDenied.VbrAlreadyAttachedToEcr', 'message' => 'VBR has already attached to ECR.', 'http_code' => 400, 'description' => '边界路由器已经关联了专线网关,先将边界路由器从专线网关中删除后重试。'], + ['code' => 'OperationDenied.VbrDoesNotSupportMpbgp', 'message' => 'The VBR does not support Mpbgp configuration.', 'http_code' => 400, 'description' => '操作被拒绝,VBR暂不支持Mpbgp,'], + ['code' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', 'message' => 'The operation is not allowed because of VBR has BGP group in middle status.', 'http_code' => 400, 'description' => '当前操作无法正常执行,边界路由器中存在BGP组处于配置生效中,请等待生效后重试。'], + ['code' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', 'message' => 'The operation is not allowed because of VBR has route entry in middle status.', 'http_code' => 400, 'description' => '当前操作无法正常执行,边界路由器中存在路由条目处于配置生效中,请等待生效后重试。'], + ['code' => 'OperationDenied.VbrUsedInVbrHa', 'message' => 'The border router has been used by the switching group and cannot be bound to the leased line gateway.', 'http_code' => 400, 'description' => '卸载失败,边界路由器已关联倒换组。卸载前请先解除关联的倒换组。'], + ['code' => 'OperationFailed.CallingEcYaochi', 'message' => 'EC Yaochi component returned an error.', 'http_code' => 400, 'description' => '操作失败,内部EC瑶池组件返回错误'], + ['code' => 'OperationFailed.CallingVpcYaochi', 'message' => 'The system is abnormal. Please try again later.', 'http_code' => 400, 'description' => ' 操作失败,系统内部异常,请稍后重试,若重试仍失败请联系您的商务经理获取帮助。'], + ['code' => 'OperationFailed.CdtCrossBoarderNotOpened', 'message' => 'The Cdt cross-border transmission function is disabled.', 'http_code' => 400, 'description' => '当前操作失败,未开启阿里云数据跨境传输功能'], + ['code' => 'OperationFailed.CdtNotOpened', 'message' => 'The Cdt function is disabled.', 'http_code' => 400, 'description' => '当前操作失败,未开启阿里云数据传输功能'], + ['code' => 'OperationFailed.CrossBorderNotAllowed', 'message' => 'There is no qualification for creating cross-border links.', 'http_code' => 400, 'description' => '操作失败,当前企业不具备创建跨境链路权限,请联系您的商务经理添加此权限。'], + ['code' => 'OperationFailed.NotSupportAcrossAccount', 'message' => 'Switching groups cannot be formed across account sub-instances.', 'http_code' => 400, 'description' => '不支持跨账号子实例形成倒换组。'."\n"], + ['code' => 'OperationFailed.NotSupportAcrossRegion', 'message' => 'Switching groups cannot be formed across regional sub-instances.', 'http_code' => 400, 'description' => '不支持跨地域子实例形成倒换组。'], + ['code' => 'OperationFailed.RejectedByEcYaochi', 'message' => 'The request was rejected by Ec Yaochi.', 'http_code' => 400, 'description' => '当前操作失败,Ec瑶池拒绝了您的请求'], + ['code' => 'OperationFailed.RejectedByVpcYaochi', 'message' => 'Vpc Yaochi has rejected your current request.', 'http_code' => 400, 'description' => '操作失败,Vpc瑶池拒绝了您当前请求'], + ['code' => 'OperationFailed.UsedInRouteEntryNextHop', 'message' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'http_code' => 400, 'description' => 'VPC还有静态路由指向ECR,不允许解除关联 ECR'], + ['code' => 'OperationFailed.UserNotInWhiteList', 'message' => 'The current user is not in the whitelist.', 'http_code' => 400, 'description' => '专线网关产品通过白名单开放,当前用户没有操作权限。请联系客服人员将当前用户添加至白名单。'], + ['code' => 'OperationFailed.VbrAccessDeviceSame', 'message' => 'The VBR on the same access device cannot be added to a switching group.', 'http_code' => 400, 'description' => '处于同一台接入设备的VBR不能加入到一个倒换组中。'], + ['code' => 'OperationFailed.VbrBgpGroupLocalAsnNotSupport', 'message' => 'The BGP group AS number of the VBR configuration in the switching group is not supported.', 'http_code' => 400, 'description' => '倒换组中的VBR配置的BGP组AS号不支持。'], + ['code' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithEcr', 'message' => 'The AS number of the BGP group of the VBR added to the switching group is different from the AS number of the ECR.', 'http_code' => 400, 'description' => '加入倒换组中的VBR的BGP组的AS号和ECR的AS号不相同。'], + ['code' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithOther', 'message' => 'The BGP group AS number of the VBR configuration in the switching group is not exactly the same.', 'http_code' => 400, 'description' => '加入倒换组中的VBR的BGP组的AS号不完全相同。'], + ['code' => 'OperationFailed.VbrBgpPeerNotEnableBfd', 'message' => 'The configured BGP PEER of the input VBR in the switching group does not enable BFD.', 'http_code' => 400, 'description' => '输入的倒换组中的VBR,配置的BGP PEER没有使能BFD。'], + ['code' => 'OperationFailed.VbrEcrNotConsistent', 'message' => 'The VBR in the switching group is not bound to the same ECR.', 'http_code' => 400, 'description' => '倒换组中的VBR没有绑定到同一个ECR中。'], + ['code' => 'OperationFailed.VbrEcrNotRelation', 'message' => 'The VBR in the switching group is not bound to ECR.', 'http_code' => 400, 'description' => '倒换组中的VBR没有绑定到ECR。'], + ['code' => 'OperationFailed.VbrInUsedByOtherHa', 'message' => 'The VBR in the input switching group is already in another switching group.', 'http_code' => 400, 'description' => '输入的倒换组中的VBR已经在其他倒换组中。'], + ['code' => 'QuotaExceeded.ChildInstanceNum', 'message' => 'The number of sub-instances in the switching group exceeds threshold.', 'http_code' => 400, 'description' => '倒换组中子实例的数量超过阈值。'], + ['code' => 'QuotaExceeded.EcrCountPerUser', 'message' => 'ECR Quota Exceeded.', 'http_code' => 400, 'description' => '您可创建的专线网关实例数量已达到配额上限,请联系您的商务经理申请更大的配额数量'], + ['code' => 'QuotaExceeded.TrCountPerEcr', 'message' => 'The number of TR bound to the ECR exceeds the quota.', 'http_code' => 400, 'description' => '单个专线网关实例可绑定的TR数量已达到配额上限,请联系您的商务经理申请更大的配额数量'], + ['code' => 'QuotaExceeded.VpcCountPerEcr', 'message' => 'The number of VPC bound to the ECR exceeds the quota.', 'http_code' => 400, 'description' => '单个专线网关实例可绑定的VPC数量已达到配额上限,请联系您的商务经理申请更大的配额数量'], + ['code' => 'ResourceAlreadyExist.ChildInstanceId', 'message' => 'The specified resource of ChildInstanceId already exists.', 'http_code' => 400, 'description' => '指定的资源已经关联到专线网关 ECR, 请核对后重试。'], + ['code' => 'ResourceAlreadyExist.FlowLogId', 'message' => 'The specified resource of FlowLogId[%s] already exists.', 'http_code' => 400, 'description' => '创建的流日志已经存在, 请核对后重试。'], + ['code' => 'ResourceAlreadyExist.TransitRouterId', 'message' => 'The specified resource of transit router already exists.', 'http_code' => 400, 'description' => '指定的 TR 资源已经关联到专线网关 ECR, 请核对后重试。'], + ['code' => 'ResourceAlreadyExist.VpcId', 'message' => 'The specified resource of VpcId already exists.', 'http_code' => 400, 'description' => '指定的 VPC 资源已经关联到专线网关 ECR, 请核对后重试。'], + ['code' => 'ResourceInConfiguring.NodeId', 'message' => 'The current subInstance is not in steady state, please try again later.', 'http_code' => 400, 'description' => '当前子实例不处于稳态,请稍后重试。'], + ['code' => 'ResourceInCreating.NexthopInstanceId', 'message' => 'The next hop instance is being created.', 'http_code' => 400, 'description' => '您当前所指的下一跳实例正在创建中'], + ['code' => 'ResourceInUse.Ecr', 'message' => 'The express connect router is currently in use.', 'http_code' => 400, 'description' => '专线网关实例当前正在被使用,请解除VBR/VPC/TR关联后重试。'], + ['code' => 'ResourceInUse.HaVbrGroup', 'message' => 'The specified resource of %s is in use.', 'http_code' => 400, 'description' => '边界路由器还在倒换组中,请退出倒换组后重试。'], + ['code' => 'ResourceNotFound.AssociationId', 'message' => 'EcrAssociationId not found.', 'http_code' => 404, 'description' => 'ECR Association实例不存在'], + ['code' => 'ResourceNotFound.CenId', 'message' => 'CenId not found.', 'http_code' => 400, 'description' => 'Cen实例不存在'], + ['code' => 'ResourceNotFound.EcrId', 'message' => 'EcrId not found.', 'http_code' => 404, 'description' => 'ECR实例不存在'], + ['code' => 'ResourceNotFound.InstanceId', 'message' => 'The instance id does not exist.', 'http_code' => 400, 'description' => '当前输入的VPC/TR实例不存在'], + ['code' => 'ResourceNotFound.NexthopInstanceId', 'message' => 'The next hop instance does not exist.', 'http_code' => 400, 'description' => '下一跳实例不存在'], + ['code' => 'ResourceNotFound.TrId', 'message' => 'TRId not found.', 'http_code' => 400, 'description' => 'TR实例不存在'], + ['code' => 'UnsupportedRegion', 'message' => 'Feature not supported in specified region.', 'http_code' => 400, 'description' => '指定的地域当前不支持专线网关功能。'], + ['code' => 'UnsupportedRegion.FlowLog', 'message' => 'The region where the VBR is located does not support ECR FlowLog.', 'http_code' => 400, 'description' => 'VBR所属地域不支持ECR FlowLog'], + ['code' => 'InternalErrorTemp', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 400, 'description' => '内部错误。建议重试,如果多次重试报错请提交工单。'], + ['code' => 'ResourceInUse.ChildInstance', 'message' => 'The specified resource of ChildInstance is in use.', 'http_code' => 400, 'description' => '当前专线网关绑定的VBR未关闭Flowlog,请尝试关闭对应VBR的Flowlog后,再次发起卸载VBR操作。 '], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDisabledExpressConnectRouterRouteEntries'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAllowedPrefixHistory'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActivateFlowLog'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouter'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableExpressConnectRouterRouteEntries'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToExpressConnectRouter'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterAssociationAllowedPrefix'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SynchronizeExpressConnectRouterInterRegionBandwidth'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAssociation'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouterAssociation'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRegion'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterInterRegionTransitMode'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableExpressConnectRouterRouteEntries'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowLog'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouterAssociation'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouter'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeInstanceGrantedToExpressConnectRouter'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterInterRegionTransitMode'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachExpressConnectRouterChildInstance'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ForceDeleteExpressConnectRouter'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouter'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListExpressConnectRouterSupportedRegion'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouter'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachExpressConnectRouterChildInstance'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckAddRegionToExpressConnectRouter'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromExpressConnectRouter'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterChildInstance'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowLogs'], + ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateFlowLog'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRouteEntries'], ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + ], + 'ram' => [ + 'productCode' => 'ExpressConnectRouter', + 'productName' => '高速通道', + 'ramCodes' => ['expressconnectrouter'], + 'ramLevel' => '资源级', + 'ramConditions' => [ + [ + 'name' => 'InstanceType', + 'schema' => [ + 'type' => 'String', + 'description' => '实例类型', + 'enums' => ['VPC', 'VBR'], + ], + ], ], - [ - 'regionId' => 'me-central-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + 'ramActions' => [ + [ + 'apiName' => 'ListExpressConnectRouterSupportedRegion', + 'description' => '查询专线网关(ECR)开服地域列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ListExpressConnectRouterSupportedRegion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CheckAddRegionToExpressConnectRouter', + 'description' => '检查指定的地域加入专线网关(ECR)所需的云数据传输(CDT)服务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CheckAddRegionToExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteFlowlog', + 'description' => '删除流日志', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeleteFlowlog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DisableExpressConnectRouterRouteEntries', + 'description' => '禁用专线网关(ECR)路由项', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DisableExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyExpressConnectRouterAssociation', + 'description' => '修改专线网关关联子实例属性', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DeactivateFlowLog', + 'description' => '停止流日志', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeactivateFlowLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeInstanceGrantedToExpressConnectRouter', + 'description' => '查询授权给专线网关(ECR)的网络实例', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeInstanceGrantedToExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '查询专线网关标签列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyExpressConnectRouterChildInstance', + 'description' => '修改专线网关关联子实例属性', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouterAllowedPrefixHistory', + 'description' => '查询专线网关(ECR)的前缀路由历史记录', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAllowedPrefixHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ActivateFlowLog', + 'description' => '启用流日志', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ActivateFlowLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ModifyExpressConnectRouterAssociationAllowedPrefix', + 'description' => '修改专线网关(ECR)的前缀路由', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociationAllowedPrefix', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'MoveResourceGroup', + 'description' => '修改专线网关所属的资源组', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:MoveResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'GrantInstanceToExpressConnectRouter', + 'description' => '将网络实例授权给专线网关(ECR)', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:GrantInstanceToExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'InstanceType', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], + ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], + ], + ], + ], + [ + 'apiName' => 'RevokeInstanceFromExpressConnectRouter', + 'description' => '撤销网络实例对专线网关(ECR)的授权', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:RevokeInstanceFromExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'InstanceType'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], + ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouterChildInstance', + 'description' => '查询专线网关(ECR)绑定的子实例信息', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouterAssociation', + 'description' => '查询专线网关(ECR)关联的资源信息', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyExpressConnectRouterInterRegionTransitMode', + 'description' => '修改专线网关(ECR)的跨地域转发模式', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouterInterRegionTransitMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'CreateExpressConnectRouter', + 'description' => '新建专线网关(ECR)', + 'operationType' => 'create', + 'additionalActions' => [ + ['action' => 'expressconnectrouter:CreateServiceLinkedRole'], + ], + 'ramAction' => [ + 'action' => 'expressconnectrouter:CreateExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'], + ], + ], + ], + [ + 'apiName' => 'DetachExpressConnectRouterChildInstance', + 'description' => '从专线网关(ECR)卸载子实例', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DetachExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouterRouteEntries', + 'description' => '查询专线网关(ECR)的路由条目', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouterRegion', + 'description' => '查询专线网关(ECR)相关资源的所在地域列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRegion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'CreateFlowLog', + 'description' => '创建流日志', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CreateFlowLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '专线网关绑定标签', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'UntagResources', + 'description' => '专线网关解绑标签', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'expressconnectrouter:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyFlowLogAttribute', + 'description' => '修改流日志', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyFlowLogAttribute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateExpressConnectRouterAssociation', + 'description' => '专线网关(ECR)关联资源', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:CreateExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'AttachExpressConnectRouterChildInstance', + 'description' => '加载子实例至专线网关(ECR)', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'expressconnectrouter:AttachExpressConnectRouterChildInstance', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ModifyExpressConnectRouter', + 'description' => '修改专线网关(ECR)属性', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ModifyExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouter', + 'description' => '查询专线网关(ECR)列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteExpressConnectRouterAssociation', + 'description' => '专线网关(ECR)解除资源关联关系', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeleteExpressConnectRouterAssociation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeFlowLogs', + 'description' => '查询流日志', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeFlowLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeExpressConnectRouterInterRegionTransitMode', + 'description' => '查询专线网关(ECR)的跨域转发模式', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeExpressConnectRouterInterRegionTransitMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteExpressConnectRouter', + 'description' => '删除专线网关(ECR)', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DeleteExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'ForceDeleteExpressConnectRouter', + 'description' => '删除专线网关(ECR)及关联关系', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'expressconnectrouter:ForceDeleteExpressConnectRouter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'EnableExpressConnectRouterRouteEntries', + 'description' => '启用专线网关(ECR)路由项', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:EnableExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'DescribeDisabledExpressConnectRouterRouteEntries', + 'description' => '查询禁用的专线网关(ECR)路由', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'expressconnectrouter:DescribeDisabledExpressConnectRouterRouteEntries', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], + [ + 'apiName' => 'SynchronizeExpressConnectRouterInterRegionBandwidth', + 'description' => '同步专线网关ECR的跨域带宽', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'expressconnectrouter:SynchronizeExpressConnectRouterInterRegionBandwidth', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ], + ], + ], ], - [ - 'regionId' => 'cn-heyuan-acdr-1', - 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], + ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouterflowlog/*'], + ['validationType' => 'conditional', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], + ['validationType' => 'conditional', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], + ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'], ], ], ]; |
