summaryrefslogtreecommitdiff
path: root/data/en_us/expressconnectrouter/2023-09-01
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/expressconnectrouter/2023-09-01')
-rw-r--r--data/en_us/expressconnectrouter/2023-09-01/api-docs.php11004
1 files changed, 4294 insertions, 6710 deletions
diff --git a/data/en_us/expressconnectrouter/2023-09-01/api-docs.php b/data/en_us/expressconnectrouter/2023-09-01/api-docs.php
index c2ef357..30a4b19 100644
--- a/data/en_us/expressconnectrouter/2023-09-01/api-docs.php
+++ b/data/en_us/expressconnectrouter/2023-09-01/api-docs.php
@@ -1,546 +1,303 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'ExpressConnectRouter',
- 'version' => '2023-09-01',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'ExpressConnectRouter', 'version' => '2023-09-01'],
'directories' => [
[
- 'id' => 249196,
- 'title' => null,
+ 'children' => ['DescribeExpressConnectRouterRegion', 'ListExpressConnectRouterSupportedRegion', 'SynchronizeExpressConnectRouterInterRegionBandwidth', 'CheckAddRegionToExpressConnectRouter'],
'type' => 'directory',
- 'children' => [
- 'DescribeExpressConnectRouterRegion',
- 'ListExpressConnectRouterSupportedRegion',
- 'SynchronizeExpressConnectRouterInterRegionBandwidth',
- 'CheckAddRegionToExpressConnectRouter',
- ],
+ 'title' => 'Region',
],
[
- 'id' => 249201,
- 'title' => null,
+ 'children' => ['ModifyExpressConnectRouterChildInstance', 'ModifyExpressConnectRouterAssociation', 'AttachExpressConnectRouterChildInstance', 'DetachExpressConnectRouterChildInstance', 'DescribeExpressConnectRouterChildInstance', 'DescribeInstanceGrantedToExpressConnectRouter', 'RevokeInstanceFromExpressConnectRouter', 'GrantInstanceToExpressConnectRouter'],
'type' => 'directory',
- 'children' => [
- 'ModifyExpressConnectRouterChildInstance',
- 'ModifyExpressConnectRouterAssociation',
- 'AttachExpressConnectRouterChildInstance',
- 'DetachExpressConnectRouterChildInstance',
- 'DescribeExpressConnectRouterChildInstance',
- 'DescribeInstanceGrantedToExpressConnectRouter',
- 'RevokeInstanceFromExpressConnectRouter',
- 'GrantInstanceToExpressConnectRouter',
- ],
+ 'title' => 'Child instance management',
],
[
- 'id' => 249210,
- 'title' => null,
+ 'children' => ['CreateExpressConnectRouterAssociation', 'DeleteExpressConnectRouterAssociation', 'DescribeExpressConnectRouterAssociation'],
'type' => 'directory',
- 'children' => [
- 'CreateExpressConnectRouterAssociation',
- 'DeleteExpressConnectRouterAssociation',
- 'DescribeExpressConnectRouterAssociation',
- ],
+ 'title' => 'Resource associations',
],
[
- 'id' => 249214,
- 'title' => null,
+ 'children' => ['DisableExpressConnectRouterRouteEntries', 'EnableExpressConnectRouterRouteEntries', 'DescribeDisabledExpressConnectRouterRouteEntries', 'DescribeExpressConnectRouterRouteEntries'],
'type' => 'directory',
- 'children' => [
- 'DisableExpressConnectRouterRouteEntries',
- 'EnableExpressConnectRouterRouteEntries',
- 'DescribeDisabledExpressConnectRouterRouteEntries',
- 'DescribeExpressConnectRouterRouteEntries',
- ],
+ 'title' => 'Express connect router route entries',
],
[
- 'id' => 249219,
- 'title' => null,
+ 'children' => ['CreateExpressConnectRouter', 'DeleteExpressConnectRouter', 'ModifyExpressConnectRouterInterRegionTransitMode', 'ModifyExpressConnectRouterAssociationAllowedPrefix', 'ModifyExpressConnectRouter', 'DescribeExpressConnectRouterInterRegionTransitMode', 'DescribeExpressConnectRouterAllowedPrefixHistory', 'DescribeExpressConnectRouter', 'ForceDeleteExpressConnectRouter'],
'type' => 'directory',
- 'children' => [
- 'MoveResourceGroup',
- 'ListTagResources',
- 'UntagResources',
- ],
+ 'title' => 'Express connect router (ECR)',
],
[
- 'id' => 249223,
- 'title' => null,
+ 'children' => ['CreateFlowLog', 'DeactivateFlowLog', 'DeleteFlowlog', 'DescribeFlowLogs', 'ActivateFlowLog', 'ModifyFlowLogAttribute'],
'type' => 'directory',
- 'children' => [
- 'CreateExpressConnectRouter',
- 'DeleteExpressConnectRouter',
- 'ModifyExpressConnectRouterInterRegionTransitMode',
- 'ModifyExpressConnectRouterAssociationAllowedPrefix',
- 'ModifyExpressConnectRouter',
- 'DescribeExpressConnectRouterInterRegionTransitMode',
- 'DescribeExpressConnectRouterAllowedPrefixHistory',
- 'DescribeExpressConnectRouter',
- 'ForceDeleteExpressConnectRouter',
- ],
+ 'title' => 'Flow log',
],
[
- 'id' => 249233,
- 'title' => null,
+ 'children' => ['TagResources', 'UntagResources', 'ListTagResources', 'MoveResourceGroup'],
'type' => 'directory',
- 'children' => [
- 'CreateFlowLog',
- 'DeleteFlowlog',
- 'ModifyFlowLogAttribute',
- 'DescribeFlowLogs',
- 'DeactivateFlowLog',
- 'ActivateFlowLog',
- 'TagResources',
- ],
+ 'title' => 'Tags and resource groups',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'DescribeExpressConnectRouterRegion' => [
- 'summary' => 'Queries a list of regions in which resources related to an Express Connect router (ECR) are deployed.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ActivateFlowLog' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199494',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '254020',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ECR that you want to query.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* true: performs only a dry run.'."\n"
- .'* false (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<DescribeEcrRegionResponse>',
- 'description' => 'The response parameters.',
+ 'title' => 'RpcResponse<CreateAssociationResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.',
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'RegionIdList' => [
- 'description' => 'The region in which the ECR feature is activated.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The region in which the ECR feature is activated.',
- 'type' => 'string',
- 'example' => '[\\"cn-shanghai\\"]',
- ],
- ],
+ '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' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.EcrId',
- 'errorMessage' => 'EcrId not found.',
+ ],
+ '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' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"RegionIdList\\": [\\n \\"[\\\\\\\\\\\\\\"cn-shanghai\\\\\\\\\\\\\\"]\\"\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeExpressConnectRouterRegion',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
],
- 'ListExpressConnectRouterSupportedRegion' => [
- 'summary' => 'Queries a list of regions in which the Express Connect router (ECR) feature is activated.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'AttachExpressConnectRouterChildInstance' => [
+ 'summary' => 'Attaches a child instance (VBR) to an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '213773',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '197608',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
- 'name' => 'NodeType',
+ 'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **TR**'."\n"
- .'* **VBR**'."\n"
- .'* **VPC**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
+ 'schema' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-a5xqrgbeidz1w8****'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ChildInstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'RpcResponse<ListEcrSupportedRegionResponse>',
- 'description' => 'The response parameters.'."\n",
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* True'."\n"
- .'* False'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'SupportedRegionIdList' => [
- 'description' => 'The regions in which the ECR feature is activated.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The region in which the ECR feature is activated.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
+ 'schema' => ['description' => 'The ID of the virtual border router (VBR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'],
],
- ],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"SupportedRegionIdList\\": [\\n \\"cn-hangzhou\\"\\n ]\\n}","type":"json"}]',
- 'title' => 'ListExpressConnectRouterSupportedRegion',
- ],
- 'SynchronizeExpressConnectRouterInterRegionBandwidth' => [
- 'summary' => 'Synchronizes the forwarding bandwidth limit between regions for an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ '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'],
],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '197625',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect9IGKFS',
+ [
+ 'name' => 'ChildInstanceRegionId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The region where the VBR instance is located.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
- ],
- 'parameters' => [
[
- 'name' => 'EcrId',
+ 'name' => 'ChildInstanceOwnerId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<SyncEcrBandwidthResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<AttachChildInstanceResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsInstanceId**, the request parameter **DtsInstanceId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.',
- ],
+ ['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',
+ '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"}]',
- 'title' => 'SynchronizeExpressConnectRouterInterRegionBandwidth',
- 'description' => 'Updates are allowed only when the ECR is in the **Active** state.'."\n",
],
'CheckAddRegionToExpressConnectRouter' => [
- 'summary' => 'Checks the Cloud Data Transfer (CDT) service required to add a region to an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -553,441 +310,282 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '197604',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
+ '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 for which you want to check whether the CDT service is enabled for the ECR feature.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* true: performs only a dry run.'."\n"
- .'* false (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<CheckAssociationCreationResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsInstanceId**, the request parameter **DtsInstanceId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'AnyInterRegionLink' => [
- 'description' => 'Indicates whether the ECR is used to establish connections between regions in the Chinese mainland. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'AnyCrossBorderLink' => [
- 'description' => 'Indicates whether the ECR is used to establish connections between regions in the Chinese mainland and regions outside China. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'IsCdtInterRegionEnabled' => [
- 'description' => 'Indicates whether the CDT service is activated for the account to which the ECR belongs. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'IsCdtCrossBorderEnabled' => [
- 'description' => 'Indicates whether the cross-border CDT service is activated for the account to which the ECR belongs. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'IsUserAllowedToCreateCrossBorderLink' => [
- 'description' => 'Indicates whether the account to which the ECR belongs can create cross-border connections. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'InternalErrorTemp',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'UnsupportedRegion', 'errorMessage' => 'Feature not supported in specified region.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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"}]',
- 'title' => 'CheckAddRegionToExpressConnectRouter',
],
- 'ModifyExpressConnectRouterChildInstance' => [
- 'summary' => '修改专线网关子实例的属性',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'CreateExpressConnectRouter' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '246043',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectY33HGU',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeCode' => '197622',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'EcrId',
+ 'name' => 'Name',
'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-gny3gqp41n7vrrn5iz',
- ],
+ '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' => 'ChildInstanceId',
+ 'name' => 'Description',
'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vbr-t4n6xu2d5q0iaad1yl4le',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the ECR instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-acfmvvajg5q****'],
],
[
- 'name' => 'Description',
+ 'name' => 'AlibabaSideAsn',
'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ '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' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => '',
- 'type' => 'string',
+ '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,
- 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n",
+ 'maxItems' => 20,
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<ModifyEcrResponse>',
- 'description' => 'RpcResponse<ModifyEcrResponse>',
+ 'title' => 'RpcResponse<CreateEcrResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'DEB383C4-32C9-53DC-9B8B-8DBA26038074',
- ],
- 'Success' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'successful',
- ],
- 'HttpStatusCode' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.InstanceId',
- 'errorMessage' => 'The instance id does not exist.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.ChildInstanceNum',
- 'errorMessage' => 'The number of sub-instances in the switching group exceeds threshold.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportAcrossRegion',
- 'errorMessage' => 'Switching groups cannot be formed across regional sub-instances.',
- ],
- [
- 'errorCode' => 'OperationFailed.NotSupportAcrossAccount',
- 'errorMessage' => 'Switching groups cannot be formed across account sub-instances.',
- ],
- [
- 'errorCode' => 'ResourceInConfiguring.NodeId',
- 'errorMessage' => 'The current subInstance is not in steady state, please try again later.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.HaVbrGroup',
- 'errorMessage' => 'The current state of the switching group is not steady state, please try again later.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Vbr',
- 'errorMessage' => 'The current VBR is not in steady state, please try again later.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrInUsedByOtherHa',
- 'errorMessage' => 'The VBR in the input switching group is already in another switching group.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrBgpPeerNotEnableBfd',
- 'errorMessage' => 'The configured BGP PEER of the input VBR in the switching group does not enable BFD.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrEcrNotRelation',
- 'errorMessage' => 'The VBR in the switching group is not bound to ECR.',
- ],
- [
- 'errorCode' => 'DeviceNotSupport.EcrVbrHa',
- 'errorMessage' => 'The access device where the VBR is located does not support configuring a switching group.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotSupport',
- 'errorMessage' => 'The BGP group AS number of the VBR configuration in the switching group is not supported.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrAccessDeviceSame',
- 'errorMessage' => 'The VBR on the same access device cannot be added to a switching group.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithEcr',
- 'errorMessage' => 'The AS number of the BGP group of the VBR added to the switching group is different from the AS number of the ECR.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrBgpGroupLocalAsnNotTheSameWithOther',
- 'errorMessage' => 'The BGP group AS number of the VBR configuration in the switching group is not exactly the same.',
- ],
- [
- 'errorCode' => 'OperationFailed.VbrEcrNotConsistent',
- 'errorMessage' => 'The VBR in the switching group is not bound to the same ECR.',
- ],
+ ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => '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'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.EcrId',
- 'errorMessage' => 'EcrId not found.',
+ ],
+ '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'],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DEB383C4-32C9-53DC-9B8B-8DBA26038074\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\"\\n}","type":"json"}]',
],
- 'ModifyExpressConnectRouterAssociation' => [
- 'summary' => '修改专线网关关联的属性',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'CreateExpressConnectRouterAssociation' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -996,1325 +594,775 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '246041',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectY33HGU',
- ],
+ 'abilityTreeCode' => '197620',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0'],
+ 'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''],
],
[
- 'name' => 'AssociationId',
+ 'name' => 'AssociationRegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n",
- ],
+ 'schema' => ['description' => 'The region of the associated network instance.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
- 'name' => 'Description',
+ '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' => '',
- 'type' => 'string',
+ '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,
- 'example' => 'test',
+ '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' => '',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => '',
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n",
+ 'title' => '',
+ 'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<ModifyEcrResponse>',
- 'description' => 'RpcResponse<ModifyEcrResponse>',
+ 'title' => '',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'DFDA79A0-D135-5193-B0AC-3B5608FDB1D0',
- ],
- 'Success' => [
- 'description' => '',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => '',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => '',
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.AssociationId',
- 'errorMessage' => 'EcrAssociationId not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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\\": \\"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"}]',
+ '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"}]',
],
- 'AttachExpressConnectRouterChildInstance' => [
- 'summary' => 'Associates a virtual border router (VBR) with an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'CreateFlowLog' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197608',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectNHSYB7',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeCode' => '253947',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-a5xqrgbeidz1w8****',
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'ChildInstanceId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The VBR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****',
- ],
+ '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' => 'ChildInstanceType',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Set the value to **VBR**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
+ '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' => 'ChildInstanceRegionId',
+ 'name' => 'FlowLogName',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the VBR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'ChildInstanceOwnerId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n"
- ."\n"
- .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '190550144868****',
- ],
+ 'name' => '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' => 'DryRun',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'name' => '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' => 'ClientToken',
- 'in' => 'formData',
+ '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' => [
- '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"
+ '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"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
+ .'You can add up to 20 tags.',
'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Description',
+ 'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The description of the sub-instance. It must be 0 to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ '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<AttachChildInstanceResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<CreateAssociationResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.EcrAssociation',
- 'errorMessage' => 'Ecr Association Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'OperationDenied.CrossAccountDisassociating',
- 'errorMessage' => 'Unbind cross-account.',
- ],
- [
- 'errorCode' => 'OperationDenied.EcrAttachmentExisted',
- 'errorMessage' => 'Ecr and TR have been linked.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrDoesNotSupportMpbgp',
- 'errorMessage' => 'The VBR does not support Mpbgp configuration.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'Conflict.ASNOfVBR',
- 'errorMessage' => 'ASN already used by other VBR.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus',
- 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus',
- 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrAlreadyAttachedToCen',
- 'errorMessage' => 'VBR has already attached to CEN.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrAlreadyAttachedToEcr',
- 'errorMessage' => 'VBR has already attached to ECR.',
- ],
- [
- 'errorCode' => 'ResourceAlreadyExist.ChildInstanceId',
- 'errorMessage' => 'The specified resource of ChildInstanceId already exists.',
- ],
- [
- 'errorCode' => 'UnsupportedFeature.JumboFrame',
- 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.',
- ],
- [
- 'errorCode' => 'InternalErrorTemp',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.EcrId',
- 'errorMessage' => 'EcrId not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.AssociationId',
- 'errorMessage' => 'EcrAssociationId not found.',
+ ],
+ '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' => '*'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'AttachExpressConnectRouterChildInstance',
- 'description' => 'Before you call the **AttachExpressConnectRouterChildInstance** operation to associate a VBR with an ECR, make sure that the ECR is in the **Active** state.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"FlowLogId\\": \\"ecr-flog-m5evbtbpt****\\"\\n}","type":"json"}]',
],
- 'DetachExpressConnectRouterChildInstance' => [
- 'summary' => 'Disassociates a virtual border router (VBR) from an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DeactivateFlowLog' => [
+ 'summary' => 'Deactivates log delivery for a flow log.',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197609',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '254021',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'ChildInstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The VBR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****',
- ],
+ 'schema' => ['description' => 'The ID of Express Connect Router (ECR).', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'ChildInstanceType',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Set the value to **VBR**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
+ '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' => 'DryRun',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => 'ClientToken',
+ 'name' => 'FlowLogId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n",
- ],
+ 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-flog-m5evbtbpt****'."\n"],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<DetachChildInstanceResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<CreateAssociationResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.EcrAssociation',
- 'errorMessage' => 'Ecr Association Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'OperationDenied.CrossAccountDisassociating',
- 'errorMessage' => 'Unbind cross-account.',
- ],
- [
- 'errorCode' => 'OperationDenied.EcrAttachmentExisted',
- 'errorMessage' => 'Ecr and TR have been linked.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrHasRouteEntryInMiddleStatus',
- 'errorMessage' => 'The operation is not allowed because of VBR has route entry in middle status.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrHasBgpGroupInMiddleStatus',
- 'errorMessage' => 'The operation is not allowed because of VBR has BGP group in middle status.',
- ],
- [
- 'errorCode' => 'OperationDenied.VbrUsedInVbrHa',
- 'errorMessage' => 'The border router has been used by the switching group and cannot be bound to the leased line gateway.',
- ],
- [
- 'errorCode' => 'ResourceInUse.HaVbrGroup',
- 'errorMessage' => 'The specified resource of %s is in use.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.EcrId',
- 'errorMessage' => 'EcrId not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.AssociationId',
- 'errorMessage' => 'EcrAssociationId not found.',
- ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeactivateFlowLog',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactivateFlowLog'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DeactivateFlowLog',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '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\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'DetachExpressConnectRouterChildInstance',
- 'description' => 'Before you call the **DetachExpressConnectRouterChildInstance** operation to uninstall a VBR from an ECR, make sure that the ECR is in the **Active** state.'."\n",
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
],
- 'DescribeExpressConnectRouterChildInstance' => [
- 'summary' => 'Queries the virtual border routers (VBRs) that are associated with an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DeleteExpressConnectRouter' => [
+ 'summary' => 'Deletes an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199361',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectNHSYB7',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeCode' => '197616',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'AssociationId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the association between the ECR and the virtual private cloud (VPC) or transit router (TR).',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n",
- ],
- ],
- [
- 'name' => 'ChildInstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the network instance to be queried.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****',
- ],
- ],
- [
- 'name' => 'ChildInstanceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of network instance. Set the value to VBR.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VBR',
- ],
- ],
- [
- 'name' => 'ChildInstanceRegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the network instance.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If NextToken is empty, no next page exists.'."\n"
- .'* If a value of NextToken is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<DescribeChildInstanceResponse>',
- 'description' => 'The response parameters.',
+ 'title' => 'RpcResponse<DeleteEcrResponse>',
+ 'description' => 'The response data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.',
- 'type' => 'string',
- 'example' => '05130E79-588D-5C40-A718-C4863A59****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.',
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.',
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'TotalCount' => [
- 'description' => 'The total number of associated resources.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****',
- ],
- 'ChildInstanceList' => [
- 'description' => 'The VBRs.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The VBRs.',
- 'type' => 'object',
- 'properties' => [
- 'EcrId' => [
- 'title' => '专线网关实例ID。',
- 'description' => 'The ECR ID.',
- 'type' => 'string',
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- 'AssociationId' => [
- 'description' => 'The ID of the association between the ECR and the VPC or TR.',
- 'type' => 'string',
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the VBR.',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'OwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the VBR.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '167509154715****',
- ],
- 'GmtCreate' => [
- 'description' => 'The time when the association was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.',
- 'type' => 'string',
- 'example' => '2024-01-09T12:18:23Z',
- ],
- 'GmtModified' => [
- 'description' => 'The time when the association was modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.',
- 'type' => 'string',
- 'example' => '2024-01-09T12:18:23Z',
- ],
- 'Status' => [
- 'description' => 'The deployment state of the associated resource. Valid values:'."\n"
- ."\n"
- .'- **CREATING**: The resource is being created.'."\n"
- .'- **ACTIVE**: The resource is created.'."\n"
- .'- **ASSOCIATING**: The resource is being associated.'."\n"
- .'- **DISSOCIATING**: The resource is being disassociated.'."\n"
- .'- **UPDATING**: The resource is being modified.'."\n"
- .'- **DELETING**: The resource is being deleted.',
- 'type' => 'string',
- 'example' => 'ACTIVE',
- ],
- 'ChildInstanceId' => [
- 'description' => 'The VBR ID.',
- 'type' => 'string',
- 'example' => 'vbr-gw8vjq2zjux3ifsc9****',
- ],
- 'ChildInstanceType' => [
- 'description' => 'The type of the VBR. The value is **VBR**.',
- 'type' => 'string',
- 'example' => 'VBR',
- ],
- 'ChildInstanceRegionId' => [
- 'description' => 'The region ID of the VBR.',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'ChildInstanceOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the VBR.',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '112101171212****',
- ],
- 'Description' => [
- 'description' => 'The description of the ECR.'."\n",
- 'type' => 'string',
- 'example' => 'test ',
- ],
- ],
- ],
- ],
+ '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' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"ChildInstanceList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"ChildInstanceId\\": \\"vbr-gw8vjq2zjux3ifsc9****\\",\\n \\"ChildInstanceType\\": \\"VBR\\",\\n \\"ChildInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"ChildInstanceOwnerId\\": 0,\\n \\"Description\\": \\"test \\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeExpressConnectRouterChildInstance',
+ '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"}]',
],
- 'DescribeInstanceGrantedToExpressConnectRouter' => [
- 'summary' => 'Queries the network instances whose permissions are granted to an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199352',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '197605',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'InstanceRegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****',
- ],
- ],
- [
- 'name' => 'InstanceOwnerId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '129845258050****',
- ],
- ],
- [
- 'name' => 'InstanceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VBR**'."\n"
- .'* **VPC**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VBR',
- ],
+ 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'NextToken',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'gAAAAABkyGzFbZR2NnxnyVk0EiL7F3qMBtBim8Es0mugRT3qb8yEHAMaHGanzuaHUmiEq9QRmok0RgxJAINBOJZa5KPjopEu_Q==',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '6',
- ],
- ],
- [
- 'name' => 'TagModels',
+ 'name' => 'AssociationId',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'TagKey' => [
- 'description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n"
- ."\n"
- .'The tag key can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'key',
- ],
- 'TagValue' => [
- 'description' => 'The tag value. You can specify up to 20 tag values. The tag value cannot be an empty string.'."\n"
- ."\n"
- .'The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'value'."\n",
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 100,
- ],
+ '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' => 'ResourceGroupId',
+ 'name' => 'DeleteAttachment',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the network instance belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aek2tsvbnfe****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n",
- ],
- ],
- [
- 'name' => 'CallerType',
- 'in' => 'formData',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- 'description' => 'The type of the user account. Valid values:'."\n"
- ."\n"
- .'* **sub**: a Resource Access Management (RAM) user.'."\n"
- .'* **parent**: an Alibaba Cloud account.'."\n",
- 'example' => 'OTHER',
- ],
+ '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<DescribeInstanceGrantedToEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DeleteAssociationResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.Name'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of Name **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'TotalCount' => [
- 'description' => 'The total number of network instances whose permissions are granted to the ECR.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==',
- ],
- 'EcrGrantedInstanceList' => [
- 'description' => 'The network instances whose permissions are granted to the ECR.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'GrantId' => [
- 'description' => 'The authorization ID.'."\n",
- 'type' => 'string',
- 'example' => 'gr-8gdelo13mi99g1****',
- ],
- 'Status' => [
- 'description' => 'The state of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'GmtCreate' => [
- 'description' => 'The time when the network instance was created.'."\n",
- 'type' => 'string',
- 'example' => '1669023139000',
- ],
- 'GmtModified' => [
- 'description' => 'The time when the network instance was modified.'."\n",
- 'type' => 'string',
- 'example' => '1669023139000',
- ],
- 'EcrId' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- 'NodeId' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n",
- ],
- 'NodeType' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VBR**'."\n"
- .'* **VPC**'."\n",
- 'type' => 'string',
- 'example' => 'VBR',
- ],
- 'NodeRegionId' => [
- 'description' => 'The region ID of the network instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'NodeOwnerUid' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the network instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '129845258050****'."\n",
- ],
- 'NodeOwnerBid' => [
- 'description' => 'The ID of the Alibaba Cloud enterprise account that owns the network instance.'."\n",
- 'type' => 'string',
- 'example' => '26842',
- ],
- 'EcrOwnerAliUid' => [
- 'type' => 'string',
- 'description' => 'The ID of the Alibaba Cloud account that owns the ECR to which you want to grant permissions.'."\n",
- 'example' => '1456408190545060',
- ],
- ],
- ],
- ],
+ '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' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 10,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFlMqGuJ10uN3l+FX/cBrGDNXUOUifNeOuAJlT4dc3vsWD6DsNSFAC2FtpeH5QOSG2WFdyRoun7gSLCm5o69YnAQ==\\",\\n \\"EcrGrantedInstanceList\\": [\\n {\\n \\"GrantId\\": \\"gr-8gdelo13mi99g1****\\",\\n \\"Status\\": \\"Active\\",\\n \\"GmtCreate\\": \\"1669023139000\\",\\n \\"GmtModified\\": \\"1669023139000\\",\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"NodeId\\": \\"vbr-j6cwxhgg0s5nuephp****\\\\n\\",\\n \\"NodeType\\": \\"VBR\\",\\n \\"NodeRegionId\\": \\"cn-hangzhou\\",\\n \\"NodeOwnerUid\\": 0,\\n \\"NodeOwnerBid\\": \\"26842****\\",\\n \\"EcrOwnerAliUid\\": \\"229845258050****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeInstanceGrantedToExpressConnectRouter',
- ],
- 'RevokeInstanceFromExpressConnectRouter' => [
- 'summary' => 'Revokes permissions on a virtual private cloud (VPC) or a virtual border router (VBR) from an Express Connect router (ECR) owned by another account.',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteExpressConnectRouterAssociation',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteExpressConnectRouterAssociation'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DeleteExpressConnectRouterAssociation',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
+ ],
+ 'DeleteFlowlog' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -2323,342 +1371,195 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197623',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '253978',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'EcrOwnerAliUid',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the ECR from which you want to revoke permissions.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '121012345612****'."\n",
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****',
- ],
- ],
- [
- 'name' => 'InstanceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VBR**'."\n"
- .'* **VPC**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
- ],
- [
- 'name' => 'InstanceRegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n",
- ],
+ '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<RevokeInstanceFromEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<CreateAssociationResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'RevokeInstanceFromExpressConnectRouter',
- ],
- 'GrantInstanceToExpressConnectRouter' => [
- 'summary' => 'Grants permissions on a virtual private cloud (VPC) or a virtual border router (VBR) to an Express Connect router (ECR) of another account.',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DeleteFlowlog',
+ 'summary' => 'Deletes a flow log.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DeleteFlowlog',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197607',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '199356',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectU328UX'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'EcrOwnerAliUid',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the ECR to which you want to grant permissions.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '121012345612****',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n",
- ],
+ 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'InstanceType',
+ 'name' => 'NextToken',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VBR**'."\n"
- .'* **VPC**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
+ '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' => 'InstanceRegionId',
+ 'name' => 'MaxResults',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the network instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****'."\n",
- ],
+ '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<GrantInstanceToEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DescribeEcrDisabledRouteResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
+ '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' => '',
],
],
],
@@ -2666,288 +1567,200 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam.EcrOwnerAliUid',
- 'errorMessage' => 'The Ecr instance account parameter is invalid.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'IllegalParam.InstanceOwnerId',
- 'errorMessage' => 'Specified parameter InstanceOwnerId is not valid.',
- ],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'GrantInstanceToExpressConnectRouter',
- 'description' => 'When you associate a network instance of another account with an ECR, you must grant permissions on the network instance to the ECR.'."\n",
+ '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"}]',
],
- 'CreateExpressConnectRouterAssociation' => [
- 'summary' => 'Associates a virtual private cloud (VPC) or a transit router (TR) with an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DescribeExpressConnectRouter' => [
+ 'summary' => 'Queries a list of Express Connect Router (ECR) instances.',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197620',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- ],
- 'autoTest' => true,
- 'tenantRelevance' => 'tenant',
+ 'abilityTreeCode' => '199357',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'AssociationRegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the resource to be associated.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'TransitRouterOwnerId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the TR. Default value: ID of the Alibaba Cloud account that logs in.'."\n"
- ."\n"
- .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '189159362009****',
- ],
- ],
- [
- 'name' => 'TransitRouterId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The TR ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-2ze4i71c6be454e2l****',
- ],
+ 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'],
],
[
- 'name' => 'CenId',
+ 'name' => 'Name',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-of3o1the3i4gwb****',
- ],
+ 'schema' => ['description' => 'The name of ECR. The name must be 0 to 128 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'test'],
],
[
- 'name' => 'VpcOwnerId',
+ 'name' => 'NextToken',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the VPC. Default value: ID of the Alibaba Cloud account that logs in.'."\n"
- ."\n"
- .'> If you want to connect to a network instance that belongs to a different account, this parameter is required.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '132193271328****',
- ],
+ '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' => 'VpcId',
+ 'name' => 'MaxResults',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The VPC ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1h37fchc6jmfyln****',
- ],
+ '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' => 'AllowedPrefixes',
+ 'name' => 'Tag',
'in' => 'formData',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The allowed route prefixes.'."\n",
+ 'description' => 'The list of tags to filter results. You can specify up to 20 tags.',
'type' => 'array',
'items' => [
- 'description' => 'The allowed route prefix.'."\n",
- 'type' => 'string',
+ '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,
- 'example' => '192.0.20.0/28',
+ 'title' => '',
],
'required' => false,
- 'maxItems' => 10000,
+ 'maxItems' => 20,
+ 'title' => '',
],
],
[
- 'name' => 'CreateAttachment',
+ 'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to initiate an association on the TR when the ECR is associated with the TR. Valid values:'."\n"
- ."\n"
- .'* **true**: You do not need to initiate an association on the TR.'."\n"
- .'* **false**: You need to initiate an association on the TR.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n",
- ],
- ],
- [
- 'name' => 'AllowedPrefixesMode',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The route prefix mode. Valid values:'."\n"
- ."\n"
- .'- **MatchMode**: After you distribute new route CIDR blocks to data centers, original specific routes that are distributed are withdrawn.'."\n"
- ."\n"
- .'- **IncrementalMode**: After you distribute new route CIDR blocks to data centers, the original specific routes that fall in the CIDR blocks that you configure are withdrawn, and the original specific routes that do not fall in the CIDR blocks are still distributed.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MatchMode',
- ],
- ],
- [
- 'name' => 'Description',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The information about the associated resource. It must be 0 to 128 characters in length.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ '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<CreateAssociationResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DescribeEcrResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '05130E79-588D-5C40-A718-C4863A59****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'AssociationId' => [
- 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****',
+ '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' => '',
],
],
],
@@ -2955,348 +1768,185 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.VpcCountPerEcr',
- 'errorMessage' => 'The number of VPC bound to the ECR exceeds the quota.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.TrCountPerEcr',
- 'errorMessage' => 'The number of TR bound to the ECR exceeds the quota.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.AllowedPrefixes',
- 'errorMessage' => 'The prefix parameter format is invalid. Procedure.',
- ],
- [
- 'errorCode' => 'OperationDenied.NotGrantedByNodeOwner',
- 'errorMessage' => 'The node owner is not authorized.',
- ],
- [
- 'errorCode' => 'OperationFailed.CdtNotOpened',
- 'errorMessage' => 'The Cdt function is disabled.',
- ],
- [
- 'errorCode' => 'OperationFailed.CdtCrossBoarderNotOpened',
- 'errorMessage' => 'The Cdt cross-border transmission function is disabled.',
- ],
- [
- 'errorCode' => 'OperationFailed.CrossBorderNotAllowed',
- 'errorMessage' => 'There is no qualification for creating cross-border links.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.CenId',
- 'errorMessage' => 'CenId not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.TrId',
- 'errorMessage' => 'TRId not found.',
- ],
- [
- 'errorCode' => 'Conflict.ASNOfVBR',
- 'errorMessage' => 'ASN already used by other VBR.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.CenId',
- 'errorMessage' => 'The format of the entered Cen instance ID is incorrect.',
- ],
- [
- 'errorCode' => 'OperationDenied.CrossBidAssociating',
- 'errorMessage' => 'Cross-border binding of resources is subject to compliance constraints.',
- ],
- [
- 'errorCode' => 'ExclusiveParam.TransitRouterIdAndVpcId',
- 'errorMessage' => 'A private network instance cannot be bound to a forwarding router instance at the same time.',
- ],
- [
- 'errorCode' => 'IllegalParamSize.AllowedPrefixes',
- 'errorMessage' => 'The number of prefix routes exceeded the quota.',
- ],
- [
- 'errorCode' => 'OperationDenied.CrossAccountAttaching',
- 'errorMessage' => 'If the forwarding router is bound to another account, perform this operation on the same account.',
- ],
- [
- 'errorCode' => 'OperationDenied.AttachmentInCurrentRegionExisted',
- 'errorMessage' => 'Only one forwarding router can be bound to an area.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'OperationFailed.CallingVpcYaochi',
- 'errorMessage' => 'The system is abnormal. Please try again later.',
- ],
- [
- 'errorCode' => 'ResourceAlreadyExist.TransitRouterId',
- 'errorMessage' => 'The specified resource of transit router already exists.',
- ],
- [
- 'errorCode' => 'ResourceAlreadyExist.VpcId',
- 'errorMessage' => 'The specified resource of VpcId already exists.',
- ],
- [
- 'errorCode' => 'Conflict.AllowedPrefixes',
- 'errorMessage' => 'The allowed route prefixes [%s] is conflict.',
- ],
- [
- 'errorCode' => 'UnsupportedFeature.JumboFrame',
- 'errorMessage' => 'The region where the sub-instance is located does not support the jumbo frame feature and cannot be attached to the express connect router.',
- ],
- [
- 'errorCode' => 'InternalErrorTemp',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'IllegalParamFormat.%s', 'errorMessage' => 'The param format of %s is illegal.', 'description' => 'Illegal parameter format'],
+ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => 'Illegal parameter'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.EcrId',
- 'errorMessage' => 'EcrId not found.',
- ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeExpressConnectRouter',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouter'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DescribeExpressConnectRouter',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\"\\n}","type":"json"}]',
- 'title' => 'CreateExpressConnectRouterAssociation',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==\\",\\n \\"EcrList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2023-02-16T01:44:50Z\\\\n\\",\\n \\"GmtModified\\": \\"2023-02-16T01:44:50Z\\",\\n \\"Status\\": \\"Active\\",\\n \\"BizStatus\\": \\"Normal\\",\\n \\"ResourceGroupId\\": \\"rg-aekzuscospt****\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"test\\"\\n }\\n ],\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"AlibabaSideAsn\\": 45104\\n }\\n ]\\n}","type":"json"}]',
],
- 'DeleteExpressConnectRouterAssociation' => [
- 'summary' => 'Disassociates an Express Connect router (ECR) from a virtual private cloud (VPC) or a transit router (TR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'DescribeExpressConnectRouterAllowedPrefixHistory' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197605',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- ],
+ 'abilityTreeCode' => '199365',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectDQ6AHD'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'AssociationId',
+ 'name' => 'InstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****',
- ],
+ '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' => 'DeleteAttachment',
+ 'name' => 'InstanceType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to delete the association between the ECR and the VPC or TR. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<DeleteAssociationResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DescribeEcrAllowedPrefixHistoryResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '05130E79-588D-5C40-A718-C4863A59****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
+ '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' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.EcrAssociation',
- 'errorMessage' => 'Ecr Association Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'OperationDenied.CrossAccountDisassociating',
- 'errorMessage' => 'Unbind cross-account.',
- ],
- [
- 'errorCode' => 'OperationDenied.EcrAttachmentExisted',
- 'errorMessage' => 'Ecr and TR have been linked.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'OperationFailed.UsedInRouteEntryNextHop',
- 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.',
- ],
- [
- 'errorCode' => 'OperationFailed.CallingVpcYaochi',
- 'errorMessage' => 'The system is abnormal. Please try again later.',
- ],
+ ['errorCode' => 'ResourceNotFound.InstanceId', 'errorMessage' => 'The instance id does not exist.', 'description' => '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.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.AssociationId',
- 'errorMessage' => 'EcrAssociationId not found.',
- ],
+ ['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',
+ '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\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'DeleteExpressConnectRouterAssociation',
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AllowedPrefixHistoryList\\": [\\n {\\n \\"AllowedPrefix\\": [\\n \\"10.0.**.**/1\\"\\n ],\\n \\"GmtCreate\\": \\"1673751163000\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribeExpressConnectRouterAssociation' => [
- 'summary' => 'Queries the virtual private clouds (VPCs) and transit routers (TRs) associated with an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -3309,722 +1959,555 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '199364',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ '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 ECR and the VPC or TR.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****',
- ],
+ '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 VPC or TR.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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**'."\n"
- .'* **TR**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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 VPC ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp1h37fchc6jmfyln****',
- ],
+ 'schema' => ['description' => 'The ID of the VPC instance.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h37fchc6jmfyln****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The TR ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tr-2ze4i71c6be454e2l****',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cen-of3o1the3i4gwb****',
- ],
+ '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 pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****',
- ],
+ '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 read. Valid values: 1 to 2147483647. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
+ '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' => 'RpcResponse<DescribeAssociationResponse>',
- 'description' => 'RpcResponse'."\n",
+ 'title' => '',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '05130E79-588D-5C40-A718-C4863A59****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of DynamicMessage is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of associated resources.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****'."\n",
- ],
+ '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 associated resources.'."\n",
+ 'description' => 'The list of associations.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'AssociationId' => [
- 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n",
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the resource.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'OwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the resource.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '167509154715****',
- ],
- 'GmtCreate' => [
- 'description' => 'The time when the association was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2024-01-09T12:18:23Z',
- ],
- 'GmtModified' => [
- 'description' => 'The time when the association was modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2024-01-09T12:18:23Z',
- ],
- 'Status' => [
- 'description' => 'The deployment state of the associated resource. Valid values:'."\n"
- ."\n"
- .'* **CREATING**: The resource is being created.'."\n"
- .'* **ACTIVE**: The resource is created.'."\n"
- .'* **INACTIVE**: The TR is pending to be associated with the ECR.'."\n"
- .'* **ASSOCIATING**: The resource is being associated.'."\n"
- .'* **DISSOCIATING**: The resource is being disassociated.'."\n"
- .'* **UPDATING**: The resource is being modified.'."\n"
- .'* **DELETING**: The resource is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'ACTIVE',
- ],
- 'AssociationNodeType' => [
- 'description' => 'The type of the associated resource. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **TR**'."\n",
- 'type' => 'string',
- 'example' => 'VPC',
- ],
- 'TransitRouterOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the TR.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '189159362009****'."\n",
- ],
- 'TransitRouterId' => [
- 'description' => 'The TR ID.'."\n",
- 'type' => 'string',
- 'example' => 'tr-2ze4i71c6be454e2l****'."\n",
- ],
- 'CenId' => [
- 'description' => 'The ID of the CEN instance.'."\n",
- 'type' => 'string',
- 'example' => 'cen-5510frtx8zi54q****',
- ],
- 'VpcOwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account to which the VPC belongs.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '146757288406****',
- ],
- 'VpcId' => [
- 'description' => 'The VPC ID.'."\n",
- 'type' => 'string',
- 'example' => 'vpc-2zeeaxet4i2j1a7n7****',
- ],
+ '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 allowed route prefixes.'."\n",
+ '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' => [
- 'description' => 'The route prefix.'."\n",
- 'type' => 'string',
- 'example' => '192.0.20.0/28',
+ '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' => '',
],
- 'EcrId' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
- 'AllowedPrefixesMode' => [
- 'description' => 'The prefix route mode. Valid values:'."\n"
- ."\n"
- .'* MatchMode'."\n"
- .'* IncrementalMode'."\n",
- 'type' => 'string',
- 'example' => 'MatchMode',
- ],
- 'Description' => [
- 'description' => 'The description of the associated resource.'."\n",
- 'type' => 'string',
- 'example' => 'test ',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\\\n\\",\\n \\"AssociationList\\": [\\n {\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\\\n\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"AssociationNodeType\\": \\"VPC\\",\\n \\"TransitRouterOwnerId\\": 0,\\n \\"TransitRouterId\\": \\"tr-2ze4i71c6be454e2l****\\\\n\\",\\n \\"CenId\\": \\"cen-5510frtx8zi54q****\\",\\n \\"VpcOwnerId\\": 0,\\n \\"VpcId\\": \\"vpc-2zeeaxet4i2j1a7n7****\\",\\n \\"AllowedPrefixes\\": [\\n \\"192.0.**.**/28\\"\\n ],\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\",\\n \\"AllowedPrefixesMode\\": \\"MatchMode\\",\\n \\"Description\\": \\"test \\"\\n }\\n ]\\n}","type":"json"}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeExpressConnectRouterAssociation',
- ],
- 'DisableExpressConnectRouterRouteEntries' => [
- 'summary' => 'Disables route entries of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197618',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectU328UX',
- ],
+ 'abilityTreeCode' => '199361',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''],
],
[
- 'name' => 'DestinationCidrBlock',
+ 'name' => 'AssociationId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route entry in the route table of the ECR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '10.153.32.16/28',
- ],
+ 'schema' => ['description' => 'The association ID between the Express Connect Router and the VBR.', 'type' => 'string', 'required' => false, 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n", 'title' => ''],
],
[
- 'name' => 'NexthopInstanceId',
+ 'name' => 'ChildInstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the next-hop instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-hp3u4u5f03tfuljis****',
- ],
+ '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, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==',
- ],
+ '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' => 'RpcResponse<DisableEcrRouteResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
+ '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' => 'ResourceNotFound.NexthopInstanceId',
- 'errorMessage' => 'The next hop instance does not exist.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.DestinationCidrBlock',
- 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'ResourceInCreating.NexthopInstanceId',
- 'errorMessage' => 'The next hop instance is being created.',
- ],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'DisableExpressConnectRouterRouteEntries',
- ],
- 'EnableExpressConnectRouterRouteEntries' => [
- 'summary' => 'Enables route entries of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeExpressConnectRouterChildInstance',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterChildInstance'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterChildInstance',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"ChildInstanceList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"AssociationId\\": \\"ecr-assoc-9p2qxx5phpca2m****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2024-01-09T12:18:23Z\\",\\n \\"GmtModified\\": \\"2024-01-09T12:18:23Z\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"ChildInstanceId\\": \\"vbr-gw8vjq2zjux3ifsc9****\\",\\n \\"ChildInstanceType\\": \\"VBR\\",\\n \\"ChildInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"ChildInstanceOwnerId\\": 0,\\n \\"Description\\": \\"test \\",\\n \\"ChildInstanceName\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'DescribeExpressConnectRouterInterRegionTransitMode' => [
+ 'summary' => 'Queries the inter-region transit mode of an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197610',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect9IGKFS',
- ],
+ 'abilityTreeCode' => '199363',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectLCKWNS', 'FEATUREexpressconnect2V07Q4'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'DestinationCidrBlock',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The destination CIDR block of the route entry in the route table of the ECR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => '10.153.32.16/28',
- ],
- ],
- [
- 'name' => 'NexthopInstanceId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the next-hop instance.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tr-hp3u4u5f03tfuljis****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg=='."\n",
- ],
+ '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<EnableEcrRouteResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
+ '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' => 'ResourceNotFound.NexthopInstanceId',
- 'errorMessage' => 'The next hop instance does not exist.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.DestinationCidrBlock',
- 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'ResourceInCreating.NexthopInstanceId',
- 'errorMessage' => 'The next hop instance is being created.',
- ],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'EnableExpressConnectRouterRouteEntries',
- ],
- 'DescribeDisabledExpressConnectRouterRouteEntries' => [
- 'summary' => 'Queries the route entries that are disabled on an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeExpressConnectRouterInterRegionTransitMode',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterInterRegionTransitMode'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DescribeExpressConnectRouterInterRegionTransitMode',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"InterRegionTransitModeList\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Mode\\": \\"ECMP\\"\\n }\\n ]\\n}","type":"json"}]',
+ ],
+ 'DescribeExpressConnectRouterRegion' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4036,180 +2519,58 @@
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199356',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectU328UX',
- ],
+ 'abilityTreeCode' => '199494',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFv4fzkNPW8Z+cZ+DBXXQ3Gmf3XlCgpBH43oaTYTAAcGc708Zb+pDyAGVJBo/MKsyrtZfPnX9Ztf02vgdIDyaNe8UuZdf/JJk069qxGKzqSKg=',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 10.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ '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, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==',
- ],
+ '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<DescribeEcrDisabledRouteResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DescribeEcrRegionResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether routes are disabled by the ECR. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsInstanceId**, the request parameter **DtsInstanceId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of routes.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 10.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If NextToken is empty, no next page exists.'."\n"
- .'* If a value of NextToken is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==',
- ],
- 'DisabledRouteEntryList' => [
- 'description' => 'The routes that are queried.'."\n",
+ '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' => [
- 'type' => 'object',
- 'properties' => [
- 'EcrId' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-mezk2idmsd0vx2****'."\n",
- ],
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'example' => '192.168.100.110/32',
- ],
- 'NexthopInstanceId' => [
- 'description' => 'The ID of the next-hop instance.'."\n",
- 'type' => 'string',
- 'example' => 'br-hp3u4u5f03tfuljis****'."\n",
- ],
- 'NexthopInstanceRegionId' => [
- 'description' => 'The region ID of the next-hop instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'GmtCreate' => [
- 'description' => 'The time when the route entry was created.'."\n",
- 'type' => 'string',
- 'example' => '1682317345',
- ],
- ],
- ],
+ 'items' => ['description' => 'The region that contains sub-resources.', 'type' => 'string', 'title' => '', 'example' => '[\\"cn-shanghai\\"]'],
+ 'title' => '',
],
],
],
@@ -4217,40 +2578,41 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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 \\"TotalCount\\": 2,\\n \\"MaxResults\\": 6,\\n \\"NextToken\\": \\"gAAAAABkDTaRFnmxUoMLVOn8YTIgYFeL2ch8j0sJs8VCIU8SS5438m3D9X1VqspCcaUEHRN9I_AfVwMhZHAhcNivifK_OtQxJQ==\\",\\n \\"DisabledRouteEntryList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\\\n\\",\\n \\"DestinationCidrBlock\\": \\"192.168.100.110/32\\",\\n \\"NexthopInstanceId\\": \\"br-hp3u4u5f03tfuljis****\\\\n\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"GmtCreate\\": \\"1682317345\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeDisabledExpressConnectRouterRouteEntries',
+ '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' => 'Queries the route entries of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'summary' => 'Describes the route entries of an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -4263,245 +2625,118 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '199353',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect9IGKFS',
- ],
+ 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ 'schema' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
'name' => 'QueryRegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The region ID of the ECR.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '172.20.47.0/24',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'br-hp3u4u5f03tfuljis****',
- ],
+ 'schema' => ['description' => 'The ID of the next hop instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vbr-hp3u4u5f03tfuljis****'],
],
[
'name' => 'AsPath',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The Autonomous System (AS) path of the route.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '[64993,64512]',
- ],
+ '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 that is carried in the Border Gateway Protocol (BGP) route.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '9001:9263',
- ],
+ '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 pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==',
- ],
+ '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 read. Valid values: 1 to 2147483647. Default value: 10.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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 **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<DescribeEcrRouteResponse>',
- 'description' => 'RpcResponse'."\n",
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'TotalCount' => [
- 'description' => 'The total number of route entries.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 10'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '6',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA==',
- ],
+ '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 routes.'."\n",
+ 'description' => 'The list of routes.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'DestinationCidrBlock' => [
- 'description' => 'The destination CIDR block of the route.'."\n",
- 'type' => 'string',
- 'example' => '192.168.0.0/16',
- ],
- 'Status' => [
- 'description' => 'The state of the ECR.'."\n",
- 'type' => 'string',
- 'example' => 'ACTIVE',
- ],
- 'NexthopInstanceId' => [
- 'description' => 'The ID of the next-hop instance.'."\n",
- 'type' => 'string',
- 'example' => 'br-hp3u4u5f03tfuljis****'."\n",
- ],
- 'NexthopInstanceRegionId' => [
- 'description' => 'The region ID of the next-hop instance.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'AsPath' => [
- 'description' => 'The AS path of the route.'."\n",
- 'type' => 'string',
- 'example' => '[64993,64512]',
- ],
- 'Community' => [
- 'description' => 'The community value that is carried in the BGP route.'."\n",
- 'type' => 'string',
- 'example' => '9001:9263',
- ],
- 'Med' => [
- 'description' => 'The MED value of the BGP route, which is used between the ECR and the transit router.'."\n"
- ."\n"
- .'* You can set the MED value to 2000. In this case, the transit router and the ECR are used as default paths.'."\n"
- .'* If a non-default path is used, the MED value is empty.'."\n"
- .'* You can set the MED value to 2000 only for one object associated with a transit router of a CEN instance.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2000',
- ],
+ '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' => '',
],
],
],
@@ -4509,175 +2744,315 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParamFormat.DestinationCidrBlock',
- 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'IllegalParamFormat.DestinationCidrBlock', 'errorMessage' => 'The format of the specified destination Cidr route parameter is incorrect.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"gAAAAABkWwFTUMNCdWC0VMYOIylA56Hx6JUfCZlk5hQ5g_fnKmetN6303tqq5UJ2ouJzyT2fDOdzb-NqyEB5jcY8Z2euX7qHDA==\\",\\n \\"RouteEntriesList\\": [\\n {\\n \\"DestinationCidrBlock\\": \\"192.168.0.**/**\\",\\n \\"Status\\": \\"ACTIVE\\",\\n \\"NexthopInstanceId\\": \\"vbr-hp3u4u5f03tfuljis****\\",\\n \\"NexthopInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"AsPath\\": \\"[64993,64512]\\",\\n \\"Community\\": \\"9001:9263\\",\\n \\"Med\\": 2000\\n }\\n ]\\n}","type":"json"}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeExpressConnectRouterRouteEntries',
- ],
- 'MoveResourceGroup' => [
- 'summary' => 'Modifies the resource group to which an Express Connect router (ECR) belongs.',
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeExpressConnectRouterRouteEntries'],
+ ],
],
- 'schemes' => [
- 'https',
+ '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' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '200712',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectJZV4YI',
- ],
+ 'abilityTreeCode' => '253981',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'],
],
'parameters' => [
[
- 'name' => 'NewResourceGroupId',
+ 'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the new resource group. For more information about resource groups, see the "Resource Group" section of the [What is Resource Management?](~~94475~~) topic.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-acfmvt3xpr5****',
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-a5xqrgbeidz1w8****'],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The resource type. Set the value to EXPRESSCONNECTROUTER.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'EXPRESSCONNECTROUTER',
- ],
+ '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' => 'ResourceId',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-897j0jooxyr1aq****',
- ],
+ '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' => 'DryRun',
- 'in' => 'formData',
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
+ '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"
- .'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n",
- 'type' => 'boolean',
+ .'You can specify up to 20 tags.',
'required' => false,
- 'example' => 'false',
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ClientToken',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<BaseResult>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<CreateAssociationResponse>',
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
+ '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' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
+ ['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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]',
- 'title' => 'MoveResourceGroup',
- ],
- 'ListTagResources' => [
- 'summary' => 'Queries a list of tags that are added to an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DescribeFlowLogs',
+ 'summary' => 'Queries flow logs.',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowLogs'],
+ ],
],
- 'schemes' => [
- 'https',
+ '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' => [],
@@ -4686,206 +3061,215 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '200710',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectI9TIJD',
- ],
+ 'abilityTreeCode' => '199352',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
- 'name' => 'ResourceType',
+ 'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The resource type. Set the value to EXPRESSCONNECTROUTER.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'EXPRESSCONNECTROUTER',
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'InstanceRegionId',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The ECR IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ECR ID.'."\n"
- ."\n"
- .'You can specify up to 50 ECR IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-kgzj75zpq50hqz****',
- ],
- 'required' => false,
- 'maxItems' => 100,
- ],
+ 'schema' => ['description' => 'The region where the authorized network instance is located.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'Tag',
+ '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 tag.'."\n"
- ."\n"
- .'You can specify at most 20 tags.'."\n",
+ 'description' => 'The list of tags.',
'type' => 'array',
'items' => [
- 'description' => 'The tag.'."\n",
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n"
- ."\n"
- .'You can specify up to 20 tag keys in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestKey',
- ],
- 'Value' => [
- 'description' => 'The tag value. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`. The tag value can be an empty string.'."\n"
- ."\n"
- .'You can specify up to 20 tag values in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestValue',
- ],
+ '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,
- 'enumValueTitles' => [],
- 'maxItems' => 20,
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'NextToken',
+ 'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****',
- ],
+ 'schema' => ['description' => 'The ID of the resource group to which the instance belongs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rg-aek2tsvbnfe****'],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The maximum number of entries to return for a single request. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ '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<ListEcrTagResourcesResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DescribeInstanceGrantedToEcrResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'TagResources' => [
- 'description' => 'The tags.'."\n",
+ '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' => [
- 'description' => '',
'type' => 'object',
'properties' => [
- 'ResourceId' => [
- 'description' => 'The resource ID.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-897j0jooxyr1aq****',
- ],
- 'ResourceType' => [
- 'description' => 'The resource type. The value is **EXPRESSCONNECTROUTER**.'."\n",
- 'type' => 'string',
- 'example' => 'EXPRESSCONNECTROUTER',
- ],
- 'TagKey' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'TestKey',
- ],
- 'TagValue' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'TestValue',
- ],
+ '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' => '',
],
- ],
- 'TotalCount' => [
- 'description' => 'The total number of records that meet the query conditions.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****',
- ],
- 'MaxResults' => [
- 'description' => 'The number of entries per page.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
+ 'title' => '',
+ 'example' => '',
],
],
+ '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' => 'ListTagResources',
- ],
- 'UntagResources' => [
- 'summary' => 'Removes tags from an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ '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'],
+ ],
],
- 'schemes' => [
- 'https',
+ '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' => [],
@@ -4894,389 +3278,237 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'none',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '218206',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectI9TIJD',
- ],
+ 'abilityTreeCode' => '197609',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
- 'name' => 'ResourceId',
- 'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The ECR IDs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The ECR ID. You can specify at most 50 ECR IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-897j0jooxyr1aq****',
- ],
- 'required' => true,
- 'maxItems' => 100,
- ],
- ],
- [
- 'name' => 'TagKey',
+ 'name' => 'EcrId',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The keys of the tags that you want to remove from the ECRs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The key of the tag that you want to remove from the ECRs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestKey',
- ],
- 'required' => false,
- 'maxItems' => 100,
- ],
+ 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'example' => 'ecr-mezk2idmsd0vx2****', 'title' => ''],
],
[
- 'name' => 'All',
+ 'name' => 'ChildInstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to remove all tags. This parameter is valid only when the **TagKey** parameter is not specified. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false** (default)'."\n"
- ."\n"
- .'> You must specify one of **TagKey** and **All**.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The ID of VBR.', 'type' => 'string', 'required' => true, 'example' => 'vbr-j6cwxhgg0s5nuephp****', 'title' => ''],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'ChildInstanceType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The resource type. Set the value to **EXPRESSCONNECTROUTER**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'EXPRESSCONNECTROUTER',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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 the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => ' '."\n"
- .'02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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<BaseResult>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DetachChildInstanceResponse>',
+ 'description' => 'The response body.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
+ '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' => '',
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]',
- 'title' => 'UntagResources',
- ],
- 'CreateExpressConnectRouter' => [
- 'summary' => 'Creates an Express Connect Router (ECR).',
- 'methods' => [
- 'post',
+ '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'],
+ ],
],
- 'schemes' => [
- 'https',
+ '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' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197622',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'abilityTreeCode' => '197618',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectU328UX'],
],
'parameters' => [
[
- 'name' => 'Name',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the ECR.'."\n"
- ."\n"
- .'> The name must be 0 to 128 characters in length, and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'Description',
+ 'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The description of the ECR.'."\n"
- ."\n"
- .'> The description can be empty or 0 to 256 characters in length and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
+ 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'DestinationCidrBlock',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the ECR belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfmvvajg5q****',
- ],
+ 'schema' => ['description' => 'The destination CIDR block of the route in the gateway route table.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '10.153.32.**/**'],
],
[
- 'name' => 'AlibabaSideAsn',
+ 'name' => 'NexthopInstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The autonomous system number (ASN) of the ECR. Valid values: 45104, 64512 to 65534, and 4200000000 to 4294967294. Default value: 45104. The value 65025 is reserved by Alibaba Cloud.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '45104',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00**** ',
- ],
- ],
- [
- 'name' => 'Tag',
- 'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The information about the tags.'."\n"
- ."\n"
- .'You can specify at most 20 tags in each call.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tags that you want to add to the cloud desktop.',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key. You can specify up to 20 tag keys. The tag key cannot be an empty string.'."\n"
- ."\n"
- .'The tag key can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestKey',
- ],
- 'Value' => [
- 'description' => 'The value of the tag. You can specify up to 20 tag values. The tag value can be an empty string.'."\n"
- ."\n"
- .'The tag value can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestValue',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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<CreateEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<DisableEcrRouteResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the ECR is created. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.Name',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of Name **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'EcrId' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
+ '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' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'OperationFailed.UserNotInWhiteList',
- 'errorMessage' => 'The current user is not in the whitelist.',
- ],
- [
- 'errorCode' => 'QuotaExceeded.EcrCountPerUser',
- 'errorMessage' => 'ECR Quota Exceeded.',
- ],
- [
- 'errorCode' => 'Conflict.ASNOfECR',
- 'errorMessage' => 'ASN already used by other ECR.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParam.AlibabaSideAsn',
- 'errorMessage' => 'The entered Bgp Asn is incorrect.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => '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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"EcrId\\": \\"ecr-fu8rszhgv7623c****\\"\\n}","type":"json"}]',
- 'title' => 'CreateExpressConnectRouter',
- 'description' => 'After you create an ECR, it enters the **Active** state.'."\n",
- ],
- 'DeleteExpressConnectRouter' => [
- 'summary' => 'Deletes an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'DisableExpressConnectRouterRouteEntries',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableExpressConnectRouterRouteEntries'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:DisableExpressConnectRouterRouteEntries',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
+ ],
+ 'EnableExpressConnectRouterRouteEntries' => [
+ 'summary' => 'Enables route entries for an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -5285,360 +3517,217 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197616',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '197610',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****'."\n",
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n",
- ],
+ '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<DeleteEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<EnableEcrRouteResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'ResourceInUse.Ecr',
- 'errorMessage' => 'The express connect router is currently in use.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => 'ResourceNotFound.NexthopInstanceId', 'errorMessage' => 'The next hop instance does not exist.', 'description' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'DeleteExpressConnectRouter',
- 'description' => 'Take note of the following items:'."\n"
- ."\n"
- .'* Before you call this operation, make sure that all resources are disassociated from the ECR.'."\n"
- .'* You can delete only ECRs that are in the **Active** state.'."\n",
- ],
- 'ModifyExpressConnectRouterInterRegionTransitMode' => [
- 'summary' => 'Modifies the cross-region forwarding mode of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'EnableExpressConnectRouterRouteEntries',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableExpressConnectRouterRouteEntries'],
+ ],
],
- 'schemes' => [
- 'https',
+ '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' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197619',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectLCKWNS',
- ],
+ 'abilityTreeCode' => '197612',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
- 'name' => 'EcrId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'TransitModeList',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The cross-region forwarding modes.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'RegionId' => [
- 'description' => 'The region ID of the ECR.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- 'Mode' => [
- 'description' => 'The cross-domain forwarding mode of the ECR. Valid values:'."\n"
- ."\n"
- .'* **ECMP**: the load balancing mode.'."\n"
- .'* **NearBy**: the nearby forwarding mode.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'enumValueTitles' => [
- 'ECMP' => 'ECMP',
- 'NearBy' => 'NearBy',
- ],
- 'example' => 'ECMP',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 100,
- ],
+ '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' => 'DryRun',
+ 'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'."\n"],
],
[
'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==',
- ],
+ '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<ModifyEcrTransitModeResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<ForceDeleteEcrResponse>',
+ 'description' => 'RpcResponse\\<ForceDeleteEcrResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'IllegalParam.RegionId',
- 'errorMessage' => 'Area parameter invalid.',
- ],
- [
- 'errorCode' => 'IllegalParam.TransitMode',
- 'errorMessage' => 'The transmission mode parameter is invalid.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => '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.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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 \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'ModifyExpressConnectRouterInterRegionTransitMode',
+ '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"}]',
],
- 'ModifyExpressConnectRouterAssociationAllowedPrefix' => [
- 'summary' => 'Modifies the route prefixes of a virtual private cloud (VPC) or a transit router (TR) that is associated with an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ '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' => [],
@@ -5647,391 +3736,224 @@
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197603',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectDQ6AHD',
- ],
+ 'abilityTreeCode' => '197607',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ 'schema' => ['description' => 'The ID of the associated ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'AssociationId',
+ 'name' => 'EcrOwnerAliUid',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the association between the ECR and the VPC or TR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****',
- ],
+ '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' => 'AllowedPrefixes',
+ 'name' => 'InstanceId',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The allowed route prefixes.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The route prefix.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.0.20.0/28'."\n",
- ],
- 'required' => false,
- 'maxItems' => 10000,
- ],
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\n"],
],
[
- 'name' => 'DryRun',
+ 'name' => 'InstanceType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
+ ."\n"
+ .'- **VBR**'."\n"
+ .'- **VPC**', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'VBR'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'InstanceRegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ 'schema' => ['description' => 'The region ID of the network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'AllowedPrefixesMode',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The route prefix mode.'."\n"
- ."\n"
- .'* MatchMode: After you distribute new route CIDR blocks to data centers, original specific routes that are distributed are withdrawn.'."\n"
- .'* IncrementalMode: After you distribute new route CIDR blocks to data centers, the original specific routes that fall in the CIDR blocks that you configure are withdrawn, and the original specific routes that do not fall in the CIDR blocks are still distributed.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'MatchMode',
- ],
+ '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<ModifyAssociationAllowedPrefixResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<GrantInstanceToEcrResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '05130E79-588D-5C40-A718-C4863A59****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'IncorrectStatus.EcrAssociation',
- 'errorMessage' => 'Ecr Association Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.AllowedPrefixes',
- 'errorMessage' => 'The prefix parameter format is invalid. Procedure.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParamSize.AllowedPrefixes',
- 'errorMessage' => 'The number of prefix routes exceeded the quota.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => '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.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.AssociationId',
- 'errorMessage' => 'EcrAssociationId not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
- 'title' => 'ModifyExpressConnectRouterAssociationAllowedPrefix',
- ],
- 'ModifyExpressConnectRouter' => [
- 'summary' => 'Modifies the properties such as the name of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
+ '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'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:GrantInstanceToExpressConnectRouter',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'InstanceType', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
+ ],
+ 'ListExpressConnectRouterSupportedRegion' => [
+ 'summary' => 'Queries the regions that support Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197614',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectY33HGU',
- ],
+ 'abilityTreeCode' => '213773',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
],
'parameters' => [
[
- 'name' => 'EcrId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****'."\n",
- ],
- ],
- [
- 'name' => 'Name',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the ECR.'."\n"
- ."\n"
- .'> The name must be 0 to 128 characters in length, and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test'."\n",
- ],
- ],
- [
- 'name' => 'Description',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The description of the ECR.'."\n"
- ."\n"
- .'> The description can be empty or 0 to 256 characters in length and cannot start with http:// or https://.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test'."\n",
- ],
- ],
- [
- 'name' => 'DryRun',
+ 'name' => 'NodeType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n",
- ],
+ '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<ModifyEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<ListEcrSupportedRegionResponse>',
+ 'description' => 'The returned data.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True'."\n",
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK'."\n",
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.Name'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of Name **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
+ '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' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
+ ['errorCode' => '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.',
- ],
+ ],
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ListExpressConnectRouterSupportedRegion',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListExpressConnectRouterSupportedRegion'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:ListExpressConnectRouterSupportedRegion',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'All Resource', 'arn' => '*'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\\\n\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'ModifyExpressConnectRouter',
- 'description' => 'You can modify only properties of ECRs in the **Active** state.'."\n",
+ '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"}]',
],
- 'DescribeExpressConnectRouterInterRegionTransitMode' => [
- 'summary' => 'Queries the cross-region forwarding modes of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ListTagResources' => [
+ 'summary' => 'Queries the list of tags bound to an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -6040,880 +3962,516 @@
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199363',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectLCKWNS',
- 'FEATUREexpressconnect2V07Q4',
- ],
+ 'abilityTreeCode' => '200710',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectI9TIJD'],
],
'parameters' => [
[
- 'name' => 'EcrId',
+ 'name' => 'ResourceType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ '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' => 'DryRun',
+ 'name' => 'ResourceId',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
+ 'description' => 'The list of resource instance IDs.'."\n"
."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
+ .'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,
- 'example' => 'true',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'Tag',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ 'description' => 'The tags.'."\n"
."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
+ .'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,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==',
+ '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' => 'RpcResponse<DescribeEcrRegionTransitModeResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'The query result.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'InterRegionTransitModeList' => [
- 'description' => 'The cross-region forwarding modes.'."\n",
+ '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' => [
- 'RegionId' => [
- 'description' => 'The region ID of the ECR.'."\n",
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- 'Mode' => [
- 'description' => 'The cross-region forwarding mode of the ECR. Valid values:'."\n"
- ."\n"
- .'* **ECMP**: the load balancing mode.'."\n"
- .'* **NearBy**: the nearby forwarding mode.'."\n",
- 'type' => 'string',
- 'example' => 'ECMP',
- ],
+ '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' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- ],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.EcrId',
- 'errorMessage' => 'EcrId not found.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"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}'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"InterRegionTransitModeList\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Mode\\": \\"ECMP\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeExpressConnectRouterInterRegionTransitMode',
],
- 'DescribeExpressConnectRouterAllowedPrefixHistory' => [
- 'summary' => 'Queries the historical route prefixes of an Express Connect router (ECR).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ModifyExpressConnectRouter' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199365',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectDQ6AHD',
- ],
+ 'abilityTreeCode' => '197614',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ 'schema' => ['description' => 'The ID of ECR.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-fu8rszhgv7623c****'."\n"],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'Name',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the network instance that is associated with the ECR.'."\n"
- ."\n"
- .'> You must specify either **InstanceId** or **AssociationId**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****',
- ],
+ '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' => 'InstanceType',
+ 'name' => 'Description',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'* **VPC**'."\n"
- .'* **TR**'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'VPC',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FF9nMec/RZ6H9oqFn1pvyir/SLRlxCCyHJonbGzqL01hiM6Jb3wJowdHvjCfog7ww1b9rSHMRFJnrUBfVba68TJg==',
- ],
- ],
- [
- 'name' => 'AssociationId',
- 'in' => 'formData',
- 'schema' => [
- 'title' => '专线网关与专有网络VPC或转发路由器TR的关联的实例ID。',
- 'description' => 'The ID of the association between the ECR and the virtual private cloud (VPC) or transit router (TR).'."\n"
- ."\n"
- .'> You must specify either **InstanceId** or **AssociationId**.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-assoc-9p2qxx5phpca2m****'."\n",
- ],
+ '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<DescribeEcrAllowedPrefixHistoryResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<ModifyEcrResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'AllowedPrefixHistoryList' => [
- 'description' => 'The historical route prefixes.'."\n",
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'AllowedPrefix' => [
- 'description' => 'The route prefix.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The route prefix entry.'."\n",
- 'type' => 'string',
- 'example' => '10.0.0.8/1',
- ],
- ],
- 'GmtCreate' => [
- 'description' => 'The time when the historical route prefix entry was created.'."\n",
- 'type' => 'string',
- 'example' => '1673751163000',
- ],
- ],
- ],
- ],
+ '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' => 'ResourceNotFound.InstanceId',
- 'errorMessage' => 'The instance id does not exist.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['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.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.AssociationId',
- 'errorMessage' => 'EcrAssociationId not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.EcrId', 'errorMessage' => 'EcrId not found.', 'description' => 'ECR instance does not exist'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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 \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"AllowedPrefixHistoryList\\": [\\n {\\n \\"AllowedPrefix\\": [\\n \\"10.0.**.**/1\\"\\n ],\\n \\"GmtCreate\\": \\"1673751163000\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeExpressConnectRouterAllowedPrefixHistory',
+ '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"}]',
],
- 'DescribeExpressConnectRouter' => [
- 'summary' => 'Queries a list of Express Connect routers (ECRs).',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ModifyExpressConnectRouterAssociation' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '199357',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '246041',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'],
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
- ],
- [
- 'name' => 'Name',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the ECR. The name must be 0 to 128 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'test',
- ],
- ],
- [
- 'name' => 'NextToken',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* You do not need to specify this parameter for the first request.'."\n"
- .'* You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'e0a2dbeb69a8beeeb8194e92b702df3fd3e7bfe6ce7bfc16e0b5e8707e68181f',
- ],
- ],
- [
- 'name' => 'MaxResults',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The maximum number of entries to read. Valid values: 1 to 2147483647. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of ECR.', 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'."\n"],
],
[
- 'name' => 'Tag',
+ 'name' => 'AssociationId',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => 'The resource tags. You can specify up to 20 tags.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tags.',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag keys.'."\n"
- ."\n"
- .'The tag keys cannot be an empty string. The tag keys can be up to 64 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n"
- ."\n"
- .'You can specify at most 20 tag keys.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestKey',
- ],
- 'Value' => [
- 'description' => 'A tag value.'."\n"
- ."\n"
- .'A tag value can be a maximum of 128 characters in length. It cannot contain `http://` or `https://` and cannot start with `acs:`.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestValue',
- ],
- ],
- 'required' => false,
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ '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' => 'ResourceGroupId',
+ 'name' => 'Description',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the resource group to which the ECR belongs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aek2aq7f4va****'."\n",
- ],
+ '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' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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' => [
- 'title' => 'RpcResponse<DescribeEcrResponse>',
- 'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.Name',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of Name **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
- 'TotalCount' => [
- 'description' => 'The total number of ECRs.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 20.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If NextToken is empty, no next page exists.'."\n"
- .'* If a value of NextToken is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==',
- ],
- 'EcrList' => [
- 'description' => 'The ECRs.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => '',
- 'type' => 'object',
- 'properties' => [
- 'EcrId' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- 'OwnerId' => [
- 'description' => 'The ID of the Alibaba Cloud account that owns the ECR.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '170646818729****',
- ],
- 'GmtCreate' => [
- 'description' => 'The time when the ECR was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2023-02-16T01:44:50Z'."\n",
- ],
- 'GmtModified' => [
- 'description' => 'The time when the ECR was modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format. The time is displayed in UTC.'."\n",
- 'type' => 'string',
- 'example' => '2023-02-16T01:44:50Z',
- ],
- 'Status' => [
- 'description' => 'The deployment state of the ECR. Valid values:'."\n"
- ."\n"
- .'* **ACTIVE**: The ECR is created.'."\n"
- .'* **UPDATING**: The ECR is being modified.'."\n"
- .'* **ASSOCIATING**: The ECR is being associated with resources.'."\n"
- .'* **DISSOCIATING**: The resource is being disassociated from resources.'."\n"
- .'* **LOCKED_ATTACHING**: The ECR is locked because it is being associated with an external system.'."\n"
- .'* **LOCKED_DETACHING**: The ECR is locked because it is being disassociated from an external system.'."\n"
- .'* **RECLAIMING**: The ECR is waiting to release resources.'."\n"
- .'* **DELETING**: The ECR is being deleted.'."\n",
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'BizStatus' => [
- 'description' => 'The business state of the ECR. Valid values:'."\n"
- ."\n"
- .'* **Normal:** The ECR is running as expected.'."\n"
- .'* **FinancialLocked**: The ECR is locked due to overdue payments.'."\n",
- 'type' => 'string',
- 'example' => 'Normal',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the ECR belongs.'."\n",
- 'type' => 'string',
- 'example' => 'rg-aekzuscospt****',
- ],
- 'Tags' => [
- 'description' => 'The tags.'."\n",
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tags.',
- 'type' => 'object',
- 'properties' => [
- 'TagKey' => [
- 'description' => 'The tag key.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'TagValue' => [
- 'description' => 'The tag value.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- ],
- ],
- ],
- 'Name' => [
- 'description' => 'The name of the ECR.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'Description' => [
- 'description' => 'The description of the ECR.'."\n",
- 'type' => 'string',
- 'example' => 'test',
- ],
- 'AlibabaSideAsn' => [
- 'description' => 'The autonomous system number (ASN) of the ECR.'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '45104',
- ],
- ],
- ],
- ],
+ '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' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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}'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.Name\\",\\n \\"DynamicMessage\\": \\"The param format of Name **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"AAAAAdDWBF2w6Olxc+cMPjUtUMpttDGZkffvHCfhBKKNEyCVaq+WUEzuUWpp9+QOApNf6g==\\",\\n \\"EcrList\\": [\\n {\\n \\"EcrId\\": \\"ecr-mezk2idmsd0vx2****\\",\\n \\"OwnerId\\": 0,\\n \\"GmtCreate\\": \\"2023-02-16T01:44:50Z\\\\n\\",\\n \\"GmtModified\\": \\"2023-02-16T01:44:50Z\\",\\n \\"Status\\": \\"Active\\",\\n \\"BizStatus\\": \\"Normal\\",\\n \\"ResourceGroupId\\": \\"rg-aekzuscospt****\\",\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"test\\",\\n \\"TagValue\\": \\"test\\"\\n }\\n ],\\n \\"Name\\": \\"test\\",\\n \\"Description\\": \\"test\\",\\n \\"AlibabaSideAsn\\": 45104\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeExpressConnectRouter',
+ '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"}]',
],
- 'ForceDeleteExpressConnectRouter' => [
- 'summary' => 'Deletes an Express Connect router (ECR) and disassociates the virtual private cloud (VPC), transit router (TR), and virtual border router (VBR) associated with the ECR.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ModifyExpressConnectRouterAssociationAllowedPrefix' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '197612',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnect7LHFR8',
- 'FEATUREexpressconnectQL8QN0',
- 'FEATUREexpressconnectNHSYB7',
- ],
+ 'abilityTreeCode' => '197603',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectDQ6AHD'],
],
'parameters' => [
[
- 'name' => 'DryRun',
+ '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' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
+ '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,
- 'example' => 'true',
+ 'maxItems' => 10000,
+ 'title' => '',
],
],
[
- 'name' => 'EcrId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****'."\n",
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00**** '."\n",
- ],
+ '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<ForceDeleteEcrResponse>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => 'RpcResponse<ModifyAssociationAllowedPrefixResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The param of %s is missing.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
- [
- 'errorCode' => 'Conflict.Lock',
- 'errorMessage' => 'There are other unfinished operations.',
- ],
- [
- 'errorCode' => 'OperationFailed.UsedInRouteEntryNextHop',
- 'errorMessage' => 'The VPC also has a static route pointing to the ECR, and it is not allowed to disassociate the ECR.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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.',
- ],
+ ['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',
+ '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\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'ForceDeleteExpressConnectRouter',
- 'description' => '* If you forcefully delete an ECR, all the resources associated with the ECR are disassociated at a time. Make sure that the disassociation does not affect the stability of your business.'."\n"
- .'* You can delete only ECRs that are in the **Active** state.'."\n",
+ '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"}]',
],
- 'CreateFlowLog' => [
- 'summary' => 'Creates a flow log and enables log delivery.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'ModifyExpressConnectRouterChildInstance' => [
+ 'summary' => 'Modifies the properties of a virtual border router (VBR) associated with an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -6922,304 +4480,134 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '253947',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectH4NOM0',
- ],
+ 'abilityTreeCode' => '246043',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectY33HGU'],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the ECR.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
- ],
- [
- 'name' => 'DryRun',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of the Express Connect Router instance.', 'title' => '', 'example' => 'ecr-gny3gqp41n7vrrn5iz'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ChildInstanceId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ 'schema' => ['type' => 'string', 'required' => true, 'description' => 'The ID of the virtual border router (VBR) instance.', 'title' => '', 'example' => 'vbr-t4n6xu2d5q0iaad1yl4le'],
],
[
- 'name' => 'FlowLogName',
+ 'name' => 'ChildInstanceType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The name of the flow log.'."\n"
- ."\n"
- .'> The name can be empty or 1 to 128 characters in length and cannot start with http:// or https://.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
+ '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' => 'query',
- 'schema' => [
- 'description' => 'The description of the flow log.'."\n"
- ."\n"
- .'> The description can be empty or 1 to 256 characters in length. It cannot start with http:// or https://.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
- ],
- [
- 'name' => 'InstanceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The type of network instance. Valid values:'."\n"
- ."\n"
- .'* **VBR**'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'VBR',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The VBR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vbr-xxx'."\n",
- ],
- ],
- [
- 'name' => 'Interval',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The time window for collecting log data. Unit: seconds. Valid values:'."\n"
- ."\n"
- .'- **60**'."\n"
- .'- **600**'."\n"
- ."\n"
- .'Default value: **600**.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '60',
- ],
- ],
- [
- 'name' => 'SamplingRate',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The sampling proportion. Valid values:'."\n"
- ."\n"
- .'- **1:4096**'."\n"
- .'- **1:2048**'."\n"
- .'- **1:1024**'."\n"
- ."\n"
- .'Default value: **1:4096**.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1:4096 ',
- ],
- ],
- [
- 'name' => 'ProjectName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The project that stores the captured traffic data.'."\n"
- ."\n"
- .'* If a project is already created in the selected region, enter the name of the project.'."\n"
- .'* If no projects are created in the selected region, enter a name and the system automatically creates a project.'."\n"
- ."\n"
- .'The project name must be unique in a region. You cannot change the name after the project is created. The name must meet the following requirements:'."\n"
- ."\n"
- .'* The name must be globally unique.'."\n"
- .'* The name can contain only lowercase letters,'."\n"
- .'* digits, and hyphens (-).'."\n"
- .'* The name must start and end with a lowercase letter or a digit.'."\n"
- .'* The name must be 3 to 63 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-project',
- ],
- ],
- [
- 'name' => 'LogStoreName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The Logstore that stores the captured traffic data.'."\n"
- ."\n"
- .'* If a Logstore is already created in the selected region, enter the name of the Logstore.'."\n"
- .'* If no Logstores are created in the selected region, enter a name and the system automatically creates a Logstore. The name of the Logstore. The name must meet the following requirements:'."\n"
- .'* The name must be unique in a project.'."\n"
- .'* It can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n"
- .'* The name must start and end with a lowercase letter or a digit.'."\n"
- .'* The name must be 3 to 63 characters in length.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-logstore',
- ],
- ],
- [
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'type' => 'string',
- ],
- 'Value' => [
- 'type' => 'string',
- ],
- ],
- ],
- 'maxItems' => 20,
- ],
+ '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' => 'ResourceGroupId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'allowEmptyValue' => false,
- 'schema' => [
- 'type' => 'string',
- ],
+ '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' => 'TargetSlsRegionId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- ],
+ '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' => [
- 'title' => 'RpcResponse<CreateAssociationResponse>',
- 'description' => 'RpcResponse<CreateAssociationResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.',
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values:'."\n"
- ."\n"
- .'- **True**'."\n"
- .'- **False**',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.',
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic error message. This parameter is used to replace the % **s** in the **ErrMessage** error message of the response parameter.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter** %**s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.',
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The queried information about the request denial.',
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'FlowLogId' => [
- 'description' => 'The ID of the flow log.',
- 'type' => 'string',
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
- [
- 'errorCode' => 'ResourceAlreadyExist.FlowLogId',
- 'errorMessage' => 'The specified resource of FlowLogId[%s] already exists.',
- ],
- [
- 'errorCode' => 'InternalErrorTemp',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"FlowLogId\\": \\"ecr-flog-m5evbtbpt****\\"\\n}","type":"json"}]',
- 'title' => 'CreateFlowLog',
- ],
- 'DeleteFlowlog' => [
- 'summary' => 'Deletes a flow log.',
- 'methods' => [
- 'post',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'title' => 'ModifyExpressConnectRouterChildInstance',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
],
- 'schemes' => [
- 'https',
+ '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' => [],
@@ -7228,150 +4616,140 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '253978',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectH4NOM0',
- ],
+ 'abilityTreeCode' => '197619',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectLCKWNS'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ 'schema' => ['description' => 'The ID of the Express Connect Router (ECR) instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'TransitModeList',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* true: performs only a dry run.'."\n"
- .'* false (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
+ '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,
- 'example' => 'false',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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' => 'FlowLogId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-m5evbtbpt****'."\n",
- ],
+ '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<CreateAssociationResponse>',
- 'description' => 'RpcResponse<CreateAssociationResponse>',
+ 'title' => 'RpcResponse<ModifyEcrTransitModeResponse>',
+ 'description' => 'The response object.',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values:'."\n"
- ."\n"
- .'- **True**'."\n"
- .'- **False**',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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',
+ '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\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'DeleteFlowlog',
+ '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, sampling rate, and sampling interval.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'summary' => 'Modifies the name, description, sample rate, and sampling period of a flow log.',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7384,613 +4762,355 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '254019',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectH4NOM0',
- ],
+ 'abilityTreeNodes' => ['FEATUREexpressconnectH4NOM0'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-fu8rszhgv7623c****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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,
- 'example' => 'myFlowlog',
- ],
+ '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 time window for collecting log data. Unit: seconds. Valid values:'."\n"
- ."\n"
- .'- **60**'."\n"
- .'- **600**'."\n"
- ."\n"
- .'Default value: **600**.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '600',
- ],
+ '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 proportion. Valid values:'."\n"
- ."\n"
- .'- **1:4096**'."\n"
- .'- **1:2048**'."\n"
- .'- **1:1024**'."\n"
- ."\n"
- .'Default value: **1:4096**.',
- 'type' => 'string',
- 'required' => false,
- 'example' => '1:4096',
- ],
+ '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.'."\n"
- .'The description can be empty or 0 to 256 characters in length.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
+ '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.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-m5evbtbpt****',
- ],
+ 'schema' => ['description' => 'The ID of the flow log instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-flog-m5evbtbpt****'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'RpcResponse<CreateAssociationResponse>',
- 'description' => 'RpcResponse<CreateAssociationResponse>',
+ 'description' => 'RpcResponse\\<createassociationresponse>\\</createassociationresponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****'."\n",
- ],
- 'Success' => [
- 'description' => 'Indicates whether routes are disabled by the ECR. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\\\n\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
+ 'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ModifyFlowLogAttribute',
- ],
- 'DescribeFlowLogs' => [
- 'summary' => 'Queries flow logs.',
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:ModifyFlowLogAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => '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' => 'read',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'list',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '253981',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectH4NOM0',
- ],
+ 'abilityTreeCode' => '200712',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectJZV4YI'],
],
'parameters' => [
[
- 'name' => 'EcrId',
+ 'name' => 'NewResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-a5xqrgbeidz1w8****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ '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' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
+ 'title' => 'RpcResponse<BaseResult>',
+ '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' => [
[
- 'name' => 'Tag',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'type' => 'string',
- 'required' => false,
- ],
- 'Value' => [
- 'type' => 'string',
- ],
- ],
+ 'operationType' => 'none',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:MoveResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
],
- 'maxItems' => 20,
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]',
+ ],
+ 'RevokeInstanceFromExpressConnectRouter' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
+ 'security' => [
[
- 'name' => 'NextToken',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'- You do not need to specify this parameter for the first request.'."\n"
- .'- You must specify the token that is obtained from the previous query as the value of NextToken.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'gAAAAABkWw*******',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '197623',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect7LHFR8', 'FEATUREexpressconnectQL8QN0', 'FEATUREexpressconnectNHSYB7'],
+ ],
+ 'parameters' => [
[
- 'name' => 'MaxResults',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The maximum number of entries to return. Valid values: 1 to 2147483647. Default value: 10.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'name' => 'EcrId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'ecr-mezk2idmsd0vx2****'],
],
[
- 'name' => 'FlowLogId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the flow log.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'flowlog-jqnr0veifo5d****',
- ],
+ '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' => 'FlowLogName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The flow log name. The name must be 0 to 128 characters in length.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'same-flowlog',
- ],
+ 'name' => 'InstanceId',
+ 'in' => 'formData',
+ 'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vbr-j6cwxhgg0s5nuephp****'],
],
[
- 'name' => 'ProjectName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The project that stores the captured traffic data.'."\n"
- ."\n"
- .'* If a project is already created in the selected region, enter the name of the project.'."\n"
- .'* If no projects are created in the selected region, enter a name and the system automatically creates a project.'."\n"
- ."\n"
- .'The project name must be unique in a region. You cannot change the name after the project is created. The name must meet the following requirements:'."\n"
- ."\n"
- .'* The name must be globally unique.'."\n"
- .'* The name can contain only lowercase letters,'."\n"
- .'* digits, and hyphens (-).'."\n"
- .'* The name must start and end with a lowercase letter or a digit.'."\n"
- .'* The name must be 3 to 63 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
+ 'name' => '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' => 'LogStoreName',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The Logstore that stores the captured traffic data.'."\n"
- ."\n"
- .'* If a Logstore is already created in the selected region, enter the name of the Logstore.'."\n"
- .'* If no Logstores are created in the selected region, enter a name and the system automatically creates a Logstore. The name of the Logstore. The name must meet the following requirements:'."\n"
- .'* The name must be unique in a project.'."\n"
- .'* It can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n"
- .'* The name must start and end with a lowercase letter or a digit.'."\n"
- .'* The name must be 3 to 63 characters in length.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'myFlowlog',
- ],
+ 'name' => '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' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'The ID of the VBR associated with the ECR.',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vbr-j6cwxhgg0s5nuephp****'."\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"
+ ."\n"
+ .'- **false** (default): Sends a normal request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'true'],
],
[
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => 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 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<CreateAssociationResponse>',
- 'description' => 'RpcResponse<CreateAssociationResponse>',
+ 'title' => 'RpcResponse<RevokeInstanceFromEcrResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request is successful. Valid values:'."\n"
- ."\n"
- .'- **True**'."\n"
- .'- **False**',
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.',
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.',
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.',
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The queried information about the request denial.',
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
- 'TotalCount' => [
- 'description' => 'The total number of records that meet the query conditions.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '11',
- ],
- 'MaxResults' => [
- 'description' => 'The total number of entries returned. Valid values: 1 to 2147483647. Default value: 10.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '10',
- ],
- 'NextToken' => [
- 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. Valid values:'."\n"
- ."\n"
- .'* If **NextToken** is empty, no next page exists.'."\n"
- .'* If a value of **NextToken** is returned, the value indicates the token that is used for the next query.'."\n",
- 'type' => 'string',
- 'example' => 'AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****',
- ],
- 'FlowLogs' => [
- 'description' => 'The information about the flow logs.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The information about the flow log.',
- 'type' => 'object',
- 'properties' => [
- 'FlowLogId' => [
- 'description' => 'The ID of the flow log.',
- 'type' => 'string',
- 'example' => 'flowlog-leypqehtgtia2*****',
- ],
- 'EcrId' => [
- 'description' => 'The ECR ID.',
- 'type' => 'string',
- 'example' => 'ecr-h4cop1khw98*****',
- ],
- 'RegionId' => [
- 'description' => 'The region ID of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'cn-shanghai',
- ],
- 'Status' => [
- 'description' => 'The status of the flow log. Valid values:'."\n"
- ."\n"
- .'* **Active**'."\n"
- ."\n"
- .'* **Inactive**',
- 'type' => 'string',
- 'example' => 'Active',
- ],
- 'FlowLogName' => [
- 'description' => 'The name of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'myFlowlog',
- ],
- 'Description' => [
- 'description' => 'The description of the flow log.'."\n",
- 'type' => 'string',
- 'example' => 'myFlowlog',
- ],
- 'Interval' => [
- 'description' => 'The time window for collecting log data. Unit: seconds. Valid values:'."\n"
- ."\n"
- .'- **60**'."\n"
- .'- **600**'."\n"
- ."\n"
- .'Default value: **600**.',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '600',
- ],
- 'SamplingRate' => [
- 'description' => 'The sampling proportion. Valid values:'."\n"
- ."\n"
- .'- **1:4096**'."\n"
- .'- **1:2048**'."\n"
- .'- **1:1024**'."\n"
- ."\n"
- .'Default value: **1:4096**.',
- 'type' => 'string',
- 'example' => '1:4096 ',
- ],
- 'LogStoreName' => [
- 'description' => 'The Logstore that stores the captured traffic data.',
- 'type' => 'string',
- 'example' => 'FlowLogStore',
- ],
- 'ProjectName' => [
- 'description' => 'The name of the project that stores the captured traffic data.',
- 'type' => 'string',
- 'example' => 'FlowLogProject',
- ],
- 'InstanceType' => [
- 'description' => 'The type of the network instance. Valid values:'."\n"
- ."\n"
- .'- **VBR**: virtual border router (VBR)',
- 'type' => 'string',
- 'example' => 'VBR',
- ],
- 'ResourceGroupId' => [
- 'description' => 'The ID of the resource group to which the ECR belongs.',
- 'type' => 'string',
- 'example' => 'rg-aekzb3xwrexc4ry',
- ],
- 'Tags' => [
- 'description' => 'The tag key.',
- 'type' => 'array',
- 'items' => [
- 'description' => 'The tag key.',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The key of tag N of the instance. The tag key cannot be an empty string.'."\n"
- ."\n"
- .'> It can be up to 64 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.',
- 'type' => 'string',
- 'example' => 'TagKey',
- ],
- 'Value' => [
- 'description' => 'The tag value.'."\n"
- ."\n"
- .'> It can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`. The tag value can be an empty string.',
- 'type' => 'string',
- 'example' => 'TagValue',
- ],
- ],
- ],
- ],
- 'InstanceId' => [
- 'description' => 'The ID of the network instance.',
- 'type' => 'string',
- 'example' => 'vbr-9dpty76irpf4u15*****',
- ],
- 'CreationTime' => [
- 'description' => 'The time when the flow log was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ssZ format.',
- 'type' => 'string',
- 'example' => '2023-09-21T04:20Z',
- ],
- 'SlsRegionId' => [
- 'description' => 'The ID of the region where Log Service is deployed.',
- 'type' => 'string',
- 'example' => 'cn-hangzhou',
- ],
- ],
- ],
- ],
+ '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' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
- [
- 'errorCode' => 'IllegalParamFormat.%s',
- 'errorMessage' => 'The param format of %s is illegal.',
- ],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The param of %s is missing.', 'description' => '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',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\",\\n \\"TotalCount\\": 11,\\n \\"MaxResults\\": 10,\\n \\"NextToken\\": \\"AAAAAYws9fJ0Ur4MGm/5OkDoW/Zn0J0/sCjivzwX9oBcwFnWaaas/kSG+J/WzLOxJHS4****\\",\\n \\"FlowLogs\\": [\\n {\\n \\"FlowLogId\\": \\"ecr-flog-leypqehtgtia2*****\\",\\n \\"EcrId\\": \\"ecr-h4cop1khw98*****\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"Status\\": \\"Active\\",\\n \\"FlowLogName\\": \\"myFlowlog\\",\\n \\"Description\\": \\"myFlowlog\\",\\n \\"Interval\\": 600,\\n \\"SamplingRate\\": \\"1:4096 \\",\\n \\"LogStoreName\\": \\"FlowLogStore\\",\\n \\"ProjectName\\": \\"FlowLogProject\\",\\n \\"InstanceType\\": \\"VBR\\",\\n \\"ResourceGroupId\\": \\"rg-aekzb3xwrexc4ry\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ],\\n \\"InstanceId\\": \\"vbr-9dpty76irpf4u15*****\\",\\n \\"CreationTime\\": \\"2023-09-21T04:20Z\\",\\n \\"SlsRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
- 'title' => 'DescribeFlowLogs',
- ],
- 'DeactivateFlowLog' => [
- 'summary' => 'Disables log delivery.',
- 'methods' => [
- 'post',
+ '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'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'expressconnectrouter:RevokeInstanceFromExpressConnectRouter',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'InstanceType'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ['validationType' => 'conditional', 'product' => 'ExpressConnectRouter', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'],
+ ],
+ ],
+ ],
],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\"\\n}","type":"json"}]',
+ ],
+ 'SynchronizeExpressConnectRouterInterRegionBandwidth' => [
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -7999,302 +5119,238 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '254021',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectH4NOM0',
- ],
+ 'abilityTreeCode' => '197625',
+ 'abilityTreeNodes' => ['FEATUREexpressconnect9IGKFS'],
],
'parameters' => [
[
'name' => 'EcrId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ECR ID.',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ecr-mezk2idmsd0vx2****',
- ],
+ '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 only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
- ],
- [
- 'name' => 'FlowLogId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-m5evbtbpt****'."\n",
- ],
+ '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<CreateAssociationResponse>',
- 'description' => 'RpcResponse<CreateAssociationResponse>',
+ 'title' => 'RpcResponse<SyncEcrBandwidthResponse>',
+ 'description' => 'RpcResponse',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId',
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.',
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****',
- ],
+ '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.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
- ],
+ ['errorCode' => 'IncorrectStatus.Ecr', 'errorMessage' => 'Ecr Status does not allow current operation.', 'description' => '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',
+ '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"}]',
- 'title' => 'DeactivateFlowLog',
],
- 'ActivateFlowLog' => [
- 'summary' => 'Enables log delivery for flow logs.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ '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' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '254020',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectH4NOM0',
- ],
+ 'abilityTreeCode' => '200701',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectI9TIJD'],
],
'parameters' => [
[
- 'name' => 'EcrId',
+ 'name' => 'ResourceId',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'The ECR ID.',
- 'type' => 'string',
+ '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,
- 'example' => 'ecr-mezk2idmsd0vx2****',
+ 'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'Tag',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ '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' => 'ClientToken',
+ 'name' => 'ResourceType',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
- ."\n"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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' => 'FlowLogId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => 'The ID of the flow log.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'flowlog-m5evbtbpt****'."\n",
- ],
+ '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' => 'RpcResponse<CreateAssociationResponse>',
- 'description' => 'RpcResponse<CreateAssociationResponse>',
+ 'title' => '',
+ 'description' => 'RpcResponse<BaseResult>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '05130E79-588D-5C40-A718-C4863A59****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'True',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
- 'HttpStatusCode' => [
- 'description' => 'The HTTP status code.'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '200',
- ],
- 'DynamicCode' => [
- 'description' => 'The dynamic error code.'."\n",
- 'type' => 'string',
- 'example' => 'IllegalParamFormat.EcrId'."\n",
- ],
- 'DynamicMessage' => [
- 'description' => 'The dynamic part in the error message. This parameter is used to replace the `%s` variable in **ErrMessage**.'."\n"
- ."\n"
- .'> For example, if the value of **ErrMessage** is **The Value of Input Parameter %s is not valid** and the value of **DynamicMessage** is **DtsJobId**, the request parameter **DtsJobId** is invalid.'."\n",
- 'type' => 'string',
- 'example' => 'The param format of EcrId **** is illegal.'."\n",
- ],
- 'AccessDeniedDetail' => [
- 'description' => 'The details about the access denial.'."\n",
- 'type' => 'string',
- 'example' => 'Authentication is failed for ****'."\n",
- ],
+ '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' => '',
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IncorrectStatus.Ecr',
- 'errorMessage' => 'Ecr Status does not allow current operation.',
- ],
- [
- 'errorCode' => 'OperationDenied.ForceDeleting',
- 'errorMessage' => 'The current instance is being deleted.',
- ],
- [
- 'errorCode' => 'UnsupportedRegion',
- 'errorMessage' => 'Feature not supported in specified region.',
+ 'staticInfo' => ['returnType' => 'synchronous'],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]',
+ 'title' => '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}'],
+ ],
],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"05130E79-588D-5C40-A718-C4863A59****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\",\\n \\"HttpStatusCode\\": 200,\\n \\"DynamicCode\\": \\"IllegalParamFormat.EcrId\\\\n\\",\\n \\"DynamicMessage\\": \\"The param format of EcrId **** is illegal.\\\\n\\",\\n \\"AccessDeniedDetail\\": \\"Authentication is failed for ****\\\\n\\"\\n}","type":"json"}]',
- 'title' => 'ActivateFlowLog',
],
- 'TagResources' => [
- 'summary' => 'Adds tags to an Express Connect router (ECR). You can add tags to only one ECR each time you call this operation. You can add multiple tags at a time.',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'https',
- ],
+ 'UntagResources' => [
+ 'summary' => 'Unbinds tags from an Express Connect Router (ECR).',
+ 'methods' => ['post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
@@ -8306,10 +5362,8 @@
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '200701',
- 'abilityTreeNodes' => [
- 'FEATUREexpressconnectI9TIJD',
- ],
+ 'abilityTreeCode' => '218206',
+ 'abilityTreeNodes' => ['FEATUREexpressconnectI9TIJD'],
],
'parameters' => [
[
@@ -8317,261 +5371,791 @@
'in' => 'formData',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The ECR IDs.'."\n",
+ '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 ECR IDs. You can specify a maximum of 20 resource IDs.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ecr-897j0jooxyr1aq****',
- ],
+ 'items' => ['description' => 'The instance ID of the resource.', 'type' => 'string', 'required' => false, 'example' => 'ecr-897j0jooxyr1aq****', 'title' => ''],
'required' => true,
'maxItems' => 100,
+ 'title' => '',
+ 'example' => '',
],
],
[
- 'name' => 'Tag',
+ 'name' => 'TagKey',
'in' => 'formData',
'style' => 'repeatList',
'schema' => [
- 'description' => 'The tags to be added.'."\n",
+ 'description' => 'The tag keys of the Express Connect Router (ECR) instance to unbind.',
'type' => 'array',
- 'items' => [
- 'description' => 'The tag list.',
- 'type' => 'object',
- 'properties' => [
- 'Key' => [
- 'description' => 'The tag key.'."\n"
- ."\n"
- .'The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`.'."\n"
- ."\n"
- .'You can specify up to 20 tag keys in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestKey',
- ],
- 'Value' => [
- 'description' => 'The tag value. The tag value can be up to 128 characters in length and cannot contain `http://` or `https://`. The tag value cannot start with `acs:` or `aliyun`. The tag value can be an empty string.'."\n"
- ."\n"
- .'You can add up to 20 tag values in each call.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TestValue',
- ],
- ],
- 'required' => false,
- ],
- 'required' => true,
+ '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. Set the value to **EXPRESSCONNECTROUTER**.'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'EXPRESSCONNECTROUTER',
- ],
+ '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, without performing the actual request. Valid values:'."\n"
- ."\n"
- .'* **true**: performs only a dry run.'."\n"
- .'* **false** (default): performs a dry run and performs the actual request.'."\n",
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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"
- .'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
- ."\n"
- .'> If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => '02fb3da4-130e-11e9-8e44-00****',
- ],
+ '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' => 'RpcResponse<BaseResult>',
- 'description' => 'The response parameters.'."\n",
+ 'title' => '',
+ 'description' => 'RpcResponse<BaseResult>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => 'The request ID.'."\n",
- 'type' => 'string',
- 'example' => '6FABF516-FED3-5697-BDA2-B18C5D9A****',
- ],
- 'Success' => [
- 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
- ."\n"
- .'* **true**'."\n"
- .'* **false**'."\n",
- 'type' => 'boolean',
- 'example' => 'true',
- ],
- 'Code' => [
- 'description' => 'The response code. The status code 200 indicates that the request was successful. Other status codes indicate that the request failed. For more information, see Error codes.'."\n",
- 'type' => 'string',
- 'example' => '200',
- ],
- 'Message' => [
- 'description' => 'The returned message.'."\n",
- 'type' => 'string',
- 'example' => 'OK',
- ],
+ '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',
+ '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}'],
+ ],
+ ],
+ ],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6FABF516-FED3-5697-BDA2-B18C5D9A****\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"OK\\"\\n}","type":"json"}]',
- 'title' => 'TagResources',
],
],
'endpoints' => [
- [
- 'regionId' => 'cn-qingdao',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-beijing',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhangjiakou',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-zhengzhou-jva',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-huhehaote',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wulanchabu',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-nanjing',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-fuzhou',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-heyuan',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-guangzhou',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-chengdu',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-wuhan-lr',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-hongkong',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-northeast-2',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-3',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-5',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-6',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-east-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'us-west-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-west-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'eu-central-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shanghai-finance-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'cn-shenzhen-finance-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-7',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
+ ['regionId' => 'cn-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'],
],
- [
- 'regionId' => 'cn-beijing-finance-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
+ ],
+ 'ram' => [
+ 'productCode' => 'ExpressConnectRouter',
+ 'productName' => 'Express Connect',
+ 'ramCodes' => ['expressconnectrouter'],
+ 'ramLevel' => 'RESOURCE',
+ 'ramConditions' => [
+ [
+ 'name' => 'InstanceType',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => 'Instance Type',
+ 'enums' => ['VPC', 'VBR'],
+ ],
+ ],
],
- [
- 'regionId' => 'me-central-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
+ '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}'],
+ ],
+ ],
+ ],
],
- [
- 'regionId' => 'cn-heyuan-acdr-1',
- 'endpoint' => 'expressconnectrouter.cn-shanghai.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/{#EcrId}'],
+ ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouterflowlog/*'],
+ ['validationType' => 'conditional', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'VirtualBorderRouter', 'arn' => 'acs:expressconnect:{#regionId}:{#accountId}:virtualborderrouter/{#VbrId}'],
+ ['validationType' => 'always', 'resourceType' => 'ExpressConnectRouter', 'arn' => 'acs:expressconnectrouter::{#accountId}:expressconnectrouter/*'],
],
],
];