diff options
Diffstat (limited to 'data/en_us/expressconnectrouter/2023-09-01')
| -rw-r--r-- | data/en_us/expressconnectrouter/2023-09-01/api-docs.php | 8577 |
1 files changed, 8577 insertions, 0 deletions
diff --git a/data/en_us/expressconnectrouter/2023-09-01/api-docs.php b/data/en_us/expressconnectrouter/2023-09-01/api-docs.php new file mode 100644 index 0000000..c2ef357 --- /dev/null +++ b/data/en_us/expressconnectrouter/2023-09-01/api-docs.php @@ -0,0 +1,8577 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'ExpressConnectRouter', + 'version' => '2023-09-01', + ], + 'directories' => [ + [ + 'id' => 249196, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DescribeExpressConnectRouterRegion', + 'ListExpressConnectRouterSupportedRegion', + 'SynchronizeExpressConnectRouterInterRegionBandwidth', + 'CheckAddRegionToExpressConnectRouter', + ], + ], + [ + 'id' => 249201, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'ModifyExpressConnectRouterChildInstance', + 'ModifyExpressConnectRouterAssociation', + 'AttachExpressConnectRouterChildInstance', + 'DetachExpressConnectRouterChildInstance', + 'DescribeExpressConnectRouterChildInstance', + 'DescribeInstanceGrantedToExpressConnectRouter', + 'RevokeInstanceFromExpressConnectRouter', + 'GrantInstanceToExpressConnectRouter', + ], + ], + [ + 'id' => 249210, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateExpressConnectRouterAssociation', + 'DeleteExpressConnectRouterAssociation', + 'DescribeExpressConnectRouterAssociation', + ], + ], + [ + 'id' => 249214, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'DisableExpressConnectRouterRouteEntries', + 'EnableExpressConnectRouterRouteEntries', + 'DescribeDisabledExpressConnectRouterRouteEntries', + 'DescribeExpressConnectRouterRouteEntries', + ], + ], + [ + 'id' => 249219, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'MoveResourceGroup', + 'ListTagResources', + 'UntagResources', + ], + ], + [ + 'id' => 249223, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateExpressConnectRouter', + 'DeleteExpressConnectRouter', + 'ModifyExpressConnectRouterInterRegionTransitMode', + 'ModifyExpressConnectRouterAssociationAllowedPrefix', + 'ModifyExpressConnectRouter', + 'DescribeExpressConnectRouterInterRegionTransitMode', + 'DescribeExpressConnectRouterAllowedPrefixHistory', + 'DescribeExpressConnectRouter', + 'ForceDeleteExpressConnectRouter', + ], + ], + [ + 'id' => 249233, + 'title' => null, + 'type' => 'directory', + 'children' => [ + 'CreateFlowLog', + 'DeleteFlowlog', + 'ModifyFlowLogAttribute', + 'DescribeFlowLogs', + 'DeactivateFlowLog', + 'ActivateFlowLog', + 'TagResources', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'DescribeExpressConnectRouterRegion' => [ + 'summary' => 'Queries a list of regions in which resources related to an Express Connect router (ECR) are deployed.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199494', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ECR that you want to query.', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* true: performs only a dry run.'."\n" + .'* false (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeEcrRegionResponse>', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.', + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'RegionIdList' => [ + 'description' => 'The region in which the ECR feature is activated.', + 'type' => 'array', + 'items' => [ + 'description' => 'The region in which the ECR feature is activated.', + 'type' => 'string', + 'example' => '[\\"cn-shanghai\\"]', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The param of %s is missing.', + ], + [ + 'errorCode' => 'IllegalParamFormat.%s', + 'errorMessage' => 'The param format of %s is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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 \\"RegionIdList\\": [\\n \\"[\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\"]\\"\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeExpressConnectRouterRegion', + ], + 'ListExpressConnectRouterSupportedRegion' => [ + 'summary' => 'Queries a list of regions in which the Express Connect router (ECR) feature is activated.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '213773', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'NodeType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'* **TR**'."\n" + .'* **VBR**'."\n" + .'* **VPC**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListEcrSupportedRegionResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* True'."\n" + .'* False'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'SupportedRegionIdList' => [ + 'description' => 'The regions in which the ECR feature is activated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The region in which the ECR feature is activated.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + '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' => 'ListExpressConnectRouterSupportedRegion', + ], + 'SynchronizeExpressConnectRouterInterRegionBandwidth' => [ + 'summary' => 'Synchronizes the forwarding bandwidth limit between regions for an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197625', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect9IGKFS', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<SyncEcrBandwidthResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsInstanceId**, the request parameter **DtsInstanceId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'SynchronizeExpressConnectRouterInterRegionBandwidth', + 'description' => 'Updates are allowed only when the ECR is in the **Active** state.'."\n", + ], + 'CheckAddRegionToExpressConnectRouter' => [ + 'summary' => 'Checks the Cloud Data Transfer (CDT) service required to add a region to an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197604', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****', + ], + ], + [ + 'name' => 'FreshRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the region for which you want to check whether the CDT service is enabled for the ECR feature.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* true: performs only a dry run.'."\n" + .'* false (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CheckAssociationCreationResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsInstanceId**, the request parameter **DtsInstanceId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'AnyInterRegionLink' => [ + 'description' => 'Indicates whether the ECR is used to establish connections between regions in the Chinese mainland. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'AnyCrossBorderLink' => [ + 'description' => 'Indicates whether the ECR is used to establish connections between regions in the Chinese mainland and regions outside China. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'IsCdtInterRegionEnabled' => [ + 'description' => 'Indicates whether the CDT service is activated for the account to which the ECR belongs. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'IsCdtCrossBorderEnabled' => [ + 'description' => 'Indicates whether the cross-border CDT service is activated for the account to which the ECR belongs. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'IsUserAllowedToCreateCrossBorderLink' => [ + 'description' => 'Indicates whether the account to which the ECR belongs can create cross-border connections. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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"}]', + 'title' => 'CheckAddRegionToExpressConnectRouter', + ], + 'ModifyExpressConnectRouterChildInstance' => [ + 'summary' => '修改专线网关子实例的属性', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '246043', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectY33HGU', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-gny3gqp41n7vrrn5iz', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-t4n6xu2d5q0iaad1yl4le', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ModifyEcrResponse>', + 'description' => 'RpcResponse<ModifyEcrResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'DEB383C4-32C9-53DC-9B8B-8DBA26038074', + ], + 'Success' => [ + 'description' => '', + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => '', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'successful', + ], + 'HttpStatusCode' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => '', + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + '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"}]', + ], + 'ModifyExpressConnectRouterAssociation' => [ + 'summary' => '修改专线网关关联的属性', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '246041', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectY33HGU', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****'."\n", + ], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ModifyEcrResponse>', + 'description' => 'RpcResponse<ModifyEcrResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'DFDA79A0-D135-5193-B0AC-3B5608FDB1D0', + ], + 'Success' => [ + 'description' => '', + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => '', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => '', + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AssociationId', + 'errorMessage' => 'EcrAssociationId not found.', + ], + ], + ], + '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"}]', + ], + 'AttachExpressConnectRouterChildInstance' => [ + 'summary' => 'Associates a virtual border router (VBR) with an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197608', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectNHSYB7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-a5xqrgbeidz1w8****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The VBR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-j6cwxhgg0s5nuephp****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Set the value to **VBR**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the VBR.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ChildInstanceOwnerId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n" + ."\n" + .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '190550144868****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the sub-instance. It must be 0 to 128 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<AttachChildInstanceResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AssociationId', + 'errorMessage' => 'EcrAssociationId not found.', + ], + ], + ], + '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' => 'AttachExpressConnectRouterChildInstance', + 'description' => 'Before you call the **AttachExpressConnectRouterChildInstance** operation to associate a VBR with an ECR, make sure that the ECR is in the **Active** state.'."\n", + ], + 'DetachExpressConnectRouterChildInstance' => [ + 'summary' => 'Disassociates a virtual border router (VBR) from an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197609', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The VBR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-j6cwxhgg0s5nuephp****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Set the value to **VBR**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DetachChildInstanceResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AssociationId', + 'errorMessage' => 'EcrAssociationId not found.', + ], + ], + ], + '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}","type":"json"}]', + 'title' => 'DetachExpressConnectRouterChildInstance', + 'description' => 'Before you call the **DetachExpressConnectRouterChildInstance** operation to uninstall a VBR from an ECR, make sure that the ECR is in the **Active** state.'."\n", + ], + 'DescribeExpressConnectRouterChildInstance' => [ + 'summary' => 'Queries the virtual border routers (VBRs) that are associated with an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199361', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectNHSYB7', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the association between the ECR and the virtual private cloud (VPC) or transit router (TR).', + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", + ], + ], + [ + 'name' => 'ChildInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the network instance to be queried.', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-j6cwxhgg0s5nuephp****', + ], + ], + [ + 'name' => 'ChildInstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of network instance. Set the value to VBR.', + 'type' => 'string', + 'required' => false, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'ChildInstanceRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the network instance.', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If NextToken is empty, no next page exists.'."\n" + .'* If a value of NextToken is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeChildInstanceResponse>', + 'description' => 'The response parameters.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '05130E79-588D-5C40-A718-C4863A59****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.', + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.', + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'TotalCount' => [ + 'description' => 'The total number of associated resources.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', + ], + 'ChildInstanceList' => [ + 'description' => 'The VBRs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The VBRs.', + 'type' => 'object', + 'properties' => [ + 'EcrId' => [ + 'title' => '专线网关实例ID。', + 'description' => 'The ECR ID.', + 'type' => 'string', + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + 'AssociationId' => [ + 'description' => 'The ID of the association between the ECR and the VPC or TR.', + 'type' => 'string', + 'example' => 'ecr-assoc-9p2qxx5phpca2m****', + ], + 'RegionId' => [ + 'description' => 'The region ID of the VBR.', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'OwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the VBR.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '167509154715****', + ], + 'GmtCreate' => [ + 'description' => 'The time when the association was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2024-01-09T12:18:23Z', + ], + 'GmtModified' => [ + 'description' => 'The time when the association was modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', + 'type' => 'string', + 'example' => '2024-01-09T12:18:23Z', + ], + 'Status' => [ + 'description' => 'The deployment state of the associated resource. Valid values:'."\n" + ."\n" + .'- **CREATING**: The resource is being created.'."\n" + .'- **ACTIVE**: The resource is created.'."\n" + .'- **ASSOCIATING**: The resource is being associated.'."\n" + .'- **DISSOCIATING**: The resource is being disassociated.'."\n" + .'- **UPDATING**: The resource is being modified.'."\n" + .'- **DELETING**: The resource is being deleted.', + 'type' => 'string', + 'example' => 'ACTIVE', + ], + 'ChildInstanceId' => [ + 'description' => 'The VBR ID.', + 'type' => 'string', + 'example' => 'vbr-gw8vjq2zjux3ifsc9****', + ], + 'ChildInstanceType' => [ + 'description' => 'The type of the VBR. The value is **VBR**.', + 'type' => 'string', + 'example' => 'VBR', + ], + 'ChildInstanceRegionId' => [ + 'description' => 'The region ID of the VBR.', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ChildInstanceOwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the VBR.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '112101171212****', + ], + 'Description' => [ + 'description' => 'The description of the ECR.'."\n", + 'type' => 'string', + 'example' => 'test ', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'DescribeExpressConnectRouterChildInstance', + ], + 'DescribeInstanceGrantedToExpressConnectRouter' => [ + 'summary' => 'Queries the network instances whose permissions are granted to an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199352', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'InstanceRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the network instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the network instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-j6cwxhgg0s5nuephp****', + ], + ], + [ + 'name' => 'InstanceOwnerId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the network instance.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '129845258050****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'* **VBR**'."\n" + .'* **VPC**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gAAAAABkyGzFbZR2NnxnyVk0EiL7F3qMBtBim8Es0mugRT3qb8yEHAMaHGanzuaHUmiEq9QRmok0RgxJAINBOJZa5KPjopEu_Q==', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '6', + ], + ], + [ + 'name' => 'TagModels', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `acs:` or `aliyun`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'key', + ], + 'TagValue' => [ + 'description' => 'The tag value. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'value'."\n", + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the resource group to which the network instance belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2tsvbnfe****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + ], + ], + [ + 'name' => 'CallerType', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The type of the user account. Valid values:'."\n" + ."\n" + .'* **sub**: a Resource Access Management (RAM) user.'."\n" + .'* **parent**: an Alibaba Cloud account.'."\n", + 'example' => 'OTHER', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeInstanceGrantedToEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.Name'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of Name **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'TotalCount' => [ + 'description' => 'The total number of network instances whose permissions are granted to the ECR.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==', + ], + 'EcrGrantedInstanceList' => [ + 'description' => 'The network instances whose permissions are granted to the ECR.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GrantId' => [ + 'description' => 'The authorization ID.'."\n", + 'type' => 'string', + 'example' => 'gr-8gdelo13mi99g1****', + ], + 'Status' => [ + 'description' => 'The state of the network instance.'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'GmtCreate' => [ + 'description' => 'The time when the network instance was created.'."\n", + 'type' => 'string', + 'example' => '1669023139000', + ], + 'GmtModified' => [ + 'description' => 'The time when the network instance was modified.'."\n", + 'type' => 'string', + 'example' => '1669023139000', + ], + 'EcrId' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + 'NodeId' => [ + 'description' => 'The ID of the network instance.'."\n", + 'type' => 'string', + 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n", + ], + 'NodeType' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'* **VBR**'."\n" + .'* **VPC**'."\n", + 'type' => 'string', + 'example' => 'VBR', + ], + 'NodeRegionId' => [ + 'description' => 'The region ID of the network instance.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'NodeOwnerUid' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the network instance.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '129845258050****'."\n", + ], + 'NodeOwnerBid' => [ + 'description' => 'The ID of the Alibaba Cloud enterprise account that owns the network instance.'."\n", + 'type' => 'string', + 'example' => '26842', + ], + 'EcrOwnerAliUid' => [ + 'type' => 'string', + 'description' => 'The ID of the Alibaba Cloud account that owns the ECR to which you want to grant permissions.'."\n", + 'example' => '1456408190545060', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => 'DescribeInstanceGrantedToExpressConnectRouter', + ], + 'RevokeInstanceFromExpressConnectRouter' => [ + 'summary' => 'Revokes permissions on a virtual private cloud (VPC) or a virtual border router (VBR) from an Express Connect router (ECR) owned by another account.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197623', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'EcrOwnerAliUid', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the ECR from which you want to revoke permissions.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '121012345612****'."\n", + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the network instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-j6cwxhgg0s5nuephp****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'* **VBR**'."\n" + .'* **VPC**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'InstanceRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the network instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<RevokeInstanceFromEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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' => 'Conflict.Lock', + 'errorMessage' => 'There are other unfinished operations.', + ], + ], + ], + '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' => 'RevokeInstanceFromExpressConnectRouter', + ], + 'GrantInstanceToExpressConnectRouter' => [ + 'summary' => 'Grants permissions on a virtual private cloud (VPC) or a virtual border router (VBR) to an Express Connect router (ECR) of another account.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197607', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'EcrOwnerAliUid', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the ECR to which you want to grant permissions.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '121012345612****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the network instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n", + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'* **VBR**'."\n" + .'* **VPC**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'InstanceRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the network instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<GrantInstanceToEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'GrantInstanceToExpressConnectRouter', + 'description' => 'When you associate a network instance of another account with an ECR, you must grant permissions on the network instance to the ECR.'."\n", + ], + 'CreateExpressConnectRouterAssociation' => [ + 'summary' => 'Associates a virtual private cloud (VPC) or a transit router (TR) with an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197620', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'AssociationRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the resource to be associated.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'TransitRouterOwnerId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the TR. Default value: ID of the Alibaba Cloud account that logs in.'."\n" + ."\n" + .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '189159362009****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The TR ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tr-2ze4i71c6be454e2l****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cen-of3o1the3i4gwb****', + ], + ], + [ + 'name' => 'VpcOwnerId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the VPC. Default value: ID of the Alibaba Cloud account that logs in.'."\n" + ."\n" + .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '132193271328****', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The VPC ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1h37fchc6jmfyln****', + ], + ], + [ + 'name' => 'AllowedPrefixes', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The allowed route prefixes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The allowed route prefix.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.0.20.0/28', + ], + 'required' => false, + 'maxItems' => 10000, + ], + ], + [ + 'name' => 'CreateAttachment', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to initiate an association on the TR when the ECR is associated with the TR. Valid values:'."\n" + ."\n" + .'* **true**: You do not need to initiate an association on the TR.'."\n" + .'* **false**: You need to initiate an association on the TR.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", + ], + ], + [ + 'name' => 'AllowedPrefixesMode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The route prefix mode. Valid values:'."\n" + ."\n" + .'- **MatchMode**: After you distribute new route CIDR blocks to data centers, original specific routes that are distributed are withdrawn.'."\n" + ."\n" + .'- **IncrementalMode**: After you distribute new route CIDR blocks to data centers, the original specific routes that fall in the CIDR blocks that you configure are withdrawn, and the original specific routes that do not fall in the CIDR blocks are still distributed.', + 'type' => 'string', + 'required' => false, + 'example' => 'MatchMode', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The information about the associated resource. It must be 0 to 128 characters in length.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '05130E79-588D-5C40-A718-C4863A59****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'AssociationId' => [ + 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n", + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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\\",\\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' => 'CreateExpressConnectRouterAssociation', + ], + 'DeleteExpressConnectRouterAssociation' => [ + 'summary' => 'Disassociates an Express Connect router (ECR) from a virtual private cloud (VPC) or a transit router (TR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197605', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-assoc-9p2qxx5phpca2m****', + ], + ], + [ + 'name' => 'DeleteAttachment', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to delete the association between the ECR and the VPC or TR. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DeleteAssociationResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '05130E79-588D-5C40-A718-C4863A59****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AssociationId', + 'errorMessage' => 'EcrAssociationId not found.', + ], + ], + ], + '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' => 'DeleteExpressConnectRouterAssociation', + ], + 'DescribeExpressConnectRouterAssociation' => [ + 'summary' => 'Queries the virtual private clouds (VPCs) and transit routers (TRs) associated with an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199364', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-assoc-9p2qxx5phpca2m****', + ], + ], + [ + 'name' => 'AssociationRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the VPC or TR.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AssociationNodeType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the associated resource. Valid values:'."\n" + ."\n" + .'* **VPC**'."\n" + .'* **TR**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The VPC ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1h37fchc6jmfyln****', + ], + ], + [ + 'name' => 'TransitRouterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The TR ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tr-2ze4i71c6be454e2l****', + ], + ], + [ + 'name' => 'CenId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cen-of3o1the3i4gwb****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeAssociationResponse>', + 'description' => 'RpcResponse'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '05130E79-588D-5C40-A718-C4863A59****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of DynamicMessage is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'TotalCount' => [ + 'description' => 'The total number of associated resources.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'."\n", + ], + 'AssociationList' => [ + 'description' => 'The associated resources.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AssociationId' => [ + 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n", + 'type' => 'string', + 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", + ], + 'RegionId' => [ + 'description' => 'The region ID of the resource.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'OwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the resource.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '167509154715****', + ], + 'GmtCreate' => [ + 'description' => 'The time when the association was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-01-09T12:18:23Z', + ], + 'GmtModified' => [ + 'description' => 'The time when the association was modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2024-01-09T12:18:23Z', + ], + 'Status' => [ + 'description' => 'The deployment state of the associated resource. Valid values:'."\n" + ."\n" + .'* **CREATING**: The resource is being created.'."\n" + .'* **ACTIVE**: The resource is created.'."\n" + .'* **INACTIVE**: The TR is pending to be associated with the ECR.'."\n" + .'* **ASSOCIATING**: The resource is being associated.'."\n" + .'* **DISSOCIATING**: The resource is being disassociated.'."\n" + .'* **UPDATING**: The resource is being modified.'."\n" + .'* **DELETING**: The resource is being deleted.'."\n", + 'type' => 'string', + 'example' => 'ACTIVE', + ], + 'AssociationNodeType' => [ + 'description' => 'The type of the associated resource. Valid values:'."\n" + ."\n" + .'* **VPC**'."\n" + .'* **TR**'."\n", + 'type' => 'string', + 'example' => 'VPC', + ], + 'TransitRouterOwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the TR.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '189159362009****'."\n", + ], + 'TransitRouterId' => [ + 'description' => 'The TR ID.'."\n", + 'type' => 'string', + 'example' => 'tr-2ze4i71c6be454e2l****'."\n", + ], + 'CenId' => [ + 'description' => 'The ID of the CEN instance.'."\n", + 'type' => 'string', + 'example' => 'cen-5510frtx8zi54q****', + ], + 'VpcOwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '146757288406****', + ], + 'VpcId' => [ + 'description' => 'The VPC ID.'."\n", + 'type' => 'string', + 'example' => 'vpc-2zeeaxet4i2j1a7n7****', + ], + 'AllowedPrefixes' => [ + 'description' => 'The allowed route prefixes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The route prefix.'."\n", + 'type' => 'string', + 'example' => '192.0.20.0/28', + ], + ], + 'EcrId' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'example' => 'ecr-fu8rszhgv7623c****', + ], + 'AllowedPrefixesMode' => [ + 'description' => 'The prefix route mode. Valid values:'."\n" + ."\n" + .'* MatchMode'."\n" + .'* IncrementalMode'."\n", + 'type' => 'string', + 'example' => 'MatchMode', + ], + 'Description' => [ + 'description' => 'The description of the associated resource.'."\n", + 'type' => 'string', + 'example' => 'test ', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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"}]', + 'title' => 'DescribeExpressConnectRouterAssociation', + ], + 'DisableExpressConnectRouterRouteEntries' => [ + 'summary' => 'Disables route entries of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197618', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectU328UX', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The destination CIDR block of the route entry in the route table of the ECR.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '10.153.32.16/28', + ], + ], + [ + 'name' => 'NexthopInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the next-hop instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'tr-hp3u4u5f03tfuljis****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DisableEcrRouteResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'DisableExpressConnectRouterRouteEntries', + ], + 'EnableExpressConnectRouterRouteEntries' => [ + 'summary' => 'Enables route entries of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197610', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect9IGKFS', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The destination CIDR block of the route entry in the route table of the ECR.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '10.153.32.16/28', + ], + ], + [ + 'name' => 'NexthopInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the next-hop instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'tr-hp3u4u5f03tfuljis****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<EnableEcrRouteResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'EnableExpressConnectRouterRouteEntries', + ], + 'DescribeDisabledExpressConnectRouterRouteEntries' => [ + 'summary' => 'Queries the route entries that are disabled on an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199356', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectU328UX', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FFv4fzkNPW8Z+cZ+DBXXQ3Gmf3XlCgpBH43oaTYTAAcGc708Zb+pDyAGVJBo/MKsyrtZfPnX9Ztf02vgdIDyaNe8UuZdf/JJk069qxGKzqSKg=', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeEcrDisabledRouteResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether routes are disabled by the ECR. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsInstanceId**, the request parameter **DtsInstanceId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'TotalCount' => [ + 'description' => 'The total number of routes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If NextToken is empty, no next page exists.'."\n" + .'* If a value of NextToken is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==', + ], + 'DisabledRouteEntryList' => [ + 'description' => 'The routes that are queried.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EcrId' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'example' => 'ecr-mezk2idmsd0vx2****'."\n", + ], + 'DestinationCidrBlock' => [ + 'description' => 'The destination CIDR block of the route.'."\n", + 'type' => 'string', + 'example' => '192.168.100.110/32', + ], + 'NexthopInstanceId' => [ + 'description' => 'The ID of the next-hop instance.'."\n", + 'type' => 'string', + 'example' => 'br-hp3u4u5f03tfuljis****'."\n", + ], + 'NexthopInstanceRegionId' => [ + 'description' => 'The region ID of the next-hop instance.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'GmtCreate' => [ + 'description' => 'The time when the route entry was created.'."\n", + 'type' => 'string', + 'example' => '1682317345', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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 \\"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' => 'DescribeDisabledExpressConnectRouterRouteEntries', + ], + 'DescribeExpressConnectRouterRouteEntries' => [ + 'summary' => 'Queries the route entries of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199353', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect9IGKFS', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'QueryRegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID of the ECR.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DestinationCidrBlock', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The destination CIDR block of the route that you want to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.20.47.0/24', + ], + ], + [ + 'name' => 'NexthopInstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the next-hop instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'br-hp3u4u5f03tfuljis****', + ], + ], + [ + 'name' => 'AsPath', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Autonomous System (AS) path of the route.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[64993,64512]', + ], + ], + [ + 'name' => 'Community', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The community value that is carried in the Border Gateway Protocol (BGP) route.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '9001:9263', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 10.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeEcrRouteResponse>', + 'description' => 'RpcResponse'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'TotalCount' => [ + 'description' => 'The total number of route entries.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 10'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '6', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA==', + ], + 'RouteEntriesList' => [ + 'description' => 'The routes.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'DestinationCidrBlock' => [ + 'description' => 'The destination CIDR block of the route.'."\n", + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'Status' => [ + 'description' => 'The state of the ECR.'."\n", + 'type' => 'string', + 'example' => 'ACTIVE', + ], + 'NexthopInstanceId' => [ + 'description' => 'The ID of the next-hop instance.'."\n", + 'type' => 'string', + 'example' => 'br-hp3u4u5f03tfuljis****'."\n", + ], + 'NexthopInstanceRegionId' => [ + 'description' => 'The region ID of the next-hop instance.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AsPath' => [ + 'description' => 'The AS path of the route.'."\n", + 'type' => 'string', + 'example' => '[64993,64512]', + ], + 'Community' => [ + 'description' => 'The community value that is carried in the BGP route.'."\n", + 'type' => 'string', + 'example' => '9001:9263', + ], + 'Med' => [ + 'description' => 'The MED value of the BGP route, which is used between the ECR and the transit router.'."\n" + ."\n" + .'* You can set the MED value to 2000. In this case, the transit router and the ECR are used as default paths.'."\n" + .'* If a non-default path is used, the MED value is empty.'."\n" + .'* You can set the MED value to 2000 only for one object associated with a transit router of a CEN instance.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2000', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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"}]', + 'title' => 'DescribeExpressConnectRouterRouteEntries', + ], + 'MoveResourceGroup' => [ + 'summary' => 'Modifies the resource group to which an Express Connect router (ECR) belongs.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '200712', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectJZV4YI', + ], + ], + 'parameters' => [ + [ + 'name' => 'NewResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the new resource group. For more information about resource groups, see the "Resource Group" section of the [What is Resource Management?](~~94475~~) topic.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'rg-acfmvt3xpr5****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The resource type. Set the value to EXPRESSCONNECTROUTER.', + 'type' => 'string', + 'required' => true, + 'example' => 'EXPRESSCONNECTROUTER', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-897j0jooxyr1aq****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n" + .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<BaseResult>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + ], + ], + ], + ], + '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' => 'MoveResourceGroup', + ], + 'ListTagResources' => [ + 'summary' => 'Queries a list of tags that are added to an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '200710', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectI9TIJD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The resource type. Set the value to EXPRESSCONNECTROUTER.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'EXPRESSCONNECTROUTER', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ECR IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ECR ID.'."\n" + ."\n" + .'You can specify up to 50 ECR IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-kgzj75zpq50hqz****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tag.'."\n" + ."\n" + .'You can specify at most 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'The tag value. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`. The tag value can be an empty string.'."\n" + ."\n" + .'You can specify up to 20 tag values in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'enumValueTitles' => [], + 'maxItems' => 20, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to return for a single request. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListEcrTagResourcesResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'TagResources' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => 'The resource ID.'."\n", + 'type' => 'string', + 'example' => 'ecr-897j0jooxyr1aq****', + ], + 'ResourceType' => [ + 'description' => 'The resource type. The value is **EXPRESSCONNECTROUTER**.'."\n", + 'type' => 'string', + 'example' => 'EXPRESSCONNECTROUTER', + ], + 'TagKey' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'TestKey', + ], + 'TagValue' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'TestValue', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => 'The total number of records that meet the query conditions.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', + ], + 'MaxResults' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + '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' => 'ListTagResources', + ], + 'UntagResources' => [ + 'summary' => 'Removes tags from an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '218206', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectI9TIJD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ECR IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ECR ID. You can specify at most 50 ECR IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-897j0jooxyr1aq****', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The keys of the tags that you want to remove from the ECRs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key of the tag that you want to remove from the ECRs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'All', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to remove all tags. This parameter is valid only when the **TagKey** parameter is not specified. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false** (default)'."\n" + ."\n" + .'> You must specify one of **TagKey** and **All**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The resource type. Set the value to **EXPRESSCONNECTROUTER**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'EXPRESSCONNECTROUTER', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => ' '."\n" + .'02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<BaseResult>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + ], + ], + ], + ], + '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' => 'UntagResources', + ], + 'CreateExpressConnectRouter' => [ + 'summary' => 'Creates an Express Connect Router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197622', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ECR.'."\n" + ."\n" + .'> The name must be 0 to 128 characters in length, and cannot start with http:// or https://.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the ECR.'."\n" + ."\n" + .'> The description can be empty or 0 to 256 characters in length and cannot start with http:// or https://.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the resource group to which the ECR belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmvvajg5q****', + ], + ], + [ + 'name' => 'AlibabaSideAsn', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The autonomous system number (ASN) of the ECR. Valid values: 45104, 64512 to 65534, and 4200000000 to 4294967294. Default value: 45104. The value 65025 is reserved by Alibaba Cloud.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '45104', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00**** ', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The information about the tags.'."\n" + ."\n" + .'You can specify at most 20 tags in each call.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags that you want to add to the cloud desktop.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n" + ."\n" + .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'The value of the tag. You can specify up to 20 tag values. The tag value can be an empty string.'."\n" + ."\n" + .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the ECR is created. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.Name', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of Name **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'EcrId' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'example' => 'ecr-fu8rszhgv7623c****', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => 'CreateExpressConnectRouter', + 'description' => 'After you create an ECR, it enters the **Active** state.'."\n", + ], + 'DeleteExpressConnectRouter' => [ + 'summary' => 'Deletes an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197616', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****'."\n", + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DeleteEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'DeleteExpressConnectRouter', + 'description' => 'Take note of the following items:'."\n" + ."\n" + .'* Before you call this operation, make sure that all resources are disassociated from the ECR.'."\n" + .'* You can delete only ECRs that are in the **Active** state.'."\n", + ], + 'ModifyExpressConnectRouterInterRegionTransitMode' => [ + 'summary' => 'Modifies the cross-region forwarding mode of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197619', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectLCKWNS', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'TransitModeList', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The cross-region forwarding modes.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'description' => 'The region ID of the ECR.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + 'Mode' => [ + 'description' => 'The cross-domain forwarding mode of the ECR. Valid values:'."\n" + ."\n" + .'* **ECMP**: the load balancing mode.'."\n" + .'* **NearBy**: the nearby forwarding mode.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'ECMP' => 'ECMP', + 'NearBy' => 'NearBy', + ], + 'example' => 'ECMP', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ModifyEcrTransitModeResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'ModifyExpressConnectRouterInterRegionTransitMode', + ], + 'ModifyExpressConnectRouterAssociationAllowedPrefix' => [ + 'summary' => 'Modifies the route prefixes of a virtual private cloud (VPC) or a transit router (TR) that is associated with an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197603', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectDQ6AHD', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-assoc-9p2qxx5phpca2m****', + ], + ], + [ + 'name' => 'AllowedPrefixes', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The allowed route prefixes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The route prefix.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.0.20.0/28'."\n", + ], + 'required' => false, + 'maxItems' => 10000, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'AllowedPrefixesMode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The route prefix mode.'."\n" + ."\n" + .'* MatchMode: After you distribute new route CIDR blocks to data centers, original specific routes that are distributed are withdrawn.'."\n" + .'* IncrementalMode: After you distribute new route CIDR blocks to data centers, the original specific routes that fall in the CIDR blocks that you configure are withdrawn, and the original specific routes that do not fall in the CIDR blocks are still distributed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'MatchMode', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ModifyAssociationAllowedPrefixResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '05130E79-588D-5C40-A718-C4863A59****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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' => '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AssociationId', + 'errorMessage' => 'EcrAssociationId not found.', + ], + ], + ], + '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' => 'ModifyExpressConnectRouterAssociationAllowedPrefix', + ], + 'ModifyExpressConnectRouter' => [ + 'summary' => 'Modifies the properties such as the name of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197614', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectY33HGU', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****'."\n", + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ECR.'."\n" + ."\n" + .'> The name must be 0 to 128 characters in length, and cannot start with http:// or https://.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test'."\n", + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the ECR.'."\n" + ."\n" + .'> The description can be empty or 0 to 256 characters in length and cannot start with http:// or https://.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test'."\n", + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ModifyEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True'."\n", + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK'."\n", + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.Name'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of Name **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'ModifyExpressConnectRouter', + 'description' => 'You can modify only properties of ECRs in the **Active** state.'."\n", + ], + 'DescribeExpressConnectRouterInterRegionTransitMode' => [ + 'summary' => 'Queries the cross-region forwarding modes of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199363', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectLCKWNS', + 'FEATUREexpressconnect2V07Q4', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'InterRegionTransitModeList' => [ + 'description' => 'The cross-region forwarding modes.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'description' => 'The region ID of the ECR.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Mode' => [ + 'description' => 'The cross-region forwarding mode of the ECR. Valid values:'."\n" + ."\n" + .'* **ECMP**: the load balancing mode.'."\n" + .'* **NearBy**: the nearby forwarding mode.'."\n", + 'type' => 'string', + 'example' => 'ECMP', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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 \\"InterRegionTransitModeList\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Mode\\": \\"ECMP\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeExpressConnectRouterInterRegionTransitMode', + ], + 'DescribeExpressConnectRouterAllowedPrefixHistory' => [ + 'summary' => 'Queries the historical route prefixes of an Express Connect router (ECR).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199365', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectDQ6AHD', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the network instance that is associated with the ECR.'."\n" + ."\n" + .'> You must specify either **InstanceId** or **AssociationId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-j6cwxhgg0s5nuephp****', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'* **VPC**'."\n" + .'* **TR**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VPC', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==', + ], + ], + [ + 'name' => 'AssociationId', + 'in' => 'formData', + 'schema' => [ + 'title' => '专线网关与专有网络VPC或转发路由器TR的关联的实例ID。', + 'description' => 'The ID of the association between the ECR and the virtual private cloud (VPC) or transit router (TR).'."\n" + ."\n" + .'> You must specify either **InstanceId** or **AssociationId**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeEcrAllowedPrefixHistoryResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'AllowedPrefixHistoryList' => [ + 'description' => 'The historical route prefixes.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AllowedPrefix' => [ + 'description' => 'The route prefix.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The route prefix entry.'."\n", + 'type' => 'string', + 'example' => '10.0.0.8/1', + ], + ], + 'GmtCreate' => [ + 'description' => 'The time when the historical route prefix entry was created.'."\n", + 'type' => 'string', + 'example' => '1673751163000', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AssociationId', + 'errorMessage' => 'EcrAssociationId not found.', + ], + ], + ], + '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' => 'DescribeExpressConnectRouterAllowedPrefixHistory', + ], + 'DescribeExpressConnectRouter' => [ + 'summary' => 'Queries a list of Express Connect routers (ECRs).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '199357', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-fu8rszhgv7623c****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ECR. The name must be 0 to 128 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* You do not need to specify this parameter for the first request.'."\n" + .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'e0a2dbeb69a8beeeb8194e92b702df3fd3e7bfe6ce7bfc16e0b5e8707e68181f', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource tags. You can specify up to 20 tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag keys.'."\n" + ."\n" + .'The tag keys cannot be an empty string. The tag keys can be up to 64 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n" + ."\n" + .'You can specify at most 20 tag keys.', + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'A tag value.'."\n" + ."\n" + .'A tag value can be a maximum of 128 characters in length. It cannot contain `http://` or `https://` and cannot start with `acs:`.', + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the resource group to which the ECR belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aek2aq7f4va****'."\n", + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.Name', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of Name **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + 'type' => 'string', + 'example' => 'Authentication is failed for ****', + ], + 'TotalCount' => [ + 'description' => 'The total number of ECRs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If NextToken is empty, no next page exists.'."\n" + .'* If a value of NextToken is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==', + ], + 'EcrList' => [ + 'description' => 'The ECRs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'EcrId' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + 'OwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud account that owns the ECR.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '170646818729****', + ], + 'GmtCreate' => [ + 'description' => 'The time when the ECR was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-02-16T01:44:50Z'."\n", + ], + 'GmtModified' => [ + 'description' => 'The time when the ECR was modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-02-16T01:44:50Z', + ], + 'Status' => [ + 'description' => 'The deployment state of the ECR. Valid values:'."\n" + ."\n" + .'* **ACTIVE**: The ECR is created.'."\n" + .'* **UPDATING**: The ECR is being modified.'."\n" + .'* **ASSOCIATING**: The ECR is being associated with resources.'."\n" + .'* **DISSOCIATING**: The resource is being disassociated from resources.'."\n" + .'* **LOCKED_ATTACHING**: The ECR is locked because it is being associated with an external system.'."\n" + .'* **LOCKED_DETACHING**: The ECR is locked because it is being disassociated from an external system.'."\n" + .'* **RECLAIMING**: The ECR is waiting to release resources.'."\n" + .'* **DELETING**: The ECR is being deleted.'."\n", + 'type' => 'string', + 'example' => 'Active', + ], + 'BizStatus' => [ + 'description' => 'The business state of the ECR. Valid values:'."\n" + ."\n" + .'* **Normal:** The ECR is running as expected.'."\n" + .'* **FinancialLocked**: The ECR is locked due to overdue payments.'."\n", + 'type' => 'string', + 'example' => 'Normal', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group to which the ECR belongs.'."\n", + 'type' => 'string', + 'example' => 'rg-aekzuscospt****', + ], + 'Tags' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags.', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'TagValue' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'Name' => [ + 'description' => 'The name of the ECR.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'Description' => [ + 'description' => 'The description of the ECR.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'AlibabaSideAsn' => [ + 'description' => 'The autonomous system number (ASN) of the ECR.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '45104', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + '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 \\"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' => 'DescribeExpressConnectRouter', + ], + 'ForceDeleteExpressConnectRouter' => [ + 'summary' => 'Deletes an Express Connect router (ECR) and disassociates the virtual private cloud (VPC), transit router (TR), and virtual border router (VBR) associated with the ECR.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197612', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnect7LHFR8', + 'FEATUREexpressconnectQL8QN0', + 'FEATUREexpressconnectNHSYB7', + ], + ], + 'parameters' => [ + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****'."\n", + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ForceDeleteEcrResponse>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.EcrId', + 'errorMessage' => 'EcrId not found.', + ], + ], + ], + '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' => 'ForceDeleteExpressConnectRouter', + 'description' => '* If you forcefully delete an ECR, all the resources associated with the ECR are disassociated at a time. Make sure that the disassociation does not affect the stability of your business.'."\n" + .'* You can delete only ECRs that are in the **Active** state.'."\n", + ], + 'CreateFlowLog' => [ + 'summary' => 'Creates a flow log and enables log delivery.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '253947', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectH4NOM0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ECR.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the flow log.'."\n" + ."\n" + .'> The name can be empty or 1 to 128 characters in length and cannot start with http:// or https://.', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the flow log.'."\n" + ."\n" + .'> The description can be empty or 1 to 256 characters in length. It cannot start with http:// or https://.', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'InstanceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of network instance. Valid values:'."\n" + ."\n" + .'* **VBR**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VBR', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The VBR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vbr-xxx'."\n", + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time window for collecting log data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- **60**'."\n" + .'- **600**'."\n" + ."\n" + .'Default value: **600**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + ], + ], + [ + 'name' => 'SamplingRate', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sampling proportion. Valid values:'."\n" + ."\n" + .'- **1:4096**'."\n" + .'- **1:2048**'."\n" + .'- **1:1024**'."\n" + ."\n" + .'Default value: **1:4096**.', + 'type' => 'string', + 'required' => false, + 'example' => '1:4096 ', + ], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The project that stores the captured traffic data.'."\n" + ."\n" + .'* If a project is already created in the selected region, enter the name of the project.'."\n" + .'* If no projects are created in the selected region, enter a name and the system automatically creates a project.'."\n" + ."\n" + .'The project name must be unique in a region. You cannot change the name after the project is created. The name must meet the following requirements:'."\n" + ."\n" + .'* The name must be globally unique.'."\n" + .'* The name can contain only lowercase letters,'."\n" + .'* digits, and hyphens (-).'."\n" + .'* The name must start and end with a lowercase letter or a digit.'."\n" + .'* The name must be 3 to 63 characters in length.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-project', + ], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Logstore that stores the captured traffic data.'."\n" + ."\n" + .'* If a Logstore is already created in the selected region, enter the name of the Logstore.'."\n" + .'* If no Logstores are created in the selected region, enter a name and the system automatically creates a Logstore. The name of the Logstore. The name must meet the following requirements:'."\n" + .'* The name must be unique in a project.'."\n" + .'* It can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" + .'* The name must start and end with a lowercase letter or a digit.'."\n" + .'* The name must be 3 to 63 characters in length.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-logstore', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + ], + 'Value' => [ + 'type' => 'string', + ], + ], + ], + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'allowEmptyValue' => false, + 'schema' => [ + 'type' => 'string', + ], + ], + [ + 'name' => 'TargetSlsRegionId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- **True**'."\n" + .'- **False**', + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.', + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.', + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic error message. This parameter is used to replace the % **s** in the **ErrMessage** error message of the response parameter.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter** %**s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.', + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The queried information about the request denial.', + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'FlowLogId' => [ + 'description' => 'The ID of the flow log.', + 'type' => 'string', + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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 \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"FlowLogId\\": \\"ecr-flog-m5evbtbpt****\\"\\n}","type":"json"}]', + 'title' => 'CreateFlowLog', + ], + 'DeleteFlowlog' => [ + 'summary' => 'Deletes a flow log.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '253978', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectH4NOM0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* true: performs only a dry run.'."\n" + .'* false (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the flow log.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-m5evbtbpt****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- **True**'."\n" + .'- **False**', + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + ], + '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 \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + 'title' => 'DeleteFlowlog', + ], + 'ModifyFlowLogAttribute' => [ + 'summary' => 'Modifies the name, description, sampling rate, and sampling interval.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254019', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectH4NOM0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-fu8rszhgv7623c****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The new name of the flow log. The name must be 0 to 128 characters in length.', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time window for collecting log data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- **60**'."\n" + .'- **600**'."\n" + ."\n" + .'Default value: **600**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '600', + ], + ], + [ + 'name' => 'SamplingRate', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sampling proportion. Valid values:'."\n" + ."\n" + .'- **1:4096**'."\n" + .'- **1:2048**'."\n" + .'- **1:1024**'."\n" + ."\n" + .'Default value: **1:4096**.', + 'type' => 'string', + 'required' => false, + 'example' => '1:4096', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the flow log.'."\n" + .'The description can be empty or 0 to 256 characters in length.', + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the flow log.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-m5evbtbpt****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", + ], + 'Success' => [ + 'description' => 'Indicates whether routes are disabled by the ECR. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + ], + '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"}]', + 'title' => 'ModifyFlowLogAttribute', + ], + 'DescribeFlowLogs' => [ + 'summary' => 'Queries flow logs.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '253981', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectH4NOM0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-a5xqrgbeidz1w8****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'type' => 'string', + 'required' => false, + ], + 'Value' => [ + 'type' => 'string', + ], + ], + ], + 'maxItems' => 20, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'- You do not need to specify this parameter for the first request.'."\n" + .'- You must specify the token that is obtained from the previous query as the value of NextToken.', + 'type' => 'string', + 'required' => false, + 'example' => 'gAAAAABkWw*******', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of entries to return. Valid values: 1 to 2147483647. Default value: 10.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the flow log.', + 'type' => 'string', + 'required' => false, + 'example' => 'flowlog-jqnr0veifo5d****', + ], + ], + [ + 'name' => 'FlowLogName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The flow log name. The name must be 0 to 128 characters in length.', + 'type' => 'string', + 'required' => false, + 'example' => 'same-flowlog', + ], + ], + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The project that stores the captured traffic data.'."\n" + ."\n" + .'* If a project is already created in the selected region, enter the name of the project.'."\n" + .'* If no projects are created in the selected region, enter a name and the system automatically creates a project.'."\n" + ."\n" + .'The project name must be unique in a region. You cannot change the name after the project is created. The name must meet the following requirements:'."\n" + ."\n" + .'* The name must be globally unique.'."\n" + .'* The name can contain only lowercase letters,'."\n" + .'* digits, and hyphens (-).'."\n" + .'* The name must start and end with a lowercase letter or a digit.'."\n" + .'* The name must be 3 to 63 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'LogStoreName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The Logstore that stores the captured traffic data.'."\n" + ."\n" + .'* If a Logstore is already created in the selected region, enter the name of the Logstore.'."\n" + .'* If no Logstores are created in the selected region, enter a name and the system automatically creates a Logstore. The name of the Logstore. The name must meet the following requirements:'."\n" + .'* The name must be unique in a project.'."\n" + .'* It can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" + .'* The name must start and end with a lowercase letter or a digit.'."\n" + .'* The name must be 3 to 63 characters in length.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'myFlowlog', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the VBR associated with the ECR.', + 'type' => 'string', + 'required' => false, + 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n", + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- **True**'."\n" + .'- **False**', + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.', + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.', + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.', + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The queried information about the request denial.', + 'type' => 'string', + 'example' => 'Authentication is failed for ****'."\n", + ], + 'TotalCount' => [ + 'description' => 'The total number of records that meet the query conditions.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '11', + ], + 'MaxResults' => [ + 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 10.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n" + ."\n" + .'* If **NextToken** is empty, no next page exists.'."\n" + .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n", + 'type' => 'string', + 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', + ], + 'FlowLogs' => [ + 'description' => 'The information about the flow logs.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the flow log.', + 'type' => 'object', + 'properties' => [ + 'FlowLogId' => [ + 'description' => 'The ID of the flow log.', + 'type' => 'string', + 'example' => 'flowlog-leypqehtgtia2*****', + ], + 'EcrId' => [ + 'description' => 'The ECR ID.', + 'type' => 'string', + 'example' => 'ecr-h4cop1khw98*****', + ], + 'RegionId' => [ + 'description' => 'The region ID of the flow log.'."\n", + 'type' => 'string', + 'example' => 'cn-shanghai', + ], + 'Status' => [ + 'description' => 'The status of the flow log. Valid values:'."\n" + ."\n" + .'* **Active**'."\n" + ."\n" + .'* **Inactive**', + 'type' => 'string', + 'example' => 'Active', + ], + 'FlowLogName' => [ + 'description' => 'The name of the flow log.'."\n", + 'type' => 'string', + 'example' => 'myFlowlog', + ], + 'Description' => [ + 'description' => 'The description of the flow log.'."\n", + 'type' => 'string', + 'example' => 'myFlowlog', + ], + 'Interval' => [ + 'description' => 'The time window for collecting log data. Unit: seconds. Valid values:'."\n" + ."\n" + .'- **60**'."\n" + .'- **600**'."\n" + ."\n" + .'Default value: **600**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '600', + ], + 'SamplingRate' => [ + 'description' => 'The sampling proportion. Valid values:'."\n" + ."\n" + .'- **1:4096**'."\n" + .'- **1:2048**'."\n" + .'- **1:1024**'."\n" + ."\n" + .'Default value: **1:4096**.', + 'type' => 'string', + 'example' => '1:4096 ', + ], + 'LogStoreName' => [ + 'description' => 'The Logstore that stores the captured traffic data.', + 'type' => 'string', + 'example' => 'FlowLogStore', + ], + 'ProjectName' => [ + 'description' => 'The name of the project that stores the captured traffic data.', + 'type' => 'string', + 'example' => 'FlowLogProject', + ], + 'InstanceType' => [ + 'description' => 'The type of the network instance. Valid values:'."\n" + ."\n" + .'- **VBR**: virtual border router (VBR)', + 'type' => 'string', + 'example' => 'VBR', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group to which the ECR belongs.', + 'type' => 'string', + 'example' => 'rg-aekzb3xwrexc4ry', + ], + 'Tags' => [ + 'description' => 'The tag key.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag key.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key of tag N of the instance. The tag key cannot be an empty string.'."\n" + ."\n" + .'> It can be up to 64 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', + 'type' => 'string', + 'example' => 'TagKey', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n" + ."\n" + .'> It can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`. The tag value can be an empty string.', + 'type' => 'string', + 'example' => 'TagValue', + ], + ], + ], + ], + 'InstanceId' => [ + 'description' => 'The ID of the network instance.', + 'type' => 'string', + 'example' => 'vbr-9dpty76irpf4u15*****', + ], + 'CreationTime' => [ + 'description' => 'The time when the flow log was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.', + 'type' => 'string', + 'example' => '2023-09-21T04:20Z', + ], + 'SlsRegionId' => [ + 'description' => 'The ID of the region where Log Service is deployed.', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + '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.', + ], + ], + ], + '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' => 'DescribeFlowLogs', + ], + 'DeactivateFlowLog' => [ + 'summary' => 'Disables log delivery.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254021', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectH4NOM0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the flow log.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-m5evbtbpt****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId', + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.', + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + ], + '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' => 'DeactivateFlowLog', + ], + 'ActivateFlowLog' => [ + 'summary' => 'Enables log delivery for flow logs.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254020', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectH4NOM0', + ], + ], + 'parameters' => [ + [ + 'name' => 'EcrId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ECR ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'ecr-mezk2idmsd0vx2****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + [ + 'name' => 'FlowLogId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the flow log.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flowlog-m5evbtbpt****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateAssociationResponse>', + 'description' => 'RpcResponse<CreateAssociationResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '05130E79-588D-5C40-A718-C4863A59****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'True', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + 'HttpStatusCode' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'DynamicCode' => [ + 'description' => 'The dynamic error code.'."\n", + 'type' => 'string', + 'example' => 'IllegalParamFormat.EcrId'."\n", + ], + 'DynamicMessage' => [ + 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n" + ."\n" + .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n", + 'type' => 'string', + 'example' => 'The param format of EcrId **** is illegal.'."\n", + ], + 'AccessDeniedDetail' => [ + 'description' => 'The details about the access denial.'."\n", + '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.', + ], + ], + ], + '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\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', + 'title' => 'ActivateFlowLog', + ], + 'TagResources' => [ + 'summary' => 'Adds tags to an Express Connect router (ECR). You can add tags to only one ECR each time you call this operation. You can add multiple tags at a time.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '200701', + 'abilityTreeNodes' => [ + 'FEATUREexpressconnectI9TIJD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ECR IDs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ECR IDs. You can specify a maximum of 20 resource IDs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ecr-897j0jooxyr1aq****', + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags to be added.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag list.', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n" + ."\n" + .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n" + ."\n" + .'You can specify up to 20 tag keys in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestKey', + ], + 'Value' => [ + 'description' => 'The tag value. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`. The tag value can be an empty string.'."\n" + ."\n" + .'You can add up to 20 tag values in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TestValue', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The resource type. Set the value to **EXPRESSCONNECTROUTER**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'EXPRESSCONNECTROUTER', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n" + ."\n" + .'* **true**: performs only a dry run.'."\n" + .'* **false** (default): performs a dry run and performs the actual request.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" + ."\n" + .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n" + ."\n" + .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '02fb3da4-130e-11e9-8e44-00****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<BaseResult>', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Code' => [ + 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'OK', + ], + ], + ], + ], + ], + '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' => 'TagResources', + ], + ], + '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-beijing-finance-1', + 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan-acdr-1', + 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', + ], + ], +]; |
