'1.0', 'info' => ['style' => 'RPC', 'product' => 'ExpressConnectRouter', 'version' => '2023-09-01'], 'directories' => [ [ 'children' => ['DescribeExpressConnectRouterRegion', 'ListExpressConnectRouterSupportedRegion', 'SynchronizeExpressConnectRouterInterRegionBandwidth', 'CheckAddRegionToExpressConnectRouter'], 'type' => 'directory', 'title' => 'Region', ], [ 'children' => ['ModifyExpressConnectRouterChildInstance', 'ModifyExpressConnectRouterAssociation', 'AttachExpressConnectRouterChildInstance', 'DetachExpressConnectRouterChildInstance', 'DescribeExpressConnectRouterChildInstance', 'DescribeInstanceGrantedToExpressConnectRouter', 'RevokeInstanceFromExpressConnectRouter', 'GrantInstanceToExpressConnectRouter'], 'type' => 'directory', 'title' => 'Child instance management', ], [ 'children' => ['CreateExpressConnectRouterAssociation', 'DeleteExpressConnectRouterAssociation', 'DescribeExpressConnectRouterAssociation'], 'type' => 'directory', 'title' => 'Resource associations', ], [ 'children' => ['DisableExpressConnectRouterRouteEntries', 'EnableExpressConnectRouterRouteEntries', 'DescribeDisabledExpressConnectRouterRouteEntries', 'DescribeExpressConnectRouterRouteEntries'], 'type' => 'directory', 'title' => 'Express connect router route entries', ], [ 'children' => ['CreateExpressConnectRouter', 'DeleteExpressConnectRouter', 'ModifyExpressConnectRouterInterRegionTransitMode', 'ModifyExpressConnectRouterAssociationAllowedPrefix', 'ModifyExpressConnectRouter', 'DescribeExpressConnectRouterInterRegionTransitMode', 'DescribeExpressConnectRouterAllowedPrefixHistory', 'DescribeExpressConnectRouter', 'ForceDeleteExpressConnectRouter'], 'type' => 'directory', 'title' => 'Express connect router (ECR)', ], [ 'children' => ['CreateFlowLog', 'DeactivateFlowLog', 'DeleteFlowlog', 'DescribeFlowLogs', 'ActivateFlowLog', 'ModifyFlowLogAttribute'], 'type' => 'directory', 'title' => 'Flow log', ], [ 'children' => ['TagResources', 'UntagResources', 'ListTagResources', 'MoveResourceGroup'], 'type' => 'directory', 'title' => 'Tags and resource groups', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'ActivateFlowLog' => [ '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 ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request. The system does not activate log delivery.'."\n" ."\n" .'- **false** (default): Sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique token on your client for each request. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the RequestId as the ClientToken. The RequestId may be different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'FlowLogId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The status code. A return value of 200 indicates that the call is successful. For more information about other return values, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> For example, if the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, it means the value of the **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ActivateFlowLog', 'summary' => 'Activates log delivery for a flow log.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActivateFlowLog'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:ActivateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], '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"}]', ], 'AttachExpressConnectRouterChildInstance' => [ 'summary' => 'Attaches a child instance (VBR) to 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 ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-a5xqrgbeidz1w8****'], ], [ 'name' => 'ChildInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the virtual border router (VBR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ 'name' => 'ChildInstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Set the value to **VBR**. VBR specifies a virtual border router.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'ChildInstanceRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region where the VBR instance is located.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'ChildInstanceOwnerId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR instance belongs.'."\n" ."\n" .'> This parameter is required if you attach a network instance that belongs to another Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1905501448682345'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request without modifying service resources.'."\n" ."\n" .'- **false** (default): Sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique parameter value from your client for each request. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** of each request is different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the child instance. The description must be 0 to 128 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call was successful. A value of 200 indicates that the call was successful. Other values indicate that the call failed. For more information, see the "Error codes" section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** 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 specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'The ECR Association instance does not allow the current operation. Please try again after the operation in progress completes'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'OperationDenied.CrossAccountDisassociating', 'errorMessage' => 'Unbind cross-account.', 'description' => 'The current operation is rejected, you need to unbind the cross-account page before performing this operation.'], ['errorCode' => 'OperationDenied.EcrAttachmentExisted', 'errorMessage' => 'Ecr and TR have been linked.', 'description' => 'The current operation is rejected. The connection between the leased line gateway instance and the TR has been established. Dismiss the connection before performing this operation.'], ['errorCode' => 'OperationDenied.VbrDoesNotSupportMpbgp', 'errorMessage' => 'The VBR does not support Mpbgp configuration.', 'description' => 'The operation is rejected. VBR does not support Mpbgp,'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'Conflict.ASNOfVBR', 'errorMessage' => 'ASN already used by other VBR.', 'description' => 'The current VBR BgpGroup localAsn is inconsistent with the ECR asn. Adjust the consistency and rebind.'], ['errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.', 'description' => 'The current operation cannot be executed normally. There is a routing entry in the border router and the configuration is taking effect. Please wait for it to take effect and try again.'], ['errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.', 'description' => 'The current operation cannot be performed normally. The configuration of the BGP group in the border router is in effect. Please wait for it to take effect and try again.'], ['errorCode' => 'OperationDenied.VbrAlreadyAttachedToCen', 'errorMessage' => 'VBR has already attached to CEN.', 'description' => 'The VBR has been bound to the CEN. Delete the VBR from the CEN and try again.'], ['errorCode' => 'OperationDenied.VbrAlreadyAttachedToEcr', 'errorMessage' => 'VBR has already attached to ECR.', 'description' => 'The VBR has been associated with a leased line gateway. Delete the VBR from the leased line gateway and try again.'], ['errorCode' => 'ResourceAlreadyExist.ChildInstanceId', 'errorMessage' => 'The specified resource of ChildInstanceId already exists.', 'description' => 'The specified resource has been associated with the leased line gateway ECR. Please check and try again.'], ['errorCode' => 'UnsupportedFeature.JumboFrame', 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.', 'description' => ''], ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'The request processing has failed due to some unknown error.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'AttachExpressConnectRouterChildInstance', 'description' => 'Before you call the **AttachExpressConnectRouterChildInstance** operation to attach a child instance (VBR) to an ECR, make sure that the ECR is in the **Active** state.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachExpressConnectRouterChildInstance'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:AttachExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'CheckAddRegionToExpressConnectRouter' => [ '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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'FreshRegionId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the region that you want to add to ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- true: performs a dry run to check the request. No service resources are modified.'."\n" ."\n" .'- false (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique token on your client. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The status code. A value of 200 indicates that the call was successful. For information about other error codes, see the "Error codes" section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the `%s` placeholder in the error message.'."\n" ."\n" .'> If the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and this parameter returns **DtsInstanceId**, it means that the **DtsInstanceId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], 'AnyInterRegionLink' => ['description' => 'Indicates whether the ECR instance has an inter-region connection in the Chinese mainland. Valid values:'."\n" ."\n" .'- **true**: Yes.'."\n" ."\n" .'- **false**: No.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'AnyCrossBorderLink' => ['description' => 'Indicates whether the ECR instance has a cross-border connection between the Chinese mainland and a region outside the Chinese mainland. Valid values:'."\n" ."\n" .'- **true**: Yes.'."\n" ."\n" .'- **false**: No.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'IsCdtInterRegionEnabled' => ['description' => 'Indicates whether the CDT service is enabled for the account to which the ECR instance belongs. Valid values:'."\n" ."\n" .'- **true**: Yes.'."\n" ."\n" .'- **false**: No.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'IsCdtCrossBorderEnabled' => ['description' => 'Indicates whether the cross-border CDT service is enabled for the account to which the ECR instance belongs. Valid values:'."\n" ."\n" .'- **true**: Yes.'."\n" ."\n" .'- **false**: No.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'IsUserAllowedToCreateCrossBorderLink' => ['description' => 'Indicates whether the account to which the ECR instance belongs is allowed to create cross-border connections. Valid values:'."\n" ."\n" .'- **true**: Yes.'."\n" ."\n" .'- **false**: No.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'The request processing has failed due to some unknown error.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CheckAddRegionToExpressConnectRouter', 'summary' => 'Checks the Cloud Data Transfer (CDT) service, which is required to add a region to an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckAddRegionToExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:CheckAddRegionToExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"AnyInterRegionLink\\": true,\\n \\"AnyCrossBorderLink\\": true,\\n \\"IsCdtInterRegionEnabled\\": true,\\n \\"IsCdtCrossBorderEnabled\\": true,\\n \\"IsUserAllowedToCreateCrossBorderLink\\": true\\n}","type":"json"}]', ], 'CreateExpressConnectRouter' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => '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 instance.'."\n" ."\n" .'> The name can be empty or 0 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of the ECR instance.'."\n" ."\n" .'> The description can be empty or 0 to 256 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], [ 'name' => 'ResourceGroupId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the resource group to which the ECR instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmvvajg5q****'], ], [ 'name' => 'AlibabaSideAsn', 'in' => 'formData', 'schema' => ['description' => 'The autonomous system number (ASN) of the ECR instance. Valid values: 45104 (default), 64512 to 65534, and 4200000000 to 4294967294. The ASN 65025 is reserved for use by Alibaba Cloud.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '45104'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: sends a check request without modifying service resources.'."\n" ."\n" .'- **false** (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a value from your client and make sure that the value is unique among different requests. The \\`ClientToken\\` parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00**** '], ], [ 'name' => 'Tag', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.'."\n" ."\n" .'You can add up to 20 tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. The key cannot be an empty string. The key can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], 'Value' => ['description' => 'The tag value. The value can be an empty string. The tag value can be up to 128 characters in length, cannot start with `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**: The request was successful.'."\n" ."\n" .'- **false**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request was successful. For information about other error codes, see the "Error codes" section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.Name'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the \\`Message\\` parameter.'."\n" ."\n" .'> For example, if the value of **Message** is **The value of input parameter %s is not valid.** and the value of **DynamicMessage** is **DtsJobId**, the returned message is **The value of input parameter DtsJobId is not valid.**', 'type' => 'string', 'title' => '', 'example' => 'The param format of Name **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], 'EcrId' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'OperationFailed.UserNotInWhiteList', 'errorMessage' => 'The current user is not in the whitelist.', 'description' => 'The leased line gateway product is opened through the whitelist, and the current user does not have the operation permission. Please contact customer service personnel to add the current user to the white list.'], ['errorCode' => 'QuotaExceeded.EcrCountPerUser', 'errorMessage' => 'ECR Quota Exceeded.', 'description' => 'The number of dedicated gateway instances that you can create has reached the quota limit. Please contact your business manager to apply for a larger quota.'], ['errorCode' => 'Conflict.ASNOfECR', 'errorMessage' => 'ASN already used by other ECR.', 'description' => 'The specified ASN is used by other ECR. Change to an unconfigured ASN.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParam.AlibabaSideAsn', 'errorMessage' => 'The entered Bgp Asn is incorrect.', 'description' => 'The currently entered BgpAsn is incorrect, please check and re-enter'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CreateExpressConnectRouter', 'summary' => 'Creates an Express Connect Router (ECR).', 'description' => 'After an Express Connect Router (ECR) instance is created, its status is **Active**.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:CreateExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'], ], ], 'additionalActions' => [ ['action' => 'expressconnectrouter:CreateServiceLinkedRole'], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"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"}]', ], 'CreateExpressConnectRouterAssociation' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '197620', 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''], ], [ 'name' => 'AssociationRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region of the associated network instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'TransitRouterOwnerId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account (primary account) that owns the Transit Router instance. If unspecified, the ID of the current Alibaba Cloud account is used.'."\n" ."\n" .'> This parameter is required when the associated network instance belongs to a different Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '189159362009****', 'title' => ''], ], [ 'name' => 'TransitRouterId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Transit Router instance.', 'type' => 'string', 'required' => false, 'example' => 'tr-2ze4i71c6be454e2l****', 'title' => ''], ], [ 'name' => 'CenId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-of3o1the3i4gwb****', 'title' => ''], ], [ 'name' => 'VpcOwnerId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account (primary account) that owns the VPC instance. If unspecified, the ID of the current Alibaba Cloud account is used.'."\n" ."\n" .'> This parameter is required when the associated network instance belongs to a different Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '132193271328****', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the VPC instance.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h37fchc6jmfyln****', 'title' => ''], ], [ 'name' => 'AllowedPrefixes', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The prefix routes that are allowed to be advertised from the Express Connect Router to your on-premises data center.', 'type' => 'array', 'items' => ['description' => 'An allowed prefix route in CIDR format.', 'type' => 'string', 'required' => false, 'example' => '192.0.20.0/24', 'title' => ''], 'required' => false, 'maxItems' => 10000, 'title' => '', 'example' => '', ], ], [ 'name' => 'CreateAttachment', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to automatically create the corresponding attachment on the Transit Router when the association is created. Valid values:'."\n" ."\n" .'- **true**: An attachment is automatically created on the Transit Router.'."\n" ."\n" .'- **false**: An attachment is not created. You must create the attachment on the Transit Router manually.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check for potential issues, like missing parameters or invalid values. If the request passes the check, the `DryRunOperation` error code is returned. No resources are created or modified.'."\n" ."\n" .'- **false** (default): Sends a normal request. If the request passes the check, the system creates the association.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token used to ensure request idempotence.'."\n" ."\n" .'You can use your client to generate a token, but you must ensure that it is unique across different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the request\'s **RequestId** as the **ClientToken**. The **RequestId** for each API request is unique.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n", 'title' => ''], ], [ 'name' => 'AllowedPrefixesMode', 'in' => 'formData', 'schema' => ['description' => 'The advertising mode for the prefix routes that you specify in the `AllowedPrefixes` parameter. Valid values:'."\n" ."\n" .'- **MatchMode**: Match mode. Only the prefix routes specified in `AllowedPrefixes` are advertised to your on-premises data center. More specific routes that were previously advertised are withdrawn.'."\n" ."\n" .'- **IncrementalMode**: Incremental mode. The prefix routes specified in `AllowedPrefixes` are advertised to your on-premises data center. Any existing, more specific routes that fall within the specified prefixes are withdrawn. Other more specific routes that are outside the specified prefixes remain advertised.', 'type' => 'string', 'required' => false, 'example' => 'MatchMode', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'A description for the association. The description must be 0 to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'maxItems' => 20, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **True**: The request was successful.'."\n" ."\n" .'- **False**: The request failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request succeeded. For more information, see error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId'."\n", 'title' => ''], 'DynamicMessage' => ['description' => 'The dynamic error message that replaces the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, it means the specified **DtsJobId** request parameter is invalid.', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n", 'title' => ''], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n", 'title' => ''], 'AssociationId' => ['description' => 'The ID of the association between the Express Connect Router and the transit router or VPC.', 'type' => 'string', 'example' => 'ecr-assoc-9p2qxx5phpca2m****', 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'QuotaExceeded.VpcCountPerEcr', 'errorMessage' => 'The number of VPC bound to the ECR exceeds the quota.', 'description' => 'The number of VPCs that can be bound to a dedicated gateway instance has reached the quota limit. Please contact your business manager to apply for a larger quota.'], ['errorCode' => 'QuotaExceeded.TrCountPerEcr', 'errorMessage' => 'The number of TR bound to the ECR exceeds the quota.', 'description' => 'The number of TRs that can be bound to a dedicated gateway instance has reached the quota limit. Please contact your business manager to apply for a larger quota.'], ['errorCode' => 'IllegalParamFormat.AllowedPrefixes', 'errorMessage' => 'The prefix parameter format is invalid. Procedure.', 'description' => 'The format of the specified prefix route segment is incorrect.'], ['errorCode' => 'OperationDenied.NotGrantedByNodeOwner', 'errorMessage' => 'The node owner is not authorized.', 'description' => 'Your current operation is rejected, and the leased line gateway product is not authorized.'], ['errorCode' => 'OperationFailed.CdtNotOpened', 'errorMessage' => 'The Cdt function is disabled.', 'description' => 'The current operation fails, and the Alibaba Cloud data transmission function is not enabled.'], ['errorCode' => 'OperationFailed.CdtCrossBoarderNotOpened', 'errorMessage' => 'The Cdt cross-border transmission function is disabled.', 'description' => 'The current operation fails. The cross-border data transmission function of Alibaba Cloud is not enabled.'], ['errorCode' => 'OperationFailed.CrossBorderNotAllowed', 'errorMessage' => 'There is no qualification for creating cross-border links.', 'description' => 'The operation failed. The current enterprise does not have the permission to create cross-border links. Please contact your business manager to add this permission.'], ['errorCode' => 'ResourceNotFound.CenId', 'errorMessage' => 'CenId not found.', 'description' => 'Cen instance does not exist'], ['errorCode' => 'ResourceNotFound.TrId', 'errorMessage' => 'TRId not found.', 'description' => 'TR instance does not exist'], ['errorCode' => 'Conflict.ASNOfVBR', 'errorMessage' => 'ASN already used by other VBR.', 'description' => 'The current VBR BgpGroup localAsn is inconsistent with the ECR asn. Adjust the consistency and rebind.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParamFormat.CenId', 'errorMessage' => 'The format of the entered Cen instance ID is incorrect.', 'description' => 'The format of the currently entered Cen instance ID is incorrect'], ['errorCode' => 'OperationDenied.CrossBidAssociating', 'errorMessage' => 'Cross-border binding of resources is subject to compliance constraints.', 'description' => 'Your current binding resources involve cross-Chinese site resources and overseas site resources. Due to compliance constraints, please contact your business manager for communication and handling.'], ['errorCode' => 'ExclusiveParam.TransitRouterIdAndVpcId', 'errorMessage' => 'A private network instance cannot be bound to a forwarding router instance at the same time.', 'description' => 'The VPC instance and the forwarding router instance cannot be bound at the same time, please select one of the instances to bind after adjustment.'], ['errorCode' => 'IllegalParamSize.AllowedPrefixes', 'errorMessage' => 'The number of prefix routes exceeded the quota.', 'description' => 'The number of prefix routes you have entered exceeds the quota. Please apply for expansion.'], ['errorCode' => 'OperationDenied.CrossAccountAttaching', 'errorMessage' => 'If the forwarding router is bound to another account, perform this operation on the same account.', 'description' => 'The current operation is rejected. When you bind another account to the forwarding router, you need to do this operation under this account.'], ['errorCode' => 'OperationDenied.AttachmentInCurrentRegionExisted', 'errorMessage' => 'Only one forwarding router can be bound to an area.', 'description' => 'The current operation is rejected. The leased line gateway instance can only bind one forwarding router in the same region.'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'OperationFailed.CallingVpcYaochi', 'errorMessage' => 'The system is abnormal. Please try again later.', 'description' => 'The operation failed and the system is abnormal. Please try again later. If the retry still fails, please contact your business manager for help.'], ['errorCode' => 'ResourceAlreadyExist.TransitRouterId', 'errorMessage' => 'The specified resource of transit router already exists.', 'description' => 'The specified TR resource has been associated with the leased line gateway ECR. Check and try again.'], ['errorCode' => 'ResourceAlreadyExist.VpcId', 'errorMessage' => 'The specified resource of VpcId already exists.', 'description' => 'The specified VPC resource has been associated with the leased line gateway ECR. Please check and try again.'], ['errorCode' => 'Conflict.AllowedPrefixes', 'errorMessage' => 'The allowed route prefixes [%s] is conflict.', 'description' => 'The currently configured AllowedPrefixes already exists. Please confirm and submit it again.'], ['errorCode' => 'UnsupportedFeature.JumboFrame', 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.', 'description' => ''], ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'The request processing has failed due to some unknown error.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CreateExpressConnectRouterAssociation', 'summary' => 'Associates an Express Connect Router (ECR) with a virtual private cloud (VPC) or a transit router (TR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouterAssociation'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:CreateExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\"\\n}","type":"json"}]', ], 'CreateFlowLog' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => '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 Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run to check the request without modifying service resources.'."\n" ."\n" .'- **false** (Default): sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a value for this parameter on your client to make sure that the value is unique among different requests. \\`ClientToken\\` can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the request as the **ClientToken**. The **RequestId** of each request is unique.', 'type' => 'string', 'required' => false, 'title' => '', '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 0 to 128 characters in length. It cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myFlowlog'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the flow log.'."\n" ."\n" .'> The description can be empty or 0 to 256 characters in length. It cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myFlowlog'], ], [ 'name' => 'InstanceType', 'in' => 'query', 'schema' => ['description' => 'The type of the network instance. Valid value:'."\n" ."\n" .'- **VBR**: a virtual border router (VBR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the VBR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-xxx'."\n"], ], [ 'name' => 'Interval', 'in' => 'query', 'schema' => ['description' => 'The aggregation interval for a flow log to capture traffic. Unit: seconds. Valid values:'."\n" ."\n" .'- **60**'."\n" ."\n" .'- **600**'."\n" ."\n" .'Default value: **600**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '60'], ], [ 'name' => 'SamplingRate', 'in' => 'query', 'schema' => ['description' => 'The sampling ratio. Valid values:'."\n" ."\n" .'- **1:4096**'."\n" ."\n" .'- **1:2048**'."\n" ."\n" .'- **1:1024**'."\n" ."\n" .'Default value: **1:4096**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '1:4096 '], ], [ 'name' => 'ProjectName', 'in' => 'query', 'schema' => ['description' => 'The project that stores the captured traffic.'."\n" ."\n" .'- If you have created a project in the current region, enter the name of the project.'."\n" ."\n" .'- If you have not created a project in the current region, specify a custom name for the project. The system automatically creates the project.'."\n" ."\n" .'The project name must be globally unique within an Alibaba Cloud region and cannot be modified after it is created. The naming conventions are as follows:'."\n" ."\n" .'- The project name must be globally unique.'."\n" ."\n" .'- It can contain only lowercase letters, digits, and hyphens (-).'."\n" ."\n" .'- It must start and end with a lowercase letter or a digit.'."\n" ."\n" .'- It must be 3 to 63 characters in length.'."\n" ."\n" .'- The length must be 3 to 63 characters.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'flowlog-project'], ], [ 'name' => 'LogStoreName', 'in' => 'query', 'schema' => ['description' => 'The Logstore that stores the captured traffic.'."\n" ."\n" .'- If you have created a Logstore in the current region, enter the name of the Logstore.'."\n" ."\n" .'- If you have not created a Logstore in the current region, specify a custom name for the Logstore. The system automatically creates the Logstore. The naming conventions for the Logstore name are as follows:'."\n" ."\n" .'- The Logstore name must be unique within the same project.'."\n" ."\n" .'- It can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" ."\n" .'- It must start and end with a lowercase letter or a digit.'."\n" ."\n" .'- It must be 3 to 63 characters in length.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'flowlog-logstore'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => 'The tag key of the resource. If you specify this parameter, you cannot leave it empty. The tag key can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain http\\:// or https\\://.', 'required' => false, 'title' => '', 'example' => 'TestKey'], 'Value' => ['type' => 'string', 'description' => 'The tag value. The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with acs: and cannot contain http\\:// or https\\://.', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'description' => 'The tag information.', 'required' => false, 'title' => '', 'example' => '', ], 'maxItems' => 20, 'description' => 'The tags.'."\n" ."\n" .'You can add up to 20 tags.', 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'formData', 'allowEmptyValue' => false, 'schema' => ['type' => 'string', 'description' => 'The ID of the resource group to which the flow log instance belongs.', 'required' => false, 'title' => '', 'example' => 'rg-aek2aq7f4va****'."\n"], ], [ 'name' => 'TargetSlsRegionId', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The region of the project to which you want to deliver logs. This parameter is required only for cross-region log delivery.', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **True**: The request was successful.'."\n" ."\n" .'- **False**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The status code. A value of 200 indicates that the request was successful. For more information about other error codes, see the Error codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the `ErrMessage` parameter.'."\n" ."\n" .'> If the `ErrMessage` parameter returns **The Value of Input Parameter %s is not valid** and the `DynamicMessage` parameter returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], 'FlowLogId' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'title' => '', 'example' => 'ecr-flog-m5evbtbpt****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'ResourceAlreadyExist.FlowLogId', 'errorMessage' => 'The specified resource of FlowLogId[%s] already exists.', 'description' => 'The created flow log already exists. Please check and try again.'], ['errorCode' => 'InternalErrorTemp', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => 'The request processing has failed due to some unknown error.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'CreateFlowLog', 'summary' => 'Creating a flow log enables log delivery by default.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowLog'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:CreateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"FlowLogId\\": \\"ecr-flog-m5evbtbpt****\\"\\n}","type":"json"}]', ], 'DeactivateFlowLog' => [ 'summary' => 'Deactivates log delivery for a flow log.', '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 ID of Express Connect Router (ECR).', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request. The service resource is not modified.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a value from your client. Make sure that the value is unique among different requests. The ClientToken parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'FlowLogId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-flog-m5evbtbpt****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'- **True**: The call is successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call is successful. A return value of 200 indicates that the call is successful. Other values indicate that the call failed. For more information about the cause of the failure, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message that is returned for the operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeactivateFlowLog', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateFlowLog'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:DeactivateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], '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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'."\n"], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying service resources.'."\n" .'- **false** (Default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to make sure that the value is unique among different requests. The ClientToken parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** is different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'The response data.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the ECR instance was deleted. Valid values:'."\n" ."\n" .'- **True**: The instance was deleted.'."\n" .'- **False**: The instance failed to be deleted.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'A return value of 200 indicates that the operation was successful. Other values indicate that the operation failed. For more information, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, it indicates that the input parameter **DtsJobId** is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'ResourceInUse.Ecr', 'errorMessage' => 'The express connect router is currently in use.', 'description' => 'The leased line gateway instance is currently in use. Disassociate the VBR/VPC/TR and try again.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeleteExpressConnectRouter', 'description' => 'Before you call the DeleteExpressConnectRouter operation to delete an ECR instance, note the following:'."\n" ."\n" .'- Delete all resources that are associated with it.'."\n" .'- You can delete only ECR instances that are in the **Active** status.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:DeleteExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'DeleteExpressConnectRouterAssociation' => [ 'summary' => 'Disassociates an Express Connect Router (ECR) from a virtual private cloud (VPC) or a transit router.', '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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'AssociationId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the association between the ECR and the VPC or transit router.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], ], [ 'name' => 'DeleteAttachment', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to disassociate the ECR from the transit router or VPC. Valid values:'."\n" ."\n" .'- **true**: yes.'."\n" .'- **false**: no.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request without modifying the service resource.'."\n" .'- **false** (default): Sends a regular request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique parameter value from your client. The client token supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the request ID as the client token. Each request ID is unique.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The status code of the call. A value of 200 indicates that the call is successful. Other values indicate that the call failed. For more information, see the error codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the `ErrMessage` parameter.'."\n" ."\n" .'> If `ErrMessage` returns `The Value of Input Parameter %s is not valid` and `DynamicMessage` returns `DtsJobId`, the specified `DtsJobId` parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'The ECR Association instance does not allow the current operation. Please try again after the operation in progress completes'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'OperationDenied.CrossAccountDisassociating', 'errorMessage' => 'Unbind cross-account.', 'description' => 'The current operation is rejected, you need to unbind the cross-account page before performing this operation.'], ['errorCode' => 'OperationDenied.EcrAttachmentExisted', 'errorMessage' => 'Ecr and TR have been linked.', 'description' => 'The current operation is rejected. The connection between the leased line gateway instance and the TR has been established. Dismiss the connection before performing this operation.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'OperationFailed.UsedInRouteEntryNextHop', 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'description' => '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.', 'description' => 'The operation failed and the system is abnormal. Please try again later. If the retry still fails, please contact your business manager for help.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeleteExpressConnectRouterAssociation', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouterAssociation'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:DeleteExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'DeleteFlowlog' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '253978', 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying service resources.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a token from your client and make sure that the token is unique among different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** is different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-flog-m5evbtbpt****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The result of the call. A return value of 200 indicates that the call was successful. Other values indicate that the call failed. For more information, see Error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> For example, if **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, it indicates that the **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeleteFlowlog', 'summary' => 'Deletes a flow log.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:DeleteFlowlog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'DescribeDisabledExpressConnectRouterRouteEntries' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '199356', 'abilityTreeNodes' => ['FEATUREexpressconnectU328UX'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The token to start the next query.'."\n" ."\n" .'- Leave this parameter empty for the first query.'."\n" .'- For subsequent queries, set this parameter to the NextToken value returned from the previous API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FFv4fzkNPW8Z+cZ+DBXXQ3Gmf3XlCgpBH43oaTYTAAcGc708Zb+pDyAGVJBo/MKsyrtZfPnX9Ztf02vgdIDyaNe8UuZdf/JJk069qxGKzqSKg='], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return. Valid values: 1 to 2147483647. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: sends a check request without modifying service resources.'."\n" .'- **false** (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a token from your client to make sure that the token is unique among different requests. The ClientToken can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**: The request was successful.'."\n" .'- **false**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request was successful. Other values indicate that the request failed. For more information, see the Error Codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the error message.'."\n" ."\n" .'> If the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsInstanceId**, the specified **DtsInstanceId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], 'TotalCount' => ['description' => 'The total number of route entries.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'MaxResults' => ['description' => 'The maximum number of entries returned. Valid values: 1 to 2147483647. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '6'], 'NextToken' => ['description' => 'The token that is used for the next query.'."\n" ."\n" .'- If NextToken is empty, it indicates that no subsequent query is to be sent.'."\n" .'- If a value is returned for NextToken, the value is the token for the next query.', 'type' => 'string', 'title' => '', 'example' => 'gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ=='], 'DisabledRouteEntryList' => [ 'description' => 'The list of queried routes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'EcrId' => ['description' => 'The ID of ECR.', 'type' => 'string', 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'."\n"], 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'title' => '', 'example' => '192.168.100.110/32'], 'NexthopInstanceId' => ['description' => 'The ID of the next-hop.', 'type' => 'string', 'title' => '', 'example' => 'br-hp3u4u5f03tfuljis****'."\n"], 'NexthopInstanceRegionId' => ['description' => 'The ID of the region where the next-hop is deployed.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], 'GmtCreate' => ['description' => 'The time when the route was created.', 'type' => 'string', 'title' => '', 'example' => '1682317345'], ], 'description' => '', 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeDisabledExpressConnectRouterRouteEntries', 'summary' => 'Queries the disabled route entries for an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDisabledExpressConnectRouterRouteEntries'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeDisabledExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 6,\\n \\"NextToken\\": \\"gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==\\",\\n \\"DisabledRouteEntryList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\\\n\\",\\n \\"DestinationCidrBlock\\": \\"192.168.100.110/32\\",\\n \\"NexthopInstanceId\\": \\"br-hp3u4u5f03tfuljis****\\\\n\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreate\\": \\"1682317345\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouter' => [ 'summary' => 'Queries a list of Express Connect Router (ECR) instances.', '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 ID of ECR.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The name of ECR. The name must be 0 to 128 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'- You do not need to specify this parameter for the first query.'."\n" .'- For a subsequent query, set this parameter to the NextToken value returned from the last API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'e0a2dbeb69a8beeeb8194e92b702df3fd3e7bfe6ce7bfc16e0b5e8707e68181f'], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return. Valid values: 1 to 2147483647. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], ], [ 'name' => 'Tag', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags to filter results. You can specify up to 20 tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag information.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the instance. The tag key cannot be an empty string.'."\n" ."\n" .'The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestKey'], 'Value' => ['description' => 'The tag value. The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. The tag value can be an empty string.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'required' => false, 'title' => '', ], 'required' => false, 'maxItems' => 20, 'title' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the resource group to which the ECR belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aek2aq7f4va****'."\n"], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: sends a check request. The service resource is not modified.'."\n" .'- **false** (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A 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 **RequestId** of the request as the **ClientToken**. The **RequestId** of each request is different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **True**: The request was successful.'."\n" .'- **False**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the call was successful. For more information, see the Error Codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.Name'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` variable in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, it indicates that the **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of Name **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], 'TotalCount' => ['description' => 'The total number of ECR instances.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'MaxResults' => ['description' => 'The maximum number of entries returned. Valid values: 1 to 2147483647. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'- If this parameter is empty, it indicates that no more results are to be returned.'."\n" .'- If a value is returned, the value is the token that is used for the next query.', 'type' => 'string', 'title' => '', 'example' => 'AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g=='], 'EcrList' => [ 'description' => 'The list of ECR instances.', 'type' => 'array', 'items' => [ 'description' => 'The ECR instance.', 'type' => 'object', 'properties' => [ 'EcrId' => ['description' => 'The ID of ECR.', 'type' => 'string', 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the ECR belongs.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '170646818729****'], 'GmtCreate' => ['description' => 'The time when the ECR was created. The time is displayed in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'title' => '', 'example' => '2023-02-16T01:44:50Z'."\n"], 'GmtModified' => ['description' => 'The time when the ECR was last modified. The time is displayed in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'title' => '', 'example' => '2023-02-16T01:44:50Z'], 'Status' => ['description' => 'The deployment status of the service instance. Valid values:'."\n" ."\n" .'- **ACTIVE**: created.'."\n" .'- **UPDATING**: being modified.'."\n" .'- **ASSOCIATING**: being attached.'."\n" .'- **DISSOCIATING**: being detached.'."\n" .'- **LOCKED\\_ATTACHING**: locked by an external system for attachment.'."\n" .'- **LOCKED\\_DETACHING**: locked by an external system for detachment.'."\n" .'- **RECLAIMING**: waiting for resource release.'."\n" .'- **DELETING**: being deleted.', 'type' => 'string', 'title' => '', 'example' => 'Active'], 'BizStatus' => ['description' => 'The business status of the service instance. Valid values:'."\n" ."\n" .'- **Normal**: The instance is running as expected.'."\n" .'- **FinancialLocked**: The instance is locked due to an overdue payment.', 'type' => 'string', 'title' => '', 'example' => 'Normal'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ECR instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'rg-aekzuscospt****'], 'Tags' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'TagKey' => ['description' => 'The tag key of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'test'], 'TagValue' => ['description' => 'The tag value of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'test'], ], 'title' => '', ], 'title' => '', ], 'Name' => ['description' => 'The name of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'test'], 'Description' => ['description' => 'The description of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'test'], 'AlibabaSideAsn' => ['description' => 'The ASN of the ECR instance.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '45104'], ], 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouter', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"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"}]', ], 'DescribeExpressConnectRouterAllowedPrefixHistory' => [ '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 ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'InstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the network instance that is associated with the ECR.'."\n" ."\n" .'> Specify either the **InstanceId** or **AssociationId** parameter.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ 'name' => 'InstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'- **VPC**: A virtual private cloud (VPC) instance.'."\n" ."\n" .'- **TR**: A transit router (TR) instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'VPC'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: The system runs a check request. It does not modify any resources.'."\n" ."\n" .'- **false** (default): The system sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure that the request is idempotent.'."\n" ."\n" .'Generate a unique client-side value to ensure that the request is idempotent. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. The **RequestId** is unique for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], [ 'name' => 'AssociationId', 'in' => 'formData', 'schema' => ['title' => '', 'description' => 'The ID of the association between the ECR and the VPC or transit router.'."\n" ."\n" .'> Specify either the **InstanceId** or **AssociationId** parameter.', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**: The request was successful.'."\n" ."\n" .'- **false**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request was successful. Other values indicate that the request failed. For more information, see the Error codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the `%s` placeholder in the error message.'."\n" ."\n" .'> For example, if the error message is **The value of input parameter %s is not valid.** and this parameter returns **DtsJobId**, it means the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], 'AllowedPrefixHistoryList' => [ 'description' => 'The list of historical prefix routes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'AllowedPrefix' => [ 'description' => 'The prefix routes.', 'type' => 'array', 'items' => ['description' => 'A prefix route.', 'type' => 'string', 'title' => '', 'example' => '10.0.**.**/1'], 'title' => '', 'example' => '', ], 'GmtCreate' => ['description' => 'The time when the historical route was created.', 'type' => 'string', 'title' => '', 'example' => '1673751163000'], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.InstanceId', 'errorMessage' => 'The instance id does not exist.', 'description' => 'The currently entered VPC/TR instance does not exist'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouterAllowedPrefixHistory', 'summary' => 'Queries the prefix route history for an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAllowedPrefixHistory'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAllowedPrefixHistory', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AllowedPrefixHistoryList\\": [\\n {\\n \\"AllowedPrefix\\": [\\n \\"10.0.**.**/1\\"\\n ],\\n \\"GmtCreate\\": \\"1673751163000\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterAssociation' => [ '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 ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''], ], [ 'name' => 'AssociationId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the association between the Express Connect Router and the VPC or TR.', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****', 'title' => ''], ], [ 'name' => 'AssociationRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region ID of the associated VPC or TR.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'AssociationNodeType', 'in' => 'formData', 'schema' => ['description' => 'The type of the associated resource. Valid values:'."\n" ."\n" .'- **VPC**: A VPC.'."\n" ."\n" .'- **TR**: A transit router.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the VPC instance.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h37fchc6jmfyln****', 'title' => ''], ], [ 'name' => 'TransitRouterId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the transit router instance.', 'type' => 'string', 'required' => false, 'example' => 'tr-2ze4i71c6be454e2l****', 'title' => ''], ], [ 'name' => 'CenId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Cloud Enterprise Network instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-of3o1the3i4gwb****', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The token for the next page of results. Valid values:'."\n" ."\n" .'- Leave this parameter empty for the first request.'."\n" ."\n" .'- For subsequent requests, set this parameter to the NextToken value from the previous response.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return per page. Valid values: 1 to 2147483647. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request. No resources are modified.'."\n" ."\n" .'- **false** (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n" ."\n" .'The token must be unique across requests and contain only ASCII characters.'."\n" ."\n" .'> If you omit this parameter, the system uses the request\'s **RequestId** as the **ClientToken**. Each **RequestId** is unique.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], 'Value' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'maxItems' => 20, 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **True**: The request was successful.'."\n" ."\n" .'- **False**: The request failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'Code' => ['description' => 'A value of `200` indicates that the request was successful. Other values indicate a failure. For more information, see the error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId', 'title' => ''], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the value of the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **EcrId**, the value of the **EcrId** request parameter is invalid.', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.', 'title' => ''], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => 'Authentication is failed for ****', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], '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" ."\n" .'- If **NextToken** is not empty, it indicates that the next page of results is available.', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'."\n", 'title' => ''], 'AssociationList' => [ 'description' => 'The list of associations.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'AssociationId' => ['description' => 'The ID of the association between the Express Connect Router and the VPC or the TR.', 'type' => 'string', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", 'title' => ''], 'RegionId' => ['description' => 'The region ID of the resource.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'OwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the resource belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '167509154715****', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the association was created. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format. It is expressed in Coordinated Universal Time (UTC).', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z', 'title' => ''], 'GmtModified' => ['description' => 'The time when the association was modified. The time is displayed in the `YYYY-MM-DDThh:mm:ssZ` format. It is expressed in Coordinated Universal Time (UTC).', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z', 'title' => ''], 'Status' => ['description' => 'The status of the association. Valid values:'."\n" ."\n" .'- **CREATING**: The resource is being created.'."\n" ."\n" .'- **ACTIVE**: The resource is available for use.'."\n" ."\n" .'- **INACTIVE**: The Express Connect Router is associated with the TR, but the association from the TR is pending.'."\n" ."\n" .'- **ASSOCIATING**: The resource is being associated.'."\n" ."\n" .'- **DISSOCIATING**: The resource is being disassociated.'."\n" ."\n" .'- **UPDATING**: The resource is being updated.'."\n" ."\n" .'- **DELETING**: The resource is being deleted.', 'type' => 'string', 'example' => 'ACTIVE', 'title' => ''], 'AssociationNodeType' => ['description' => 'The type of the associated resource. Valid values:'."\n" ."\n" .'- **VPC**: VPC'."\n" ."\n" .'- **TR**: TR', 'type' => 'string', 'example' => 'VPC', 'title' => ''], 'TransitRouterOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the TR.', 'type' => 'integer', 'format' => 'int64', 'example' => '189159362009****'."\n", 'title' => ''], 'TransitRouterId' => ['description' => 'The ID of the TR instance.', 'type' => 'string', 'example' => 'tr-2ze4i71c6be454e2l****'."\n", 'title' => ''], 'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-5510frtx8zi54q****', 'title' => ''], 'VpcOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the VPC.', 'type' => 'integer', 'format' => 'int64', 'example' => '146757288406****', 'title' => ''], 'VpcId' => ['description' => 'The ID of the VPC instance.', 'type' => 'string', 'example' => 'vpc-2zeeaxet4i2j1a7n7****', 'title' => ''], 'AllowedPrefixes' => [ 'description' => 'The list of allowed prefixes.', 'type' => 'array', 'items' => ['description' => 'The allowed prefix.', 'type' => 'string', 'example' => '192.0.**.**/28', 'title' => ''], 'title' => '', 'example' => '', ], 'EcrId' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'example' => 'ecr-fu8rszhgv7623c****', 'title' => ''], 'AllowedPrefixesMode' => ['description' => 'The prefix-based routing mode. Valid values:'."\n" ."\n" .'- **MatchMode**: match mode'."\n" ."\n" .'- **IncrementalMode**: incremental mode', 'type' => 'string', 'example' => 'MatchMode', 'title' => ''], 'Description' => ['description' => 'The description of the association.', 'type' => 'string', 'example' => 'test ', 'title' => ''], 'Tags' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'title' => '', 'example' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => 'The tags of the association.', 'title' => '', 'example' => '', ], 'TransitRouterName' => ['description' => 'The name of the TR instance.', 'type' => 'string', 'title' => '', 'example' => ''], 'VpcName' => ['description' => 'The name of the VPC instance.', 'type' => 'string', 'title' => '', 'example' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouterAssociation', 'summary' => 'Lists the virtual private clouds (VPCs) and transit routers (TRs) associated with an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAssociation'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\\\n\\",\\n \\"AssociationList\\": [\\n {\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"AssociationNodeType\\": \\"VPC\\",\\n \\"TransitRouterOwnerId\\": 0,\\n \\"TransitRouterId\\": \\"tr-2ze4i71c6be454e2l****\\\\n\\",\\n \\"CenId\\": \\"cen-5510frtx8zi54q****\\",\\n \\"VpcOwnerId\\": 0,\\n \\"VpcId\\": \\"vpc-2zeeaxet4i2j1a7n7****\\",\\n \\"AllowedPrefixes\\": [\\n \\"192.0.**.**/28\\"\\n ],\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\",\\n \\"AllowedPrefixesMode\\": \\"MatchMode\\",\\n \\"Description\\": \\"test \\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ],\\n \\"TransitRouterName\\": \\"\\",\\n \\"VpcName\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterChildInstance' => [ 'summary' => 'Queries the virtual border routers (VBRs) loaded on 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 ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''], ], [ 'name' => 'AssociationId', 'in' => 'formData', 'schema' => ['description' => 'The association ID between the Express Connect Router and the VBR.', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", 'title' => ''], ], [ 'name' => 'ChildInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the network instance to detach.', 'type' => 'string', 'required' => false, 'example' => 'vbr-j6cwxhgg0s5nuephp****', 'title' => ''], ], [ 'name' => 'ChildInstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Valid value: **VBR**: virtual border router instance.', 'type' => 'string', 'required' => false, 'example' => 'VBR', 'title' => ''], ], [ 'name' => 'ChildInstanceRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region where the network instance is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The token for the next query. Valid values:'."\n" ."\n" .'- Leave this parameter empty for the first query or when there is no subsequent query.'."\n" ."\n" .'- If a subsequent query exists, set this parameter to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return in this request. Valid values: 1 to 2147483647. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform only a dry run of the request. Valid values:'."\n" ."\n" .'- **true**: Sends a validation request without modifying any service resources.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value from your client for each request. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. Each API request has a unique **RequestId**.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '05130E79-588D-5C40-A718-C4863A59****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call succeeded. Valid values:'."\n" ."\n" .'- **True**: The call succeeded.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'Code' => ['description' => 'Indicates whether the call succeeded. A return value of 200 indicates success. Any other value indicates failure. For details about failures, see error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId', 'title' => ''], 'DynamicMessage' => ['description' => 'The dynamic error message used to replace the `%s` placeholder in the **ErrMessage** field.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, the request parameter **DtsJobId** is invalid.', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n", 'title' => ''], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n", 'title' => ''], 'TotalCount' => ['description' => 'The total number of associated instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'MaxResults' => ['description' => 'The maximum number of entries returned in this request. Valid values: 1 to 2147483647. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'NextToken' => ['description' => 'The token for the next query. Valid values:'."\n" ."\n" .'- An empty value indicates no subsequent query.'."\n" ."\n" .'- A non-empty value indicates the token to start the next query.', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', 'title' => ''], 'ChildInstanceList' => [ 'description' => 'The list of child instances.', 'type' => 'array', 'items' => [ 'description' => 'Information about the child instance.', 'type' => 'object', 'properties' => [ 'EcrId' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], 'AssociationId' => ['description' => 'The association ID between the Express Connect Router and the VPC or TR.', 'type' => 'string', 'example' => 'ecr-assoc-9p2qxx5phpca2m****', 'title' => ''], 'RegionId' => ['description' => 'The region of the virtual border router.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'OwnerId' => ['description' => 'The Alibaba Cloud account ID of the virtual border router owner.', 'type' => 'integer', 'format' => 'int64', 'example' => '167509154715****', 'title' => ''], 'GmtCreate' => ['description' => 'The time when the association was created. The time follows the ISO8601 standard in UTC. Format: YYYY-MM-DDThh:mm:ssZ.', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z', 'title' => ''], 'GmtModified' => ['description' => 'The time when the association was modified. The time follows the ISO8601 standard in UTC. Format: YYYY-MM-DDThh:mm:ssZ.', 'type' => 'string', 'example' => '2024-01-09T12:18:23Z', 'title' => ''], 'Status' => ['description' => 'The deployment status of the associated instance. Valid values:'."\n" ."\n" .'- **CREATING**: Creating.'."\n" ."\n" .'- **ACTIVE**: Created.'."\n" ."\n" .'- **ASSOCIATING**: Associating.'."\n" ."\n" .'- **DISSOCIATING**: Dissociating.'."\n" ."\n" .'- **UPDATING**: Updating.'."\n" ."\n" .'- **DELETING**: Deleting.', 'type' => 'string', 'example' => 'ACTIVE', 'title' => ''], 'ChildInstanceId' => ['description' => 'The ID of the virtual border router instance.', 'type' => 'string', 'example' => 'vbr-gw8vjq2zjux3ifsc9****', 'title' => ''], 'ChildInstanceType' => ['description' => 'The type of the child instance. Valid value: **VBR**: virtual border router.', 'type' => 'string', 'example' => 'VBR', 'title' => ''], 'ChildInstanceRegionId' => ['description' => 'The region of the child instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], 'ChildInstanceOwnerId' => ['description' => 'The Alibaba Cloud account ID of the child instance owner.', 'type' => 'integer', 'format' => 'int64', 'example' => '112101171212****', 'title' => ''], 'Description' => ['description' => 'The description of the child instance.', 'type' => 'string', 'example' => 'test ', 'title' => ''], 'ChildInstanceName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouterChildInstance', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterChildInstance'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"ChildInstanceList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"ChildInstanceId\\": \\"vbr-gw8vjq2zjux3ifsc9****\\",\\n \\"ChildInstanceType\\": \\"VBR\\",\\n \\"ChildInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"ChildInstanceOwnerId\\": 0,\\n \\"Description\\": \\"test \\",\\n \\"ChildInstanceName\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterInterRegionTransitMode' => [ 'summary' => 'Queries the inter-region transit mode 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 ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying service resources.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to make sure that the value is unique among different requests. The ClientToken parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'A value of 200 indicates that the call was successful. Other values indicate that the call failed. For more information, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the error message of the **ErrMessage** 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 specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], 'InterRegionTransitModeList' => [ 'description' => 'The list of cross-region transit modes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'RegionId' => ['description' => 'The ID of the region where the ECR instance is deployed.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], 'Mode' => ['description' => 'The cross-region transit mode of the ECR instance. Valid values:'."\n" ."\n" .'- **ECMP**: The load balancing mode.'."\n" ."\n" .'- **NearBy**: The nearby forwarding mode.', 'type' => 'string', 'title' => '', 'example' => 'ECMP'], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouterInterRegionTransitMode', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterInterRegionTransitMode'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterInterRegionTransitMode', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"InterRegionTransitModeList\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Mode\\": \\"ECMP\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterRegion' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], '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 ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform only a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying service resources.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique parameter value from your client for each request. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** of each request is unique.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call is successful. A value of 200 indicates that the call is successful. Other values indicate that the call failed. For more information, see Error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If ErrMessage returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, it indicates that the value of the **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], 'RegionIdList' => [ 'description' => 'The list of regions that contain sub-resources.', 'type' => 'array', 'items' => ['description' => 'The region that contains sub-resources.', 'type' => 'string', 'title' => '', 'example' => '[\\"cn-shanghai\\"]'], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouterRegion', 'summary' => 'Queries the regions that contain Express Connect Router (ECR) resources.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRegion'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRegion', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"RegionIdList\\": [\\n \\"[\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\"]\\"\\n ]\\n}","type":"json"}]', ], 'DescribeExpressConnectRouterRouteEntries' => [ 'summary' => 'Describes 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 ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'QueryRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region where the ECR instance is deployed.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'formData', 'schema' => ['description' => 'The destination CIDR block of the route that you want to query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '172.20.4.0/24'], ], [ 'name' => 'NexthopInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the next hop instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vbr-hp3u4u5f03tfuljis****'], ], [ 'name' => 'AsPath', 'in' => 'formData', 'schema' => ['description' => 'The AS path of the route.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '[64993,64512]'], ], [ 'name' => 'Community', 'in' => 'formData', 'schema' => ['description' => 'The community value of the Border Gateway Protocol (BGP) route.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '9001:9263'], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'- Leave this parameter empty for the first query or if no subsequent queries are required.'."\n" .'- If a subsequent query is required, set the value to the NextToken value returned from the previous API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return on each page. Valid values: 1 to 2147483647. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run but does not modify the service resource.'."\n" .'- **false** (default): sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', '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 **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'- **True**: The call is successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call is successful. A value of 200 indicates that the call is successful. Other values indicate that the call failed. For more information, see the Error Codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the `%s` variable in the value of the **ErrMessage** 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 specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'], 'MaxResults' => ['description' => 'The maximum number of entries returned per page. Valid values: 1 to 2147483647. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'- If this parameter is empty, no subsequent query is sent.'."\n" .'- If a value is returned, the value is the token that is used for the next query.', 'type' => 'string', 'title' => '', 'example' => 'gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA=='], 'RouteEntriesList' => [ 'description' => 'The list of routes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'title' => '', 'example' => '192.168.0.**/**'], 'Status' => ['description' => 'The status of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'ACTIVE'], 'NexthopInstanceId' => ['description' => 'The ID of the next hop instance.', 'type' => 'string', 'title' => '', 'example' => 'vbr-hp3u4u5f03tfuljis****'], 'NexthopInstanceRegionId' => ['description' => 'The region where the next hop instance is deployed.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], 'AsPath' => ['description' => 'The AS path of the route.', 'type' => 'string', 'title' => '', 'example' => '[64993,64512]'], 'Community' => ['description' => 'The community value of the BGP route.', 'type' => 'string', 'title' => '', 'example' => '9001:9263'], 'Med' => ['description' => 'The MED value of the BGP route. The MED value is used to select the optimal route between an ECR and a transit router.'."\n" ."\n" .'- You can set the MED value to 2,000 and the path between the TR and the ECR becomes the default path.'."\n" .'- If the path is not the default path, this parameter is empty.'."\n" .'- For transit routers in the same CEN, you can set the MED value of only one associated object to 2000.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '2000'], ], 'description' => '', 'title' => '', ], 'title' => '', ], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => 'The format of the destination Cidr routing parameter you specified is incorrect. Please check and enter it again.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeExpressConnectRouterRouteEntries', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRouteEntries'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"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"}]', ], 'DescribeFlowLogs' => [ '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 ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-a5xqrgbeidz1w8****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs 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 message is returned. If the request passes the dry run, the DryRunOperation error code is returned. No service resources are modified.'."\n" ."\n" .'- **false** (default): Sends a normal request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token that you can use to ensure the idempotence of the request.'."\n" ."\n" .'You must use a client token that is unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['type' => 'string', 'required' => false, 'description' => 'The tag key. The tag key cannot be an empty string. The tag key can be up to 128 characters long. It cannot start with aliyun or acs: and cannot contain http\\:// or https\\://.', 'title' => '', 'example' => 'TestKey'], 'Value' => ['type' => 'string', 'description' => 'The tag value. The tag value can be an empty string. The tag value can be up to 128 characters long. It cannot start with acs: and cannot contain http\\:// or https\\://.', 'required' => false, 'title' => '', 'example' => 'TestValue'], ], 'description' => 'A list of tags.', 'required' => false, 'title' => '', 'example' => '', ], 'maxItems' => 20, 'description' => 'The tags.'."\n" ."\n" .'You can specify up to 20 tags.', 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'- If this is your first query or if no next query is to be sent, do not specify this parameter.'."\n" ."\n" .'- If a value is returned for NextToken, the value is the token for the next query.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'gAAAAABkWw*******'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 2,147,483,647. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '10'], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecr-flog-jqnr0veifo5d****'], ], [ 'name' => 'FlowLogName', 'in' => 'query', 'schema' => ['description' => 'The name of the flow log. The name can be 0 to 128 characters long.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'same-flowlog'], ], [ 'name' => 'ProjectName', 'in' => 'query', 'schema' => ['description' => 'The name of the Log Service project where captured traffic is stored.'."\n" ."\n" .'- If you have a project in the current region, enter the project name.'."\n" ."\n" .'- If you do not have a project in the current region, enter a custom name. The system automatically creates a project for you.'."\n" ."\n" .'A project name must be globally unique within an Alibaba Cloud region and cannot be modified after it is created. The name must meet the following requirements:'."\n" ."\n" .'- The name must be globally unique.'."\n" ."\n" .'- The name can contain only lowercase letters, digits, and hyphens (-).'."\n" ."\n" .'- The name must start and end with a lowercase letter or a digit.'."\n" ."\n" .'- The name must be 3 to 63 characters long.'."\n" ."\n" .'- Must be 3 to 63 characters long.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myFlowlog'], ], [ 'name' => 'LogStoreName', 'in' => 'query', 'schema' => ['description' => 'The name of the Logstore where captured traffic is stored.'."\n" ."\n" .'- If you have a Logstore in the current region, enter the Logstore name.'."\n" ."\n" .'- If you do not have a Logstore in the current region, enter a custom name. The system automatically creates a Logstore for you. The name must meet the following requirements:'."\n" ."\n" .'- The name must be unique within a project.'."\n" ."\n" .'- The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" ."\n" .'- The name must start and end with a lowercase letter or a digit.'."\n" ."\n" .'- The name must be 3 to 63 characters long.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myFlowlog'], ], [ 'name' => 'InstanceId', 'in' => 'query', 'schema' => ['description' => 'The ID of the virtual border router (VBR) that is associated with the ECR instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The ID of the resource group to which the flow log instance belongs.', 'title' => '', 'example' => 'rg-aek2aq7f4va****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'The response object.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false**', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request was successful. For more information about other values, see the \\*\\*Error codes\\*\\* section of this topic.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the error message.'."\n" ."\n" .'> For example, if the error message is **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], 'TotalCount' => ['description' => 'The total number of entries that match the query.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '11'], 'MaxResults' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 2,147,483,647. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], 'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n" ."\n" .'- If **NextToken** is empty, no next query is to be sent.'."\n" ."\n" .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.', 'type' => 'string', 'title' => '', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'], 'FlowLogs' => [ 'description' => 'A list of flow logs.', 'type' => 'array', 'items' => [ 'description' => 'The details of the flow log.', 'type' => 'object', 'properties' => [ 'FlowLogId' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'title' => '', 'example' => 'ecr-flog-leypqehtgtia2*****'], 'EcrId' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'ecr-h4cop1khw98*****'], 'RegionId' => ['description' => 'The region ID of the ECR instance.', 'type' => 'string', 'title' => '', 'example' => 'cn-shanghai'], 'Status' => ['description' => 'The status of the flow log.'."\n" ."\n" .'- **Active**: The flow log is enabled.'."\n" ."\n" .'- **Inactive**: The flow log is disabled.', 'type' => 'string', 'title' => '', 'example' => 'Active'], 'FlowLogName' => ['description' => 'The name of the flow log.', 'type' => 'string', 'title' => '', 'example' => 'myFlowlog'], 'Description' => ['description' => 'The description of the Express Connect Router (ECR) instance.', 'type' => 'string', 'title' => '', 'example' => 'myFlowlog'], 'Interval' => ['description' => 'The aggregation interval for the flow log. Unit: seconds. Valid values:'."\n" ."\n" .'- **60**'."\n" ."\n" .'- **600**'."\n" ."\n" .'Default value: **600**.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '600'], 'SamplingRate' => ['description' => 'The sampling rate. Valid values:'."\n" ."\n" .'- **1:4096**'."\n" ."\n" .'- **1:2048**'."\n" ."\n" .'- **1:1024**'."\n" ."\n" .'Default value: **1:4096**.', 'type' => 'string', 'title' => '', 'example' => '1:4096 '], 'LogStoreName' => ['description' => 'The name of the Logstore that stores the captured traffic.', 'type' => 'string', 'title' => '', 'example' => 'FlowLogStore'], 'ProjectName' => ['description' => 'The name of the project that stores the captured traffic.', 'type' => 'string', 'title' => '', 'example' => 'FlowLogProject'], 'InstanceType' => ['description' => 'The type of the network instance. The value is fixed as **VBR**, which indicates a virtual border router.'."\n" ."\n" .'- **VBR**: A Virtual Border Router instance.', 'type' => 'string', 'title' => '', 'example' => 'VBR'], 'ResourceGroupId' => ['description' => 'The ID of the resource group to which the flow log instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'rg-aekzb3xwrexc4ry'], 'Tags' => [ 'description' => 'The tags that are added to the Express Connect Router (ECR) instance.', 'type' => 'array', 'items' => [ 'description' => 'The details of the tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key. The tag key cannot be an empty string.'."\n" ."\n" .'> The tag key can be up to 64 characters long. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'title' => '', 'example' => 'TagKey'], 'Value' => ['description' => 'The tag value.'."\n" ."\n" .'> The tag value can be up to 128 characters long and cannot start with `acs:`. It cannot contain `http://` or `https://`. The tag value can be an empty string.', 'type' => 'string', 'title' => '', 'example' => 'TagValue'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'InstanceId' => ['description' => 'The ID of the VBR instance associated with the flow log.', 'type' => 'string', 'title' => '', 'example' => 'vbr-9dpty76irpf4u15*****'], 'CreationTime' => ['description' => 'The time when the flow log was created. The time is displayed in the YYYY-MM-DDThh:mm:ssZ format and is in Coordinated Universal Time (UTC).', 'type' => 'string', 'title' => '', 'example' => '2023-09-21T04:20Z'], 'SlsRegionId' => ['description' => 'The region ID of Log Service.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeFlowLogs', 'summary' => 'Queries flow logs.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowLogs'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeFlowLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 11,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"FlowLogs\\": [\\n {\\n \\"FlowLogId\\": \\"ecr-flog-leypqehtgtia2*****\\",\\n \\"EcrId\\": \\"ecr-h4cop1khw98*****\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"Status\\": \\"Active\\",\\n \\"FlowLogName\\": \\"myFlowlog\\",\\n \\"Description\\": \\"myFlowlog\\",\\n \\"Interval\\": 600,\\n \\"SamplingRate\\": \\"1:4096 \\",\\n \\"LogStoreName\\": \\"FlowLogStore\\",\\n \\"ProjectName\\": \\"FlowLogProject\\",\\n \\"InstanceType\\": \\"VBR\\",\\n \\"ResourceGroupId\\": \\"rg-aekzb3xwrexc4ry\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ],\\n \\"InstanceId\\": \\"vbr-9dpty76irpf4u15*****\\",\\n \\"CreationTime\\": \\"2023-09-21T04:20Z\\",\\n \\"SlsRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DescribeInstanceGrantedToExpressConnectRouter' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '199352', 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'InstanceRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region where the authorized network instance is located.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'InstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the authorized instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ 'name' => 'InstanceOwnerId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the authorized network instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1298452580502345'], ], [ 'name' => 'InstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'- **VBR**: virtual border router (VBR).'."\n" ."\n" .'- **VPC**: virtual private cloud (VPC).', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The token that is used for the next query.'."\n" ."\n" .'- You do not need to specify this parameter for the first query.'."\n" ."\n" .'- For subsequent queries, set this parameter to the NextToken value returned from the previous API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'gAAAAABkyGzFbZR2NnxnyVk0EiL7F3qMBtBim8Es0mugRT3qb8yEHAMaHGanzuaHUmiEq9QRmok0RgxJAINBOJZa5KPjopEu_Q=='], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return on each page. Valid values: 1 to 2,147,483,647. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'], ], [ 'name' => 'TagModels', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags.', '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. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', '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. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'value'."\n"], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceGroupId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the resource group to which the instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aek2tsvbnfe****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: sends a check request and does not modify service resources.'."\n" ."\n" .'- **false** (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n" ."\n" .'The client token must be unique across requests. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], [ 'name' => 'CallerType', 'in' => 'formData', 'schema' => ['type' => 'string', 'required' => false, 'description' => 'The type of the caller.'."\n" ."\n" .'- ECR'."\n" ."\n" .'- OTHER'."\n" ."\n" .'Default value: ECR', 'title' => '', 'example' => 'ECR'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**: The request was successful.'."\n" ."\n" .'- **false**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A \\`200\\` response code indicates that the request was successful. For information about other response codes, see the Error codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.Name'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the \\`%s\\` placeholder in the **Message** parameter.'."\n" ."\n" .'> For example, if the **Message** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of Name **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], 'TotalCount' => ['description' => 'The total number of network instances that are granted to the Express Connect Router.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], 'MaxResults' => ['description' => 'The maximum number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'], 'NextToken' => ['description' => 'The token that is used for the next query.'."\n" ."\n" .'- If **NextToken** is empty, no subsequent query is needed.'."\n" ."\n" .'- If a value is returned for **NextToken**, the value is the token that is used for the next query.', 'type' => 'string', 'title' => '', 'example' => 'FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ=='], 'EcrGrantedInstanceList' => [ 'description' => 'The list of authorized Express Connect Router instances.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'GrantId' => ['description' => 'The authorization ID.', 'type' => 'string', 'title' => '', 'example' => 'gr-8gdelo13mi99g1****'], 'Status' => ['description' => 'The status of the authorized network instance.', 'type' => 'string', 'title' => '', 'example' => 'Active'], 'GmtCreate' => ['description' => 'The time when the instance was created.', 'type' => 'string', 'title' => '', 'example' => '1669023139000'], 'GmtModified' => ['description' => 'The time when the instance was modified.', 'type' => 'string', 'title' => '', 'example' => '1669023139000'], 'EcrId' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], 'NodeId' => ['description' => 'The ID of the authorized instance.', 'type' => 'string', 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"], 'NodeType' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'- **VBR**: virtual border router (VBR).'."\n" ."\n" .'- **VPC**: virtual private cloud (VPC).', 'type' => 'string', 'title' => '', 'example' => 'VBR'], 'NodeRegionId' => ['description' => 'The ID of the region to which the authorized instance belongs.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], 'NodeOwnerUid' => ['description' => 'The ID of the Alibaba Cloud account to which the instance belongs.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '129845258050****'."\n"], 'NodeOwnerBid' => ['description' => 'The ID of the enterprise account to which the instance belongs.', 'type' => 'string', 'title' => '', 'example' => '26842****'], 'EcrOwnerAliUid' => ['type' => 'string', 'description' => 'The ID of the Alibaba Cloud account that owns the Express Connect Router instance.', 'title' => '', 'example' => '229845258050****'."\n"], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DescribeInstanceGrantedToExpressConnectRouter', 'summary' => 'Queries the network instances that are granted to an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeInstanceGrantedToExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeInstanceGrantedToExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==\\",\\n \\"EcrGrantedInstanceList\\": [\\n {\\n \\"GrantId\\": \\"gr-8gdelo13mi99g1****\\",\\n \\"Status\\": \\"Active\\",\\n \\"GmtCreate\\": \\"1669023139000\\",\\n \\"GmtModified\\": \\"1669023139000\\",\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"NodeId\\": \\"vbr-j6cwxhgg0s5nuephp****\\\\n\\",\\n \\"NodeType\\": \\"VBR\\",\\n \\"NodeRegionId\\": \\"cn-hangzhou\\",\\n \\"NodeOwnerUid\\": 0,\\n \\"NodeOwnerBid\\": \\"26842****\\",\\n \\"EcrOwnerAliUid\\": \\"229845258050****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', ], 'DetachExpressConnectRouterChildInstance' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '197609', 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''], ], [ 'name' => 'ChildInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of VBR.', 'type' => 'string', 'required' => true, 'example' => 'vbr-j6cwxhgg0s5nuephp****', 'title' => ''], ], [ 'name' => 'ChildInstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Set the value to **VBR**.', 'type' => 'string', 'required' => true, 'example' => 'VBR', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ '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 a 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 **RequestId** of the request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n", 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false**', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'Code' => ['description' => 'The status code. A value of 200 indicates that the request was successful. See the Error Codes section.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'example' => 'IllegalParamFormat.EcrId', 'title' => ''], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the `%s` variable in the value of the **ErrMessage** parameter.'."\n" ."\n" .'> If the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, it indicates that the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'example' => 'The param format of EcrId **** is illegal.'."\n", 'title' => ''], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'example' => 'Authentication is failed for ****'."\n", 'title' => ''], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'The ECR Association instance does not allow the current operation. Please try again after the operation in progress completes'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'OperationDenied.CrossAccountDisassociating', 'errorMessage' => 'Unbind cross-account.', 'description' => 'The current operation is rejected, you need to unbind the cross-account page before performing this operation.'], ['errorCode' => 'OperationDenied.EcrAttachmentExisted', 'errorMessage' => 'Ecr and TR have been linked.', 'description' => 'The current operation is rejected. The connection between the leased line gateway instance and the TR has been established. Dismiss the connection before performing this operation.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.', 'description' => 'The current operation cannot be executed normally. There is a routing entry in the border router and the configuration is taking effect. Please wait for it to take effect and try again.'], ['errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.', 'description' => 'The current operation cannot be performed normally. The configuration of the BGP group in the border router is in effect. Please wait for it to take effect and try again.'], ['errorCode' => 'OperationDenied.VbrUsedInVbrHa', 'errorMessage' => 'The border router has been used by the switching group and cannot be bound to the leased line gateway.', 'description' => 'Unloading failed, the border router is associated with the switching group. Disassociate the switch group before uninstalling.'], ['errorCode' => 'ResourceInUse.HaVbrGroup', 'errorMessage' => 'The specified resource of %s is in use.', 'description' => 'The VBR is still in the HA group, please exit the HA group and try again.'], ['errorCode' => 'ResourceInUse.ChildInstance', 'errorMessage' => 'The specified resource of ChildInstance is in use.', 'description' => 'The VBR bound to the current leased line gateway Flowlog not disabled. Try to disable the Flowlog of the corresponding VBR and initiate the uninstallation of the VBR again.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DetachExpressConnectRouterChildInstance', 'summary' => 'Detaches a virtual border router (VBR) from an Express Connect Router (ECR).', 'description' => 'Before you call the **DetachExpressConnectRouterChildInstance** operation to detach a VBR from an ECR, ensure that the ECR is in the **Active** state.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachExpressConnectRouterChildInstance'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:DetachExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'DisableExpressConnectRouterRouteEntries' => [ 'summary' => 'Disables route entries for 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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'formData', 'schema' => ['description' => 'The destination CIDR block of the route in the gateway route table.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '10.153.32.**/**'], ], [ 'name' => 'NexthopInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the next hop.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'tr-hp3u4u5f03tfuljis****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying service resources.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to make sure that the value is unique among different requests. The ClientToken parameter can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call was successful. A return value of 200 indicates that the call was successful. Other values indicate that the call failed. See the Error Codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message. This message is used to replace the `%s` variable in the error message that is returned for the **ErrMessage** parameter.'."\n" ."\n" .'> If the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.NexthopInstanceId', 'errorMessage' => 'The next hop instance does not exist.', 'description' => 'The next hop instance does not exist.'], ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => 'The format of the destination Cidr routing parameter you specified is incorrect. Please check and enter it again.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'ResourceInCreating.NexthopInstanceId', 'errorMessage' => 'The next hop instance is being created.', 'description' => 'The next-hop instance you are currently referring to is being created'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DisableExpressConnectRouterRouteEntries', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableExpressConnectRouterRouteEntries'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:DisableExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'EnableExpressConnectRouterRouteEntries' => [ 'summary' => 'Enables route entries for 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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'DestinationCidrBlock', 'in' => 'formData', 'schema' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '10.153.32.**/**'], ], [ 'name' => 'NexthopInstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the next hop instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'tr-hp3u4u5f03tfuljis****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request. The request does not modify service resources.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value from your client for this parameter. This ensures that the request is idempotent. The ClientToken parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** is different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'A return value of 200 indicates that the call is successful. Other values indicate that the call failed. For more information, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, it indicates that the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ResourceNotFound.NexthopInstanceId', 'errorMessage' => 'The next hop instance does not exist.', 'description' => 'The next hop instance does not exist.'], ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => 'The format of the destination Cidr routing parameter you specified is incorrect. Please check and enter it again.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'ResourceInCreating.NexthopInstanceId', 'errorMessage' => 'The next hop instance is being created.', 'description' => 'The next-hop instance you are currently referring to is being created'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'EnableExpressConnectRouterRouteEntries', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableExpressConnectRouterRouteEntries'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:EnableExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'ForceDeleteExpressConnectRouter' => [ '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 a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request. No resources are modified.'."\n" ."\n" .'- **false** (default): Sends a standard request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'."\n"], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure that the request is idempotent.'."\n" ."\n" .'Generate a unique parameter value from your client. The ClientToken parameter can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the request as the **ClientToken**. Each API request has a unique **RequestId**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse\\', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **True**: The request was successful.'."\n" ."\n" .'- **False**: The request failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request was successful. For more information about other response codes, see Error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the value of the **ErrMessage** parameter.'."\n" ."\n" .'> If the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, it indicates that the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'OperationFailed.UsedInRouteEntryNextHop', 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'description' => '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.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ForceDeleteExpressConnectRouter', 'summary' => 'Force deletes an Express Connect Router (ECR) and detaches its associated virtual private clouds (VPCs), Transit Routers (TRs), and virtual border routers (VBRs).', 'description' => '- Force deleting an Express Connect Router (ECR) instance detaches all associated resources. Before you proceed, confirm that this operation does not disrupt your services.'."\n" ."\n" .'- You can delete only ECR instances that are in the **Active** state.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ForceDeleteExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:ForceDeleteExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'GrantInstanceToExpressConnectRouter' => [ 'summary' => 'Grants a virtual private cloud (VPC) or a virtual border router (VBR) from another account to an Express Connect Router (ECR).', '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 ID of the associated ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'EcrOwnerAliUid', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the ECR instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '121012345612****'], ], [ 'name' => 'InstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"], ], [ 'name' => 'InstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'- **VBR**'."\n" .'- **VPC**', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'InstanceRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region ID of the network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run without modifying the service resource.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique token from your client. The token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the call was successful. For information about other response codes, see the Error codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **errorMessage** parameter.'."\n" ."\n" .'> For example, if the value of **errorMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IllegalParam.EcrOwnerAliUid', 'errorMessage' => 'The Ecr instance account parameter is invalid.', 'description' => 'The account number of the leased line gateway instance is invalid, please check and enter again.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'IllegalParam.InstanceOwnerId', 'errorMessage' => 'Specified parameter InstanceOwnerId is not valid.', 'description' => 'The instance account is invalid. Please check and enter the parameter again.'."\n"], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GrantInstanceToExpressConnectRouter', 'description' => 'An authorization is required to associate a network instance owned by a different account with an ECR. The permission must be granted by the network instance\'s account.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:GrantInstanceToExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'InstanceType', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'ListExpressConnectRouterSupportedRegion' => [ 'summary' => 'Queries the regions that support Express Connect Router (ECR).', '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 network instance. Valid values:'."\n" ."\n" .'- **TR**: transit router instance.'."\n" ."\n" .'- **VBR**: virtual border router instance.'."\n" ."\n" .'- **VPC**: virtual private cloud instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n" ."\n" .'Generate a value that is unique across different requests. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. Each request has a unique **RequestId**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- True: The call was successful.'."\n" ."\n" .'- False: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The status code. A value of 200 indicates that the call was successful. For more information about other values, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'SupportedRegionIdList' => [ 'description' => 'The list of supported regions.', 'type' => 'array', 'items' => ['description' => 'The supported region.', 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListExpressConnectRouterSupportedRegion', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListExpressConnectRouterSupportedRegion'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'expressconnectrouter:ListExpressConnectRouterSupportedRegion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"SupportedRegionIdList\\": [\\n \\"cn-hangzhou\\"\\n ]\\n}","type":"json"}]', ], 'ListTagResources' => [ 'summary' => 'Queries the list of tags bound 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. Valid values:'."\n" .'- **EXPRESSCONNECTROUTER**: an Express Connect Router (ECR) instance.'."\n" .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**: the associate relationship between an ECR and a VPC.'."\n" .'- **EXPRESSCONNECTROUTERTRASSOCIATION**: the associate relationship between an ECR and a transit router (TR).'."\n" .'- **ECRFLOWLOG**: an ECR flow log.', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER', 'title' => ''], ], [ 'name' => 'ResourceId', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of resource instance IDs.'."\n" ."\n" .'You can specify up to 50 resource IDs.', 'type' => 'array', 'items' => ['description' => 'The resource instance ID.', 'type' => 'string', 'required' => false, 'example' => 'ecr-kgzj75zpq50hqz****', 'title' => ''], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags.'."\n" ."\n" .'You can bind up to 20 tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource.'."\n" ."\n" .'The tag key cannot be an empty string. It can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n" ."\n" .'You can specify up to 20 tag keys at a time.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'Value' => ['description' => 'The tag value. It can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. The tag value can be an empty string.'."\n" ."\n" .'You can specify up to 20 tag values at a time.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'enumValueTitles' => [], 'maxItems' => 20, 'title' => '', 'example' => '', ], ], [ 'name' => 'NextToken', 'in' => 'formData', 'schema' => ['description' => 'The pagination token. Valid values:'."\n" ."\n" .'- If NextToken is empty, no next query exists.'."\n" .'- If NextToken is returned, the value indicates the token for the next query.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', 'title' => ''], ], [ 'name' => 'MaxResults', 'in' => 'formData', 'schema' => ['description' => 'The maximum number of entries to return in a single request. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The query result.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" .'- **True**: successful.'."\n" .'- **False**: failed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure. For more information, see error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'TagResources' => [ 'description' => 'The list of tags.', 'type' => 'array', 'items' => [ 'description' => 'The tag information bound to the resource.', 'type' => 'object', 'properties' => [ 'ResourceId' => ['description' => 'The resource ID.', 'type' => 'string', 'example' => 'ecr-897j0jooxyr1aq****', 'title' => ''], 'ResourceType' => ['description' => 'The resource type. Valid values:'."\n" .'- **EXPRESSCONNECTROUTER**: an Express Connect Router (ECR) instance.'."\n" .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**: the associate relationship between an ECR and a VPC.'."\n" .'- **EXPRESSCONNECTROUTERTRASSOCIATION**: the associate relationship between an ECR and a transit router (TR).'."\n" .'- **ECRFLOWLOG**: an ECR flow log.', 'type' => 'string', 'example' => 'EXPRESSCONNECTROUTER', 'title' => ''], 'TagKey' => ['description' => 'The tag key of the resource.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], 'TagValue' => ['description' => 'The label value of the Express Connect Router (ECR).', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of entries that match the query conditions.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'NextToken' => ['description' => 'The pagination token. Valid values:'."\n" ."\n" .'- If **NextToken** is empty, no next query exists.'."\n" .'- If **NextToken** is returned, the value indicates the token for the next query.', 'type' => 'string', 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****', 'title' => ''], 'MaxResults' => ['description' => 'The number of entries per page in a paged query.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], 'example' => '', ], ], ], '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' => 'Query ECR tags', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], ], 'ModifyExpressConnectRouter' => [ '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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'."\n"], ], [ 'name' => 'Name', 'in' => 'formData', 'schema' => ['description' => 'The name of ECR.'."\n" ."\n" .'> The name can be empty or 0 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'."\n"], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['description' => 'The description of ECR.'."\n" ."\n" .'> The description can be empty or 0 to 256 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'."\n"], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying the service resource.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value for this parameter from your client. The client token can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. The **RequestId** of each request is unique.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the ECR instance was successfully modified. Valid values:'."\n" ."\n" .'- **true**: The instance was modified.'."\n" .'- **false**: The modification failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'."\n"], 'Code' => ['description' => 'The response code. A value of 200 indicates that the request was successful. For more information about other error codes, see the "Error codes" section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'."\n"], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.Name'."\n"], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, it indicates that the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of Name **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectRouter', 'summary' => 'Modifies the properties of an Express Connect Router (ECR), such as its name.', 'description' => 'You can modify an Express Connect Router (ECR) instance only when it is in the **Active** state.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\\\n\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'ModifyExpressConnectRouterAssociation' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '246041', 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of ECR.', 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'."\n"], ], [ 'name' => 'AssociationId', 'in' => 'formData', 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of the association between ECR and the VPC or TR.', 'title' => '', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n"], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['type' => 'string', 'description' => 'The description of the child instance. The description must be 0 to 128 characters in length.', 'required' => false, 'title' => '', 'example' => 'test'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['type' => 'boolean', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- true: performs a dry run but does not modify the service resource.'."\n" .'- false (default): sends a normal request.', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['type' => 'string', 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'You can use the client to generate a token, but you must make sure that the token is unique among different requests. The ClientToken parameter can contain only ASCII characters.'."\n" ."\n" .'> - When left empty, the system automatically uses the request ID as the client token. The request ID for each request is unique.', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => 'DFDA79A0-D135-5193-B0AC-3B5608FDB1D0'], 'Success' => ['type' => 'boolean', 'description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'- **True**'."\n" .'- **False**', 'title' => '', 'example' => 'True'], 'Code' => ['type' => 'string', 'description' => 'Indicates whether the call is successful. A value of 200 indicates that the call is successful. Other values indicate that the call failed. For more information about the cause of a failure, see the "Error codes" section.', 'title' => '', 'example' => '200'], 'Message' => ['type' => 'string', 'description' => 'The message returned for the operation.', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['type' => 'integer', 'format' => 'int32', 'description' => 'The HTTP status code.', 'title' => '', 'example' => '200'], 'DynamicCode' => ['type' => 'string', 'description' => 'The dynamic error code.', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'."\n"], 'DynamicMessage' => ['type' => 'string', 'description' => 'The dynamic error message that is used to replace the `%s` placeholder in the error message.'."\n" ."\n" .'> If the **ErrMessage** parameter returns **The Value of Input Parameter %s is not valid** and the **DynamicMessage** parameter returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['type' => 'string', 'description' => 'The details of the access denial.', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], 'title' => '', 'description' => 'RpcResponse', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectRouterAssociation', 'summary' => 'Modifies the parameters of an instance associated with an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"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"}]', ], 'ModifyExpressConnectRouterAssociationAllowedPrefix' => [ '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 ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'AssociationId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the association between the ECR and the VPC or TR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-assoc-9p2qxx5phpca2m****'], ], [ 'name' => 'AllowedPrefixes', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of allowed route prefixes.', 'type' => 'array', 'items' => ['description' => 'An allowed route prefix.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '192.0.20.0/24'], 'required' => false, 'maxItems' => 10000, 'title' => '', ], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run.'."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client token used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to make sure that the value 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 **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], [ 'name' => 'AllowedPrefixesMode', 'in' => 'formData', 'schema' => ['description' => 'The prefix routing pattern. Valid values:'."\n" ."\n" .'- MatchMode: Publishes only the configured route prefixes to your data center. Existing specific routes are withdrawn.'."\n" .'- IncrementalMode: Publishes the configured route prefixes to your data center. Withdraw previously published more specific routes that are covered by the configured prefixes. More specific routes that are not covered by the configured prefixes remain published.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'MatchMode'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '05130E79-588D-5C40-A718-C4863A59****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**'."\n" .'- **False**', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call was successful. A return value of 200 indicates that the call was successful. For other returned values, the call failed. For more information, see Error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the `ErrMessage` parameter.'."\n" ."\n" .'> If the `ErrMessage` parameter returns **The Value of Input Parameter %s is not valid** and the `DynamicMessage` parameter returns **DtsJobId**, the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'IncorrectStatus.EcrAssociation', 'errorMessage' => 'Ecr Association Status does not allow current operation.', 'description' => 'The ECR Association instance does not allow the current operation. Please try again after the operation in progress completes'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'IllegalParamFormat.AllowedPrefixes', 'errorMessage' => 'The prefix parameter format is invalid. Procedure.', 'description' => 'The format of the specified prefix route segment is incorrect.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParamSize.AllowedPrefixes', 'errorMessage' => 'The number of prefix routes exceeded the quota.', 'description' => 'The number of prefix routes you have entered exceeds the quota. Please apply for expansion.'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ['errorCode' => 'ResourceNotFound.AssociationId', 'errorMessage' => 'EcrAssociationId not found.', 'description' => 'ECR Association instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectRouterAssociationAllowedPrefix', 'summary' => 'Modifies the prefixes for a virtual private cloud (VPC) or a transit router that is attached to an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterAssociationAllowedPrefix'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociationAllowedPrefix', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'ModifyExpressConnectRouterChildInstance' => [ 'summary' => 'Modifies the properties of a virtual border router (VBR) associated with an Express Connect Router (ECR).', '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' => ['type' => 'string', 'required' => true, 'description' => 'The ID of the Express Connect Router instance.', 'title' => '', 'example' => 'ecr-gny3gqp41n7vrrn5iz'], ], [ 'name' => 'ChildInstanceId', 'in' => 'formData', 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of the virtual border router (VBR) instance.', 'title' => '', 'example' => 'vbr-t4n6xu2d5q0iaad1yl4le'], ], [ 'name' => 'ChildInstanceType', 'in' => 'formData', 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The type of the child instance. Valid value:'."\n" ."\n" .'- **VBR**: a VBR.', 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'Description', 'in' => 'formData', 'schema' => ['type' => 'string', 'description' => 'The description of the child instance. The description must be 0 to 128 characters in length.', 'required' => false, 'title' => '', 'example' => 'test'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['type' => 'boolean', 'description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request without modifying any resources.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['type' => 'string', 'description' => 'The client token that is used to ensure the idempotence of the request. This token is generated by the client and must be unique among different requests. The token can contain only ASCII characters.'."\n" ."\n" .'You can generate a token from your client, but you must ensure that the token is unique across different requests. The token can contain only ASCII characters.'."\n" ."\n" .'> - If you do not specify this parameter, the system uses the RequestId of the request as the ClientToken. The RequestId may be different for each request.', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'description' => 'The request ID.', 'title' => '', 'example' => 'DEB383C4-32C9-53DC-9B8B-8DBA26038074'], 'Success' => ['type' => 'boolean', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **True**: The request was successful.'."\n" ."\n" .'- **False**: The request failed.', 'title' => '', 'example' => 'True'], 'Code' => ['type' => 'string', 'description' => 'The response code. A value of 200 indicates that the call was successful. For information about other response codes, see the "Error codes" section.', 'title' => '', 'example' => '200'], 'Message' => ['type' => 'string', 'description' => 'The response message.', 'title' => '', 'example' => 'successful'], 'HttpStatusCode' => ['type' => 'integer', 'format' => 'int32', 'description' => 'The HTTP status code.', 'title' => '', 'example' => '200'], 'DynamicCode' => ['type' => 'string', 'description' => 'The dynamic error code.', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['type' => 'string', 'description' => 'The dynamic error message that is used to replace the `%s` placeholder in the error message.'."\n" ."\n" .'> For example, if the error message is **The Value of Input Parameter %s is not valid** and this parameter returns **DtsJobId**, this means the **DtsJobId** parameter that you specified is invalid.', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['type' => 'string', 'description' => 'The details about the access denial.', 'title' => '', 'example' => 'Authentication is failed for ****'], ], 'title' => '', 'description' => 'RpcResponse', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'ResourceNotFound.InstanceId', 'errorMessage' => 'The instance id does not exist.', 'description' => 'The currently entered VPC/TR instance does not exist'], ['errorCode' => 'QuotaExceeded.ChildInstanceNum', 'errorMessage' => 'The number of sub-instances in the switching group exceeds threshold.', 'description' => 'The number of sub-instances in the switching group exceeds threshold.'], ['errorCode' => 'OperationFailed.NotSupportAcrossRegion', 'errorMessage' => 'Switching groups cannot be formed across regional sub-instances.', 'description' => 'Switching groups cannot be formed across regional sub-instances.'], ['errorCode' => 'OperationFailed.NotSupportAcrossAccount', 'errorMessage' => 'Switching groups cannot be formed across account sub-instances.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => '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.', 'description' => 'The VBR in the switching group is not bound to the same ECR.'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectRouterChildInstance', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"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"}]', ], 'ModifyExpressConnectRouterInterRegionTransitMode' => [ '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 ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'TransitModeList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of inter-region forwarding modes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'RegionId' => ['description' => 'The region where the ECR instance is deployed.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'], 'Mode' => [ 'description' => 'The inter-region forwarding mode of the ECR. Valid values:'."\n" ."\n" .'- **ECMP**: The load balancing mode.'."\n" ."\n" .'- **NearBy**: The nearby forwarding mode.', 'type' => 'string', 'required' => false, 'enumValueTitles' => ['ECMP' => 'ECMP', 'NearBy' => 'NearBy'], 'title' => '', 'example' => 'ECMP', ], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying the service resource.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value from your client for this parameter. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** as the **ClientToken**. The **RequestId** is different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'The response object.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call is successful. A value of 200 indicates success. For other values, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the \\`ErrMessage\\` parameter.'."\n" ."\n" .'> For example, if ErrMessage returns **The Value of Input Parameter %s is not valid** and DynamicMessage returns **DtsJobId**, it indicates that the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'Area parameter invalid.', 'description' => 'Illegal region parameter'], ['errorCode' => 'IllegalParam.TransitMode', 'errorMessage' => 'The transmission mode parameter is invalid.', 'description' => 'Illegal transfer mode parameter'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyExpressConnectRouterInterRegionTransitMode', 'summary' => 'Modifies the inter-region forwarding mode of an Express Connect Router (ECR).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterInterRegionTransitMode'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterInterRegionTransitMode', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'ModifyFlowLogAttribute' => [ 'summary' => 'Modifies the name, description, sample rate, and sampling period of a flow log.', '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 ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run to check the request without modifying the service resource.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a token from your client to 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 uses the **RequestId** of the request as the **ClientToken**. The **RequestId** of each request is unique.', 'type' => 'string', 'required' => false, 'title' => '', '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, 'title' => '', 'example' => 'myFlowlog'], ], [ 'name' => 'Interval', 'in' => 'query', 'schema' => ['description' => 'The aggregation interval for capturing traffic data. Unit: seconds. Valid values:'."\n" ."\n" .'- **60**'."\n" ."\n" .'- **600**'."\n" ."\n" .'Default value: **600**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '600'], ], [ 'name' => 'SamplingRate', 'in' => 'query', 'schema' => ['description' => 'The sampling ratio. Valid values:'."\n" ."\n" .'- **1:4096**'."\n" ."\n" .'- **1:2048**'."\n" ."\n" .'- **1:1024**'."\n" ."\n" .'Default value: **1:4096**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '1:4096'], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'The description of the flow log. The description can be empty or 0 to 256 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myFlowlog'], ], [ 'name' => 'FlowLogId', 'in' => 'query', 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-flog-m5evbtbpt****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse\\\\', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n"], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'Indicates whether the call is successful. A value of 200 indicates success. Other values indicate failure. For more information, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message returned for the instance operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsJobId**, the value of the **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'."\n"], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'."\n"], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => 'The specified region does not support the leased line gateway function.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ModifyFlowLogAttribute', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyFlowLogAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]', ], 'MoveResourceGroup' => [ 'summary' => 'Moves an Express Connect Router (ECR) to a specified resource group.', '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. See [What is a resource group?](~~94475~~)', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'rg-acfmvt3xpr5****'], ], [ 'name' => 'ResourceType', 'in' => 'formData', 'schema' => ['description' => 'The resource type. Valid value:'."\n" ."\n" .'- EXPRESSCONNECTROUTER: Express Connect Router.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'EXPRESSCONNECTROUTER'], ], [ 'name' => 'ResourceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the instance whose resource group you want to change.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-897j0jooxyr1aq****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without changing the resource group. The system checks whether the required parameters are specified, the request format is valid, and the service limits are met. If the check fails, the corresponding error is returned. If the check passes, the `DryRunOperation` is returned.'."\n" .'- **false** (default): Sends a normal request. If the request passes the check, a 2xx HTTP status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. Generate a token that is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'Code' => ['description' => 'The HTTP status code. A value of 200 indicates that the call was successful. Other values indicate that the call failed. For more information, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'MoveResourceGroup', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], ], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:MoveResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]', ], 'RevokeInstanceFromExpressConnectRouter' => [ '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 ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'], ], [ 'name' => 'EcrOwnerAliUid', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the ECR instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'title' => '', 'example' => '121012345612****'."\n"], ], [ 'name' => 'InstanceId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'], ], [ 'name' => 'InstanceType', 'in' => 'formData', 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n" ."\n" .'- **VBR**: a VBR instance.'."\n" ."\n" .'- **VPC**: a VPC instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'VBR'], ], [ 'name' => 'InstanceRegionId', 'in' => 'formData', 'schema' => ['description' => 'The region ID of the network instance whose authorization you want to revoke.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request without modifying service resources.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a unique value from your client for each request. The \\`ClientToken\\` parameter supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n"], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the authorization was successfully revoked. Valid values:'."\n" ."\n" .'- **true**'."\n" ."\n" .'- **false**', 'type' => 'boolean', 'title' => '', 'example' => 'true'], 'Code' => ['description' => 'Indicates whether the call was successful. A return value of 200 indicates that the call was successful. Other return values indicate a failure. For more information about the cause of the failure, see the Error codes section.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** 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**, it indicates that the specified **DtsJobId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'RevokeInstanceFromExpressConnectRouter', 'summary' => 'Revokes the authorization for a virtual private cloud (VPC) or a virtual border router (VBR) to access an Express Connect Router (ECR) owned by another account.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromExpressConnectRouter'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:RevokeInstanceFromExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'InstanceType'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'SynchronizeExpressConnectRouterInterRegionBandwidth' => [ 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '197625', 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'], ], 'parameters' => [ [ 'name' => 'EcrId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n" ."\n" .'- **true**: Sends a check request. The service resource is not modified.'."\n" ."\n" .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'A client-generated token that ensures the idempotence of the request. The token must be unique for each request and can contain only ASCII characters.'."\n" ."\n" .'Generate a unique value from your client for each request. The ClientToken parameter can contain only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system automatically uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** of each API request is different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-00****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'RpcResponse', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **True**: The call was successful.'."\n" ."\n" .'- **False**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'True'], 'Code' => ['description' => 'The response code. A value of 200 indicates that the call was successful. For other return values, the call failed. For more information, see the error codes.', 'type' => 'string', 'title' => '', 'example' => '200'], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'HttpStatusCode' => ['description' => 'The HTTP status code.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '200'], 'DynamicCode' => ['description' => 'The dynamic error code.', 'type' => 'string', 'title' => '', 'example' => 'IllegalParamFormat.EcrId'], 'DynamicMessage' => ['description' => 'The dynamic error message that is used to replace the `%s` placeholder in the **ErrMessage** parameter.'."\n" ."\n" .'> If **ErrMessage** returns **The Value of Input Parameter %s is not valid** and **DynamicMessage** returns **DtsInstanceId**, the specified **DtsInstanceId** parameter is invalid.', 'type' => 'string', 'title' => '', 'example' => 'The param format of EcrId **** is illegal.'], 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'title' => '', 'example' => 'Authentication is failed for ****'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['errorCode' => 'OperationDenied.ForceDeleting', 'errorMessage' => 'The current instance is being deleted.', 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'], ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'There are other unfinished operations.', 'description' => 'You currently have other unfinished operations, please try again later'], ], 404 => [ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'SynchronizeExpressConnectRouterInterRegionBandwidth', 'summary' => 'Synchronizes the inter-region bandwidth limits for an Express Connect Router (ECR).', 'description' => 'You can update an ECR instance only when it is in the **Active** state.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SynchronizeExpressConnectRouterInterRegionBandwidth'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:SynchronizeExpressConnectRouterInterRegionBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]', ], 'TagResources' => [ 'summary' => 'Binds tags to an Express Connect Router (ECR). Each call to this operation binds tags to a single ECR instance, but you can bind 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 list of resource instance IDs.'."\n" ."\n" .'You can specify up to 20 resources.', 'type' => 'array', 'items' => ['description' => 'The resource instance ID.', 'type' => 'string', 'required' => false, 'example' => 'ecr-897j0jooxyr1aq****', 'title' => ''], 'required' => true, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'Tag', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of tags to bind.', 'type' => 'array', 'items' => [ 'description' => 'The tag to bind.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key of the resource.'."\n" ."\n" .'This parameter cannot be an empty string once specified. The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n" ."\n" .'You can specify up to 20 tag keys in a single call.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'Value' => ['description' => 'The tag value. The tag value can be up to 128 characters in length and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`. Once specified, the value can be an empty string.'."\n" ."\n" .'You can specify up to 20 tag values in a single call.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceType', 'in' => 'formData', 'schema' => ['description' => 'The resource type. Valid values:'."\n" .'- **EXPRESSCONNECTROUTER**: an Express Connect Router (ECR) instance.'."\n" .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**: an associate relationship between an ECR and a VPC.'."\n" .'- **EXPRESSCONNECTROUTERTRASSOCIATION**: an associate relationship between an ECR and a transit router.'."\n" .'- **ECRFLOWLOG**: an ECR flow log.', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform only a dry run. Valid values:'."\n" ."\n" .'- **true**: performs a dry run without modifying EPS resources.'."\n" .'- **false** (default): sends a normal request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **true**: successful.'."\n" .'- **false**: failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure. For more information, see error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], 'example' => '', ], ], ], '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' => 'Bind tags to an express connect router', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:TagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], ], 'UntagResources' => [ 'summary' => 'Unbinds 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 list of resource instance IDs. You can unbind tags from up to 50 resource instances at a time.', 'type' => 'array', 'items' => ['description' => 'The instance ID of the resource.', 'type' => 'string', 'required' => false, 'example' => 'ecr-897j0jooxyr1aq****', 'title' => ''], 'required' => true, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'TagKey', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag keys of the Express Connect Router (ECR) instance to unbind.', 'type' => 'array', 'items' => ['description' => 'The tag keys of the Express Connect Router (ECR) instance to unbind.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'All', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to unbind all tags. This parameter is valid only when **TagKey** is empty. Valid values:'."\n" ."\n" .'- **true**: Unbinds all tags from the Express Connect Router (ECR) instance.'."\n" .'- **false** (default): Does not unbind all tags from the Express Connect Router (ECR) instance.'."\n" ."\n" .'> You must specify either **TagKey** or **All**.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ResourceType', 'in' => 'formData', 'schema' => ['description' => 'The resource type. Valid values:'."\n" .'- **EXPRESSCONNECTROUTER**: Express Connect Router (ECR) instance.'."\n" .'- **EXPRESSCONNECTROUTERVPCASSOCIATION**: the associate relationship between an ECR and a VPC.'."\n" .'- **EXPRESSCONNECTROUTERTRASSOCIATION**: the associate relationship between an ECR and a transit router.'."\n" .'- **ECRFLOWLOG**: ECR flow log.', 'type' => 'string', 'required' => true, 'example' => 'EXPRESSCONNECTROUTER', 'title' => ''], ], [ 'name' => 'DryRun', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to perform only a dry run. Valid values:'."\n" ."\n" .'- **true**: Performs a dry run without modifying EPS resources.'."\n" ."\n" .'- **false** (default): Sends the request normally.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'ClientToken', 'in' => 'formData', 'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n" ."\n" .'Generate a parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters.'."\n" ."\n" .'> If you do not specify this parameter, the system uses the **RequestId** of the API request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" .'02fb3da4-130e-11e9-8e44-00****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'RpcResponse', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n", 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **true**: Successful.'."\n" .'- **false**: Failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Code' => ['description' => 'The response code. A value of 200 indicates success. Other values indicate failure. For more information, see error codes.', 'type' => 'string', 'example' => '200', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], 'example' => '', ], ], ], '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' => 'Unbind tags from an Express Connect Router', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:UntagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], ], ], 'endpoints' => [ ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-zhengzhou-jva', 'regionName' => 'Zhengzhou (China Unicom Joint Venture)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-nanjing', 'regionName' => 'China (Nanjing - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-fuzhou', 'regionName' => 'China (Fuzhou - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-wuhan-lr', 'regionName' => 'China (Wuhan - Local Region)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => 'expressconnectrouter.vpc-proxy.aliyuncs.com'], ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => 'Heyuan ACDR Auto', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [ ['code' => 'Conflict.AllowedPrefixes', 'message' => 'The allowed route prefixes [%s] is conflict.', 'http_code' => 400, 'description' => 'The currently configured AllowedPrefixes already exists. Please confirm and submit it again.'], ['code' => 'Conflict.ASNOfECR', 'message' => 'ASN already used by other ECR.', 'http_code' => 400, 'description' => 'The specified ASN is used by other ECR. Change to an unconfigured ASN.'], ['code' => 'Conflict.ASNOfVBR', 'message' => 'ASN already used by other VBR.', 'http_code' => 400, 'description' => 'The current VBR BgpGroup localAsn is inconsistent with the ECR asn. Adjust the consistency and rebind.'], ['code' => 'Conflict.Lock', 'message' => 'There are other unfinished operations.', 'http_code' => 400, 'description' => 'You currently have other unfinished operations, please try again later'], ['code' => 'DeviceNotSupport.EcrVbrHa', 'message' => 'The access device where the VBR is located does not support configuring a switching group.', 'http_code' => 400, 'description' => 'The access device where the VBR is located does not support configuring a switching group.'], ['code' => 'ExclusiveParam.TransitRouterIdAndVpcId', 'message' => 'A private network instance cannot be bound to a forwarding router instance at the same time.', 'http_code' => 400, 'description' => 'The VPC instance and the forwarding router instance cannot be bound at the same time, please select one of the instances to bind after adjustment.'], ['code' => 'IllegalParam.%s', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => 'Illegal parameter'], ['code' => 'IllegalParam.AlibabaSideAsn', 'message' => 'The entered Bgp Asn is incorrect.', 'http_code' => 400, 'description' => 'The currently entered BgpAsn is incorrect, please check and re-enter'], ['code' => 'IllegalParam.EcrOwnerAliUid', 'message' => 'The Ecr instance account parameter is invalid.', 'http_code' => 400, 'description' => 'The account number of the leased line gateway instance is invalid, please check and enter again.'], ['code' => 'IllegalParam.InstanceOwnerId', 'message' => 'Specified parameter InstanceOwnerId is not valid.', 'http_code' => 400, 'description' => 'The instance account is invalid. Please check and enter the parameter again.'."\n"], ['code' => 'IllegalParam.RegionId', 'message' => 'Area parameter invalid.', 'http_code' => 400, 'description' => 'Illegal region parameter'], ['code' => 'IllegalParam.TransitMode', 'message' => 'The transmission mode parameter is invalid.', 'http_code' => 400, 'description' => 'Illegal transfer mode parameter'], ['code' => 'IllegalParamFormat.%s', 'message' => 'The param format of %s is illegal.', 'http_code' => 400, 'description' => 'Illegal parameter format'], ['code' => 'IllegalParamFormat.AllowedPrefixes', 'message' => 'The prefix parameter format is invalid. Procedure.', 'http_code' => 400, 'description' => 'The format of the specified prefix route segment is incorrect.'], ['code' => 'IllegalParamFormat.CenId', 'message' => 'The format of the entered Cen instance ID is incorrect.', 'http_code' => 400, 'description' => 'The format of the currently entered Cen instance ID is incorrect'], ['code' => 'IllegalParamFormat.DestinationCidrBlock', 'message' => 'The format of the specified destination Cidr route parameter is incorrect.', 'http_code' => 400, 'description' => 'The format of the destination Cidr routing parameter you specified is incorrect. Please check and enter it again.'], ['code' => 'IllegalParamSize.AllowedPrefixes', 'message' => 'The number of prefix routes exceeded the quota.', 'http_code' => 400, 'description' => 'The number of prefix routes you have entered exceeds the quota. Please apply for expansion.'], ['code' => 'IncorrectStatus.Ecr', 'message' => 'Ecr Status does not allow current operation.', 'http_code' => 400, 'description' => 'The status of the express connect gateway instance does not allow the current operation. Currently, other operations are being performed or the express connect gateway instance is being deleted. Please try again later.'], ['code' => 'IncorrectStatus.EcrAssociation', 'message' => 'Ecr Association Status does not allow current operation.', 'http_code' => 400, 'description' => 'The ECR Association instance does not allow the current operation. Please try again after the operation in progress completes'], ['code' => 'IncorrectStatus.HaVbrGroup', 'message' => 'The current state of the switching group is not steady state, please try again later.', 'http_code' => 400, 'description' => 'The current state of the switching group is not steady state, please try again later.'], ['code' => 'IncorrectStatus.Vbr', 'message' => 'The current VBR is not in steady state, please try again later.', 'http_code' => 400, 'description' => 'The current VBR is not in steady state, please try again later.'], ['code' => 'MissingParam.%s', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => 'The request parameters are not specified. Please check the corresponding parameters and try again.'], ['code' => 'OperationDenied.AttachmentInCurrentRegionExisted', 'message' => 'Only one forwarding router can be bound to an area.', 'http_code' => 400, 'description' => 'The current operation is rejected. The leased line gateway instance can only bind one forwarding router in the same region.'], ['code' => 'OperationDenied.CrossAccountAttaching', 'message' => 'If the forwarding router is bound to another account, perform this operation on the same account.', 'http_code' => 400, 'description' => 'The current operation is rejected. When you bind another account to the forwarding router, you need to do this operation under this account.'], ['code' => 'OperationDenied.CrossAccountDisassociating', 'message' => 'Unbind cross-account.', 'http_code' => 400, 'description' => 'The current operation is rejected, you need to unbind the cross-account page before performing this operation.'], ['code' => 'OperationDenied.CrossBidAssociating', 'message' => 'Cross-border binding of resources is subject to compliance constraints.', 'http_code' => 400, 'description' => 'Your current binding resources involve cross-Chinese site resources and overseas site resources. Due to compliance constraints, please contact your business manager for communication and handling.'], ['code' => 'OperationDenied.EcrAttachmentExisted', 'message' => 'Ecr and TR have been linked.', 'http_code' => 400, 'description' => 'The current operation is rejected. The connection between the leased line gateway instance and the TR has been established. Dismiss the connection before performing this operation.'], ['code' => 'OperationDenied.ForceDeleting', 'message' => 'The current instance is being deleted.', 'http_code' => 400, 'description' => 'Your current operation is rejected and the leased line gateway instance is being forcibly deleted. Please try again later.'], ['code' => 'OperationDenied.InvalidVbrStatus', 'message' => 'Invalid virtual border router status.', 'http_code' => 400, 'description' => 'Invalid border router status. Make sure that the border router status is normal and try again.'], ['code' => 'OperationDenied.NotGrantedByNodeOwner', 'message' => 'The node owner is not authorized.', 'http_code' => 400, 'description' => 'Your current operation is rejected, and the leased line gateway product is not authorized.'], ['code' => 'OperationDenied.VbrAlreadyAttachedToCen', 'message' => 'VBR has already attached to CEN.', 'http_code' => 400, 'description' => 'The VBR has been bound to the CEN. Delete the VBR from the CEN and try again.'], ['code' => 'OperationDenied.VbrAlreadyAttachedToEcr', 'message' => 'VBR has already attached to ECR.', 'http_code' => 400, 'description' => 'The VBR has been associated with a leased line gateway. Delete the VBR from the leased line gateway and try again.'], ['code' => 'OperationDenied.VbrDoesNotSupportMpbgp', 'message' => 'The VBR does not support Mpbgp configuration.', 'http_code' => 400, 'description' => 'The operation is rejected. VBR does not support Mpbgp,'], ['code' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus', 'message' => 'The operation is not allowed because of VBR has BGP group in middle status.', 'http_code' => 400, 'description' => 'The current operation cannot be performed normally. The configuration of the BGP group in the border router is in effect. Please wait for it to take effect and try again.'], ['code' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus', 'message' => 'The operation is not allowed because of VBR has route entry in middle status.', 'http_code' => 400, 'description' => 'The current operation cannot be executed normally. There is a routing entry in the border router and the configuration is taking effect. Please wait for it to take effect and try again.'], ['code' => 'OperationDenied.VbrUsedInVbrHa', 'message' => 'The border router has been used by the switching group and cannot be bound to the leased line gateway.', 'http_code' => 400, 'description' => 'Unloading failed, the border router is associated with the switching group. Disassociate the switch group before uninstalling.'], ['code' => 'OperationFailed.CallingEcYaochi', 'message' => 'EC Yaochi component returned an error.', 'http_code' => 400, 'description' => 'Operation failed, internal EC Daochi component returned error'], ['code' => 'OperationFailed.CallingVpcYaochi', 'message' => 'The system is abnormal. Please try again later.', 'http_code' => 400, 'description' => 'The operation failed and the system is abnormal. Please try again later. If the retry still fails, please contact your business manager for help.'], ['code' => 'OperationFailed.CdtCrossBoarderNotOpened', 'message' => 'The Cdt cross-border transmission function is disabled.', 'http_code' => 400, 'description' => 'The current operation fails. The cross-border data transmission function of Alibaba Cloud is not enabled.'], ['code' => 'OperationFailed.CdtNotOpened', 'message' => 'The Cdt function is disabled.', 'http_code' => 400, 'description' => 'The current operation fails, and the Alibaba Cloud data transmission function is not enabled.'], ['code' => 'OperationFailed.CrossBorderNotAllowed', 'message' => 'There is no qualification for creating cross-border links.', 'http_code' => 400, 'description' => 'The operation failed. The current enterprise does not have the permission to create cross-border links. Please contact your business manager to add this permission.'], ['code' => 'OperationFailed.NotSupportAcrossAccount', 'message' => 'Switching groups cannot be formed across account sub-instances.', 'http_code' => 400, 'description' => 'Switching groups cannot be formed across account sub-instances.'], ['code' => 'OperationFailed.NotSupportAcrossRegion', 'message' => 'Switching groups cannot be formed across regional sub-instances.', 'http_code' => 400, 'description' => 'Switching groups cannot be formed across regional sub-instances.'], ['code' => 'OperationFailed.RejectedByEcYaochi', 'message' => 'The request was rejected by Ec Yaochi.', 'http_code' => 400, 'description' => 'The current operation failed. Ec Yochi rejected your request'], ['code' => 'OperationFailed.RejectedByVpcYaochi', 'message' => 'Vpc Yaochi has rejected your current request.', 'http_code' => 400, 'description' => 'The operation failed. Vpc rejected your current request.'], ['code' => 'OperationFailed.UsedInRouteEntryNextHop', 'message' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.', 'http_code' => 400, 'description' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.'], ['code' => 'OperationFailed.UserNotInWhiteList', 'message' => 'The current user is not in the whitelist.', 'http_code' => 400, 'description' => 'The leased line gateway product is opened through the whitelist, and the current user does not have the operation permission. Please contact customer service personnel to add the current user to the white list.'], ['code' => 'OperationFailed.VbrAccessDeviceSame', 'message' => 'The VBR on the same access device cannot be added to a switching group.', 'http_code' => 400, 'description' => 'The VBR on the same access device cannot be added to a switching group.'], ['code' => 'OperationFailed.VbrBgpGroupLocalAsnNotSupport', 'message' => 'The BGP group AS number of the VBR configuration in the switching group is not supported.', 'http_code' => 400, 'description' => 'The BGP group AS number of the VBR configuration in the switching group is not supported.'], ['code' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithEcr', 'message' => 'The AS number of the BGP group of the VBR added to the switching group is different from the AS number of the ECR.', 'http_code' => 400, 'description' => 'The AS number of the BGP group of the VBR added to the switching group is different from the AS number of the ECR.'], ['code' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithOther', 'message' => 'The BGP group AS number of the VBR configuration in the switching group is not exactly the same.', 'http_code' => 400, 'description' => 'The BGP group AS number of the VBR configuration in the switching group is not exactly the same.'], ['code' => 'OperationFailed.VbrBgpPeerNotEnableBfd', 'message' => 'The configured BGP PEER of the input VBR in the switching group does not enable BFD.', 'http_code' => 400, 'description' => 'The configured BGP PEER of the input VBR in the switching group does not enable BFD.'], ['code' => 'OperationFailed.VbrEcrNotConsistent', 'message' => 'The VBR in the switching group is not bound to the same ECR.', 'http_code' => 400, 'description' => 'The VBR in the switching group is not bound to the same ECR.'], ['code' => 'OperationFailed.VbrEcrNotRelation', 'message' => 'The VBR in the switching group is not bound to ECR.', 'http_code' => 400, 'description' => 'The VBR in the switching group is not bound to ECR.'], ['code' => 'OperationFailed.VbrInUsedByOtherHa', 'message' => 'The VBR in the input switching group is already in another switching group.', 'http_code' => 400, 'description' => 'The VBR in the input switching group is already in another switching group.'], ['code' => 'QuotaExceeded.ChildInstanceNum', 'message' => 'The number of sub-instances in the switching group exceeds threshold.', 'http_code' => 400, 'description' => 'The number of sub-instances in the switching group exceeds threshold.'], ['code' => 'QuotaExceeded.EcrCountPerUser', 'message' => 'ECR Quota Exceeded.', 'http_code' => 400, 'description' => 'The number of dedicated gateway instances that you can create has reached the quota limit. Please contact your business manager to apply for a larger quota.'], ['code' => 'QuotaExceeded.TrCountPerEcr', 'message' => 'The number of TR bound to the ECR exceeds the quota.', 'http_code' => 400, 'description' => 'The number of TRs that can be bound to a dedicated gateway instance has reached the quota limit. Please contact your business manager to apply for a larger quota.'], ['code' => 'QuotaExceeded.VpcCountPerEcr', 'message' => 'The number of VPC bound to the ECR exceeds the quota.', 'http_code' => 400, 'description' => 'The number of VPCs that can be bound to a dedicated gateway instance has reached the quota limit. Please contact your business manager to apply for a larger quota.'], ['code' => 'ResourceAlreadyExist.ChildInstanceId', 'message' => 'The specified resource of ChildInstanceId already exists.', 'http_code' => 400, 'description' => 'The specified resource has been associated with the leased line gateway ECR. Please check and try again.'], ['code' => 'ResourceAlreadyExist.FlowLogId', 'message' => 'The specified resource of FlowLogId[%s] already exists.', 'http_code' => 400, 'description' => 'The created flow log already exists. Please check and try again.'], ['code' => 'ResourceAlreadyExist.TransitRouterId', 'message' => 'The specified resource of transit router already exists.', 'http_code' => 400, 'description' => 'The specified TR resource has been associated with the leased line gateway ECR. Check and try again.'], ['code' => 'ResourceAlreadyExist.VpcId', 'message' => 'The specified resource of VpcId already exists.', 'http_code' => 400, 'description' => 'The specified VPC resource has been associated with the leased line gateway ECR. Please check and try again.'], ['code' => 'ResourceInConfiguring.NodeId', 'message' => 'The current subInstance is not in steady state, please try again later.', 'http_code' => 400, 'description' => 'The current subInstance is not in steady state, please try again later.'], ['code' => 'ResourceInCreating.NexthopInstanceId', 'message' => 'The next hop instance is being created.', 'http_code' => 400, 'description' => 'The next-hop instance you are currently referring to is being created'], ['code' => 'ResourceInUse.Ecr', 'message' => 'The express connect router is currently in use.', 'http_code' => 400, 'description' => 'The leased line gateway instance is currently in use. Disassociate the VBR/VPC/TR and try again.'], ['code' => 'ResourceInUse.HaVbrGroup', 'message' => 'The specified resource of %s is in use.', 'http_code' => 400, 'description' => 'The VBR is still in the HA group, please exit the HA group and try again.'], ['code' => 'ResourceNotFound.AssociationId', 'message' => 'EcrAssociationId not found.', 'http_code' => 404, 'description' => 'ECR Association instance does not exist'], ['code' => 'ResourceNotFound.CenId', 'message' => 'CenId not found.', 'http_code' => 400, 'description' => 'Cen instance does not exist'], ['code' => 'ResourceNotFound.EcrId', 'message' => 'EcrId not found.', 'http_code' => 404, 'description' => 'ECR instance does not exist'], ['code' => 'ResourceNotFound.InstanceId', 'message' => 'The instance id does not exist.', 'http_code' => 400, 'description' => 'The currently entered VPC/TR instance does not exist'], ['code' => 'ResourceNotFound.NexthopInstanceId', 'message' => 'The next hop instance does not exist.', 'http_code' => 400, 'description' => 'The next hop instance does not exist.'], ['code' => 'ResourceNotFound.TrId', 'message' => 'TRId not found.', 'http_code' => 400, 'description' => 'TR instance does not exist'], ['code' => 'UnsupportedRegion', 'message' => 'Feature not supported in specified region.', 'http_code' => 400, 'description' => 'The specified region does not support the leased line gateway function.'], ['code' => 'UnsupportedRegion.FlowLog', 'message' => 'The region where the VBR is located does not support ECR FlowLog.', 'http_code' => 400, 'description' => 'The region where the VBR is located does not support ECR FlowLog.'], ['code' => 'InternalErrorTemp', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => 400, 'description' => 'The request processing has failed due to some unknown error.'], ['code' => 'ResourceInUse.ChildInstance', 'message' => 'The specified resource of ChildInstance is in use.', 'http_code' => 400, 'description' => 'The VBR bound to the current leased line gateway Flowlog not disabled. Try to disable the Flowlog of the corresponding VBR and initiate the uninstallation of the VBR again.'], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDisabledExpressConnectRouterRouteEntries'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAllowedPrefixHistory'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActivateFlowLog'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableExpressConnectRouterRouteEntries'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToExpressConnectRouter'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterAssociationAllowedPrefix'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SynchronizeExpressConnectRouterInterRegionBandwidth'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterAssociation'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateExpressConnectRouterAssociation'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRegion'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterInterRegionTransitMode'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableExpressConnectRouterRouteEntries'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowLog'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouterAssociation'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeInstanceGrantedToExpressConnectRouter'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouterInterRegionTransitMode'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachExpressConnectRouterChildInstance'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ForceDeleteExpressConnectRouter'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyExpressConnectRouter'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListExpressConnectRouterSupportedRegion'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouter'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachExpressConnectRouterChildInstance'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckAddRegionToExpressConnectRouter'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromExpressConnectRouter'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterChildInstance'], ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowLogs'], ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateFlowLog'], ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRouteEntries'], ], ], 'ram' => [ 'productCode' => 'ExpressConnectRouter', 'productName' => 'Express Connect', 'ramCodes' => ['expressconnectrouter'], 'ramLevel' => 'RESOURCE', 'ramConditions' => [ [ 'name' => 'InstanceType', 'schema' => [ 'type' => 'String', 'description' => 'Instance Type', 'enums' => ['VPC', 'VBR'], ], ], ], 'ramActions' => [ [ 'apiName' => 'ListExpressConnectRouterSupportedRegion', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'expressconnectrouter:ListExpressConnectRouterSupportedRegion', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckAddRegionToExpressConnectRouter', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:CheckAddRegionToExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DeleteFlowlog', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:DeleteFlowlog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DisableExpressConnectRouterRouteEntries', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:DisableExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectRouterAssociation', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DeactivateFlowLog', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:DeactivateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeInstanceGrantedToExpressConnectRouter', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeInstanceGrantedToExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ListTagResources', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectRouterChildInstance', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouterAllowedPrefixHistory', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAllowedPrefixHistory', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ActivateFlowLog', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:ActivateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyExpressConnectRouterAssociationAllowedPrefix', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterAssociationAllowedPrefix', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'MoveResourceGroup', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:MoveResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'GrantInstanceToExpressConnectRouter', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:GrantInstanceToExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'InstanceType', 'validationType' => 'always'], ], 'resources' => [ ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'RevokeInstanceFromExpressConnectRouter', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:RevokeInstanceFromExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [ ['conditionKey' => 'InstanceType'], ], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouterChildInstance', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouterAssociation', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectRouterInterRegionTransitMode', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouterInterRegionTransitMode', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'CreateExpressConnectRouter', 'description' => '', 'operationType' => 'create', 'additionalActions' => [ ['action' => 'expressconnectrouter:CreateServiceLinkedRole'], ], 'ramAction' => [ 'action' => 'expressconnectrouter:CreateExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'], ], ], ], [ 'apiName' => 'DetachExpressConnectRouterChildInstance', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:DetachExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouterRouteEntries', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouterRegion', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterRegion', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'CreateFlowLog', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:CreateFlowLog', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TagResources', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:TagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'UntagResources', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'expressconnectrouter:UntagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ModifyFlowLogAttribute', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyFlowLogAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateExpressConnectRouterAssociation', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:CreateExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'AttachExpressConnectRouterChildInstance', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'expressconnectrouter:AttachExpressConnectRouterChildInstance', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ModifyExpressConnectRouter', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:ModifyExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouter', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DeleteExpressConnectRouterAssociation', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:DeleteExpressConnectRouterAssociation', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeFlowLogs', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeFlowLogs', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescribeExpressConnectRouterInterRegionTransitMode', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterInterRegionTransitMode', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DeleteExpressConnectRouter', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:DeleteExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'ForceDeleteExpressConnectRouter', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'expressconnectrouter:ForceDeleteExpressConnectRouter', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'EnableExpressConnectRouterRouteEntries', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:EnableExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'DescribeDisabledExpressConnectRouterRouteEntries', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'expressconnectrouter:DescribeDisabledExpressConnectRouterRouteEntries', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], [ 'apiName' => 'SynchronizeExpressConnectRouterInterRegionBandwidth', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'expressconnectrouter:SynchronizeExpressConnectRouterInterRegionBandwidth', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ], ], ], ], 'resourceTypes' => [ ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'], ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouterflowlog/*'], ['validationType' => 'conditional', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'], ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'], ], ], ];