'1.0',
'info' => ['style' => 'RPC', 'product' => 'Cbn', 'version' => '2017-09-12'],
'directories' => [
[
'children' => ['CreateCen', 'DeleteCen', 'ModifyCenAttribute', 'DescribeCens', 'DescribeGrantRulesToResource'],
'type' => 'directory',
'title' => 'Cloud enterprise network (CEN) instances',
],
[
'children' => ['CreateTransitRouter', 'DeleteTransitRouter', 'UpdateTransitRouter', 'ListTransitRouters', 'ListTransitRouterAvailableResource', 'OpenTransitRouterService', 'CheckTransitRouterService', 'GrantInstanceToTransitRouter', 'RevokeInstanceFromTransitRouter', 'ModifyGrantInstanceToTransitRouter'],
'type' => 'directory',
'title' => 'Transit router instances',
],
[
'children' => ['CreateTransitRouterCidr', 'DeleteTransitRouterCidr', 'ModifyTransitRouterCidr', 'ListTransitRouterCidrAllocation'],
'type' => 'directory',
'title' => 'Transit router CIDR blocks',
],
[
'children' => [
[
'children' => ['CreateTransitRouterVpcAttachment', 'DeleteTransitRouterVpcAttachment', 'UpdateTransitRouterVpcAttachmentAttribute', 'ListTransitRouterVpcAttachments'],
'type' => 'directory',
'title' => 'VPC connections',
],
[
'children' => ['CreateTransitRouterEcrAttachment', 'UpdateTransitRouterEcrAttachmentAttribute'],
'type' => 'directory',
'title' => 'Express connect router connections',
],
[
'children' => ['CreateTransitRouterVpnAttachment', 'DeleteTransitRouterVpnAttachment', 'UpdateTransitRouterVpnAttachmentAttribute', 'ListTransitRouterVpnAttachments'],
'type' => 'directory',
'title' => 'VPN connections',
],
[
'children' => ['CreateTransitRouterVbrAttachment', 'DeleteTransitRouterVbrAttachment', 'UpdateTransitRouterVbrAttachmentAttribute', 'ListTransitRouterVbrAttachments'],
'type' => 'directory',
'title' => 'Virtual border router connections',
],
'AttachCenChildInstance',
'DetachCenChildInstance',
'DescribeCenAttachedChildInstanceAttribute',
'DescribeCenAttachedChildInstances',
'DescribeChildInstanceRegions',
'ListGrantVSwitchesToCen',
],
'type' => 'directory',
'title' => 'Network instance connections',
],
[
'children' => ['CreateCenBandwidthPackage', 'DeleteCenBandwidthPackage', 'ModifyCenBandwidthPackageAttribute', 'ModifyCenBandwidthPackageSpec', 'DescribeCenGeographicSpanRemainingBandwidth', 'DescribeCenGeographicSpans', 'DescribeGeographicRegionMembership', 'TempUpgradeCenBandwidthPackageSpec', 'UnassociateCenBandwidthPackage', 'AssociateCenBandwidthPackage'],
'type' => 'directory',
'title' => 'Bandwidth plans',
],
[
'children' => ['CreateTransitRouterPeerAttachment', 'DeleteTransitRouterPeerAttachment', 'SetCenInterRegionBandwidthLimit', 'UpdateTransitRouterPeerAttachmentAttribute', 'ListTransitRouterPeerAttachments', 'DescribeCenInterRegionBandwidthLimits'],
'type' => 'directory',
'title' => 'Inter-region connections',
],
[
'children' => ['CreateCenChildInstanceRouteEntryToAttachment', 'DeleteCenChildInstanceRouteEntryToAttachment', 'DeleteCenChildInstanceRouteEntryToCen', 'ListCenChildInstanceRouteEntriesToAttachment', 'DescribeCenRegionDomainRouteEntries', 'DescribeCenChildInstanceRouteEntries', 'DescribePublishedRouteEntries', 'DescribeRouteConflict', 'PublishRouteEntries', 'WithdrawPublishedRouteEntries'],
'type' => 'directory',
'title' => 'Route management',
],
[
'children' => ['CreateTransitRouterRouteTable', 'DeleteTransitRouterRouteTable', 'UpdateTransitRouterRouteTable', 'ListTransitRouterRouteTables'],
'type' => 'directory',
'title' => 'Transit router route tables',
],
[
'children' => ['CreateTransitRouterRouteEntry', 'DeleteTransitRouterRouteEntry', 'UpdateTransitRouterRouteEntry', 'ListTransitRouterRouteEntries'],
'type' => 'directory',
'title' => 'Transit router route entries',
],
[
'children' => ['ListTransitRouterRouteTableAssociations', 'AssociateTransitRouterAttachmentWithRouteTable', 'ReplaceTransitRouterRouteTableAssociation', 'DissociateTransitRouterAttachmentFromRouteTable'],
'type' => 'directory',
'title' => 'Associated forwarding relationships',
],
[
'children' => ['EnableTransitRouterRouteTablePropagation', 'DisableTransitRouterRouteTablePropagation', 'ListTransitRouterRouteTablePropagations'],
'type' => 'directory',
'title' => 'Route learning relationships',
],
[
'children' => ['CreateCenRouteMap', 'DeleteCenRouteMap', 'ModifyCenRouteMap', 'DescribeCenRouteMaps'],
'type' => 'directory',
'title' => 'Routing policies',
],
[
'children' => ['CreateTransitRouteTableAggregation', 'ModifyTransitRouteTableAggregation', 'DeleteTransitRouteTableAggregation', 'RefreshTransitRouteTableAggregation', 'DescribeTransitRouteTableAggregationDetail', 'DescribeTransitRouteTableAggregation'],
'type' => 'directory',
'title' => 'Aggregate routes',
],
[
'children' => ['DeleteTransitRouterPrefixListAssociation', 'ListTransitRouterPrefixListAssociation'],
'type' => 'directory',
'title' => 'Prefix lists',
],
[
'children' => [
[
'children' => ['AddTrafficMatchRuleToTrafficMarkingPolicy', 'ModifyTrafficMatchRuleToTrafficMarkingPolicy', 'CreateTrafficMarkingPolicy', 'DeleteTrafficMarkingPolicy', 'UpdateTrafficMarkingPolicyAttribute', 'ListTrafficMarkingPolicies', 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy'],
'type' => 'directory',
'title' => 'Traffic marking policies',
],
[
'children' => ['CreateCenInterRegionTrafficQosQueue', 'CreateCenInterRegionTrafficQosPolicy', 'DeleteCenInterRegionTrafficQosQueue', 'DeleteCenInterRegionTrafficQosPolicy', 'UpdateCenInterRegionTrafficQosQueueAttribute', 'UpdateCenInterRegionTrafficQosPolicyAttribute', 'ListCenInterRegionTrafficQosPolicies', 'ListCenInterRegionTrafficQosQueues'],
'type' => 'directory',
'title' => 'Traffic scheduling policies',
],
],
'type' => 'directory',
'title' => 'Traffic scheduling',
],
[
'children' => ['DeleteRouteServiceInCen', 'DescribeRouteServicesInCen', 'ResolveAndRouteServiceInCen'],
'type' => 'directory',
'title' => 'Cloud services',
],
[
'children' => ['DescribeCenPrivateZoneRoutes', 'UnroutePrivateZoneInCenToVpc', 'RoutePrivateZoneInCenToVpc'],
'type' => 'directory',
'title' => 'PrivateZone',
],
[
'children' => [
[
'children' => ['CreateTransitRouterMulticastDomain', 'DeleteTransitRouterMulticastDomain', 'ModifyTransitRouterMulticastDomain', 'ListTransitRouterMulticastDomains', 'ListTransitRouterMulticastDomainAssociations', 'ListTransitRouterMulticastDomainVSwitches', 'AssociateTransitRouterMulticastDomain', 'DisassociateTransitRouterMulticastDomain'],
'type' => 'directory',
'title' => 'Multicast domains',
],
[
'children' => ['ListTransitRouterMulticastGroups', 'ListGrantVSwitchEnis', 'DeregisterTransitRouterMulticastGroupMembers', 'RegisterTransitRouterMulticastGroupSources', 'DeregisterTransitRouterMulticastGroupSources', 'RegisterTransitRouterMulticastGroupMembers'],
'type' => 'directory',
'title' => 'Multicast sources and members',
],
],
'type' => 'directory',
'title' => 'Multicast',
],
[
'children' => ['DisableCenVbrHealthCheck', 'EnableCenVbrHealthCheck', 'DescribeCenVbrHealthCheck'],
'type' => 'directory',
'title' => 'Health checks',
],
[
'children' => ['ActiveFlowLog', 'AddTraficMatchRuleToTrafficMarkingPolicy', 'CreateCenChildInstanceRouteEntryToCen', 'CreateFlowlog', 'CreateTransitRouterPrefixListAssociation', 'DeactiveFlowLog', 'DeleteFlowlog', 'DeleteTransitRouterEcrAttachment', 'DescribeCenBandwidthPackages', 'DescribeFlowlogs', 'DescribeGrantRulesToCen', 'ListTagResources', 'ListTransitRouterCidr', 'ListTransitRouterEcrAttachments', 'ModifyFlowLogAttribute', 'MoveResourceGroup', 'RemoveTraficMatchRuleFromTrafficMarkingPolicy', 'TagResources', 'UntagResources', 'UpdateTransitRouterVpcAttachmentZones'],
'title' => 'Others',
'type' => 'directory',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'ActiveFlowLog' => [
'summary' => 'Enables a flow log. After the flow log is enabled, the system collects traffic information about a specified resource.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72280',
'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that the value is unique among different requests. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the flow log is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FlowLogId',
'in' => 'query',
'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'example' => 'flowlog-m5evbtbpt****', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'Success' => ['description' => 'Indicates whether the call is successful.'."\n"
."\n"
.'- **true**: yes'."\n"
."\n"
.'- **false**: no', 'type' => 'string', 'example' => 'true', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'],
['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the specified source project or Logstore does not exist.'],
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'RuleExist', 'errorMessage' => 'The rule has already existed.', 'description' => 'The rule already exists.'],
['errorCode' => 'QuotaExceeded.FlowlogCount', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => 'The error message returned because the number of flow logs has reached the upper limit.'],
['errorCode' => 'InvalidFlowlogId.exist', 'errorMessage' => 'This cenId already has flowlog instance existed.', 'description' => 'The error message returned because the specified CEN instance is already associated with a flow log.'],
['errorCode' => 'InvalidFlowlogId.NotFound', 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.', 'description' => 'The error message returned because the specified flow log does not exist.'],
['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The error message returned because the status of the flow log does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.TrFlowlog', 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.', 'description' => 'Flowlog status for specified TransitRouter is invalid for this operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.FlowLogId', 'errorMessage' => 'The specified parameter FlowLogId is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'ActiveFlowLog',
'description' => '- A flow log is enabled by default after creation. If the flow log was stopped, call this operation to re-enable it.'."\n"
."\n"
.'- `ActiveFlowLog` is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the `DescribeFlowlogs` operation to query the status of a flow log.'."\n"
."\n"
.' - If a flow log is in the **Modifying** state, the flow log is being enabled. In this case, you can query the flow log but cannot perform other operations.'."\n"
."\n"
.' - If a flow log is in the **Active** state, the flow log is enabled.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActiveFlowLog'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ActiveFlowLog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
],
'AddTrafficMatchRuleToTrafficMarkingPolicy' => [
'summary' => 'Adds a traffic classification rule to a traffic marking policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '136121',
'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, and 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.'."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tm-u9nxup5kww5po8****'],
],
[
'name' => 'TrafficMatchRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The traffic classification rules.'."\n"
."\n"
.'You can add at most 50 traffic classification rules in each call.',
'type' => 'array',
'items' => [
'description' => 'The information about the traffic classification rule.',
'type' => 'object',
'properties' => [
'MatchDscp' => ['description' => 'The Differentiated Services Code Point (DSCP) value that is used to match packets. Valid values: **0** to **63**.'."\n"
."\n"
.'Packets that carry the specified DSCP value are considered a match. If you do not specify a DSCP value, packets are considered a match regardless of the DSCP value.'."\n"
."\n"
.'> The DSCP value that you specify for this parameter is the DSCP value that packets carry before they are transmitted over the inter-region connection.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '5'],
'DstCidr' => ['description' => 'The destination CIDR block that is used to match packets.'."\n"
."\n"
.'Packets whose destination IP addresses fall into the specified destination CIDR block are considered a match. If you do not specify a destination CIDR block, packets are considered a match regardless of the destination IP address.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10.10.10.0/24'],
'TrafficMatchRuleDescription' => ['description' => 'The description of the traffic classification rule.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'desctest'],
'Protocol' => ['description' => 'The protocol that is used to match packets.'."\n"
."\n"
.'Traffic classification rules support the following protocols: **HTTP**, **HTTPS**, **TCP**, **UDP**, **SSH**, and **Telnet**. For more information, log on to the [Cloud Enterprise Network (CEN) console](https://cen.console.aliyun.com/cen/list).'."\n"
."\n"
.'**Some protocols use a specific port. Click to view protocols and ports.**'."\n"
."\n"
.'- If the protocol is **ICMP**, set the destination port to **-1**.'."\n"
.'- If the protocol is **GRE**, set the destination port to **-1**.'."\n"
.'- If the protocol is **SSH**, set the destination port to **22**.'."\n"
.'- If the protocol is **Telnet**, set the destination port to **23**.'."\n"
.'- If the protocol is **HTTP**, set the destination port to **80**.'."\n"
.'- If the protocol is **HTTPS**, set the destination port to **443**.'."\n"
.'- If the protocol is **MS SQL**, set the destination port to **1443**.'."\n"
.'- If the protocol is **Oracle**, set the destination port to **1521**.'."\n"
.'- If the protocol is **Mysql**, set the destination port to **3306**.'."\n"
.'- If the protocol is **RDP**, set the destination port to **3389**.'."\n"
.'- If the protocol is **Postgre SQL**, set the destination port to **5432**.'."\n"
.'- If the protocol is **Redis**, set the destination port to **6379**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'HTTP'],
'DstPortRange' => [
'description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose destination ports fall into the specified destination port range are considered a match. If you do not specify destination port range, packets are considered a match regardless of the destination port.'."\n"
."\n"
.'You can specify at most two port numbers for this parameter. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose destination port is 1 are considered a match. A value of -1 specifies all destination ports.'."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose destination ports fall into 1 and 200 are considered a match.'."\n"
.'- If you enter two port numbers and one of them is -1, the other port must also be -1. In this case, packets are considered a match regardless of the destination port.',
'type' => 'array',
'items' => ['description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose destination ports fall into the specified destination port range are considered a match. If you do not specify a destination port range, packets are considered a match regardless of the destination port.'."\n"
."\n"
.'You can enter at most two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose destination port is 1 are considered a match.'."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose destination ports fall into 1 and 200 are considered a match.'."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the destination port.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'],
'required' => false,
'maxItems' => 2,
'title' => '',
],
'SrcCidr' => ['description' => 'The source CIDR block that is used to match packets.'."\n"
."\n"
.'Packets whose source IP addresses fall into the specified source CIDR block are considered a match. If you do not specify a source CIDR block, packets are considered a match regardless of the source IP address.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '192.168.10.0/24'],
'AddressFamily' => ['description' => 'The address family. You can set the value to IPv4 or IPv6, or leave the value empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'IPv4'],
'SrcPortRange' => [
'description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose source ports fall into the specified source port range are considered a match. If you do not specify a source port range, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can enter at most two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose source port is 1 are considered a match. A value of -1 specifies all source ports.'."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose source ports fall into 1 and 200 are considered a match.'."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the source port.',
'type' => 'array',
'items' => ['description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose source ports fall into the specified source port range are considered a match. If you do not specify a source port range, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can enter at most two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose source port is 1 are considered a match.'."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose source ports fall into 1 and 200 are considered a match.'."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the source port.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '200'],
'required' => false,
'maxItems' => 2,
'title' => '',
],
'TrafficMatchRuleName' => ['description' => 'The name of the traffic classification rule.'."\n"
."\n"
.'The name is optional. If you enter a name, it must be 1 to 128 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'nametest'],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 50,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'Operation is failed because traffic marking policy id is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'IllegalParam.SrcCidr', 'errorMessage' => 'The specified SrcCidr is invalid.', 'description' => 'The error message returned because the specified source CIDR block is invalid.'],
['errorCode' => 'IncorrectStatus.TrafficMarkingPolicy', 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.', 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.DstCidr', 'errorMessage' => 'The specified DstCidr is invalid.', 'description' => 'The error message returned because the specified destination CIDR block (DstCidr) is invalid.'],
['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'The specified Protocol is invalid.', 'description' => 'The error message returned because the specified protocol is invalid.'],
['errorCode' => 'Duplicated.TrafficMatchRules', 'errorMessage' => 'The parameter AddTrafficMatchRules are duplicated.', 'description' => ''],
['errorCode' => 'InstanceExist.TrafficMatchRules', 'errorMessage' => 'The instance already exists.', 'description' => 'The error message returned because the specified traffic match rules (TrafficMatchRules) already exist.'],
['errorCode' => 'MissingParam.TrafficMatchRules', 'errorMessage' => 'The parameter TrafficMatchRules is empty.', 'description' => ''],
['errorCode' => 'IllegalParam.SrcPortRange', 'errorMessage' => 'The specified SrcPortRange is illegal.', 'description' => ''],
['errorCode' => 'IllegalParam.DstPortRange', 'errorMessage' => 'The specified DstPortRange is illegal.', 'description' => 'The specified DstPortRange is illegal.'],
['errorCode' => 'AttrMismatching.CidrAddressFamily', 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.', 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.'],
['errorCode' => 'IllegalParam.AddressFamily', 'errorMessage' => 'AddressFamily is illegal.', 'description' => 'The AddressFamily value of the request parameter is invalid. Valid values are IPv4 or IPv6.'],
['errorCode' => 'AttrMismatching.SrcCidrDstCidr', 'errorMessage' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.', 'description' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.'],
['errorCode' => 'AttrMismatching.CidrProtocol', 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.', 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'OperationUnsupported.SrcPortRange', 'errorMessage' => 'Current TR version does not support setting source port range.', 'description' => 'Current TR version does not support setting source port range'],
['errorCode' => 'OperationUnsupported.DstPortRange', 'errorMessage' => 'Current TR version does not support setting destination port range.', 'description' => 'Current TR version does not support setting destination port range.'],
['errorCode' => 'OperationUnsupported.IPv6Cidr', 'errorMessage' => 'The traffic marking policy for current TR type does not support IPv6 CIDR.', 'description' => 'The flow classification rules in the flow marking policy of the basic version forwarding router do not support IPv6 network segments.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficMarkingPolicyId', 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'AddTrafficMatchRuleToTrafficMarkingPolicy',
'description' => '**AddTrafficMatchRuleToTrafficMarkingPolicy** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTrafficMarkingPolicies** operation to query the status of a traffic classification rule.'."\n"
."\n"
.'- If a traffic classification rule is in the **Creating** state, the traffic classification rule is being created. In this case, you can query the traffic classification rule but cannot perform other operations.'."\n"
.'- If a traffic classification rule is in the **Active** state, the traffic classification rule is added to the traffic marking policy.',
'changeSet' => [
['createdAt' => '2024-09-10T02:52:26.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-08-20T06:45:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-04-19T07:35:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-03-15T06:43:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-08-04T05:57:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-09T03:13:08.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-04-29T06:51:17.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AddTrafficMatchRuleToTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
'AddTraficMatchRuleToTrafficMarkingPolicy' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'* **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
.'* **false** (default): performs a dry run and sends the request.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
'name' => 'TrafficMatchRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the traffic classification rule.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n",
'type' => 'array',
'items' => [
'description' => 'The description of the traffic classification rule.'."\n",
'type' => 'object',
'properties' => [
'MatchDscp' => ['description' => 'The differentiated services code point (DSCP) value that is used to match packets. Valid values: **0** to **63**.'."\n"
."\n"
.'The traffic classification rule matches the packets that contain the specified DSCP value. If you do not set this parameter, packets are considered a match regardless of the DSCP value.'."\n"
."\n"
.'> The DSCP value that you specify for this parameter is the DSCP value that packets carry before they are transmitted over the inter-region connection.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'DstCidr' => ['description' => 'The destination CIDR block that is used to match packets.'."\n"
."\n"
.'The traffic classification rule matches the packets whose destination IP addresses fall within the specified destination CIDR block. If you do not set this parameter, packets are considered a match regardless of the DSCP value.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.10.10.0/24', 'title' => ''],
'TrafficMatchRuleDescription' => ['description' => 'The description of the traffic classification rule.'."\n"
."\n"
.'The description must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The description must start with a letter.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
'Protocol' => ['description' => 'The protocol that is used to match packets.'."\n"
."\n"
.'Valid values: **HTTP**, **HTTPS**, **TCP**, **UDP**, **SSH**, and **Telnet**. For more information, log on to the [Cloud Enterprise Network (CEN) console](https://cen.console.aliyun.com/cen/list).'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''],
'DstPortRange' => [
'description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'The traffic classification rule matches the packets whose destination ports fall within the destination port range. If you do not set this parameter, packets are considered a match regardless of the DSCP value.'."\n"
."\n"
.'You can specify at most two ports. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number such as 1, the system matches the packets whose destination port is port 1.'."\n"
.'* If you enter two port numbers such as 1 and 200, the system matches the packets whose destination ports fall between 1 and 200.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the destination port.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n",
'type' => 'array',
'items' => ['description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'The traffic classification rule matches the packets whose destination ports fall within the destination port range. If you do not set this parameter, packets are considered a match regardless of the DSCP value.'."\n"
."\n"
.'You can specify at most two ports. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number such as 1, the system matches the packets whose destination port is port 1.'."\n"
.'* If you enter two port numbers such as 1 and 200, the system matches the packets whose destination ports fall between 1 and 200.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the destination port.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
],
'SrcCidr' => ['description' => 'The source CIDR block that is used to match packets.'."\n"
."\n"
.'The traffic classification rule matches the packets whose source IP addresses fall within the specified source CIDR block. If you do not set this parameter, packets are considered a match regardless of the source IP address.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
'SrcPortRange' => [
'description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'The traffic classification rule matches the packets whose source ports fall within the source port range. If you do not set this parameter, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can specify at most two ports. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number such as 1, the system matches the packets whose source port is 1.'."\n"
.'* If you enter two port numbers such as 1 and 200, the system matches the packets whose source ports fall between 1 and 200.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n",
'type' => 'array',
'items' => ['description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'The traffic classification rule matches the packets whose source ports fall within the source port range. If you do not set this parameter, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can specify at most two ports. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number such as 1, the system matches the packets whose source port is 1.'."\n"
.'* If you enter two port numbers such as 1 and 200, the system matches the packets whose source ports fall between 1 and 200.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
],
'TrafficMatchRuleName' => ['description' => 'The name of the traffic classification rule.'."\n"
."\n"
.'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n"
."\n"
.'You can specify at most 50 traffic classification rules.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 50,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'Operation is failed because traffic marking policy id is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'InstanceExist.TrafficMatchRules', 'errorMessage' => 'The instance already exists.', 'description' => 'The error message returned because the specified traffic match rules (TrafficMatchRules) already exist.'],
['errorCode' => 'Duplicated.TrafficMatchRules', 'errorMessage' => 'The parameter TrafficMatchRules are duplicated.', 'description' => 'The error message returned because the traffic match rules (TrafficMatchRules) are duplicate.'],
['errorCode' => 'IllegalParam.SrcCidr', 'errorMessage' => 'SrcCidr is illegal.', 'description' => 'The error message returned because the specified source CIDR block is invalid.'],
['errorCode' => 'IncorrectStatus.TrafficMarkingPolicy', 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.', 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.DstCidr', 'errorMessage' => 'DstCidr is illegal.', 'description' => 'The error message returned because the specified destination CIDR block (DstCidr) is invalid.'],
['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'Protocol is illegal.', 'description' => 'The error message returned because the specified protocol is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => [
'substitutions' => ['Cbn::2017-09-12::AddTrafficMatchRuleToTrafficMarkingPolicy'],
],
'title' => 'AddTraficMatchRuleToTrafficMarkingPolicy',
'summary' => 'Adds a traffic classification rule to a traffic marking policy.',
'description' => '### Usage notes'."\n"
."\n"
.'The **AddTraficMatchRuleToTrafficMarkingPolicy** operation is deprecated and will be discontinued soon. If you need to add a traffic classification rule to a traffic marking policy, call the [AddTrafficMatchRuleToTrafficMarkingPolicy](~~427602~~) operation.',
'changeSet' => [
['createdAt' => '2023-01-09T03:13:08.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddTraficMatchRuleToTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AddTraficMatchRuleToTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\n","errorExample":""}]',
],
'AssociateCenBandwidthPackage' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenbwp-4c2zaavbvh5fx****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'OperationFailed.SetPostPay95BandwidthLimitError', 'errorMessage' => 'Operation failed because set postpay 95 bandwidth limit error.', 'description' => 'The error message returned because you failed to switch to the pay-by-95-percentile-bandwidth metering method.'],
['errorCode' => 'OperationInvalid.UserCanNotUseBwp', 'errorMessage' => 'The user can not use Cen bandwidthPackage.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'AssociateCenBandwidthPackage',
'summary' => 'Attaches a bandwidth plan to a Cloud Enterprise Network (CEN) instance.',
'description' => 'You can attach multiple bandwidth plans to a CEN instance. However, you cannot attach more than one bandwidth plan for the same connected areas.'."\n"
."\n"
.'For example, if a bandwidth plan for connections within the Chinese mainland is attached to a CEN instance, you cannot attach another bandwidth plan for the same connected areas. However, you can attach a bandwidth plan for connections between the Chinese mainland and North America.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-05-17T03:08:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-16T07:23:16.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateCenBandwidthPackage'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AssociateCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'AssociateTransitRouterAttachmentWithRouteTable' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'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 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** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run to check for potential issues, such as permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request. An association is created after the request passes the check.'."\n"
."\n"
.'- **true**: sends a check request to perform a dry run. The system checks the required parameters, request format, and other items. No association is created. If the check fails, an error message is returned. If the check passes, the `DryRunOperation` error code is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'AssociationExist.TransitRouterTable', 'errorMessage' => 'The specified association already exists.', 'description' => 'The error message returned because the specified route table is already associated with an associated forwarding correlation.'],
['errorCode' => 'IllegalParam.TransitRouterTableType', 'errorMessage' => 'When peer attachment is associated with a custom routeTable, the Transit Router in both regions must be enterprise.', 'description' => 'The error message returned because both the local and peer transit routers must be of Enterprise Edition when you associate the inter-region connection with a route table.'],
['errorCode' => 'OperationFailed.TransitRouterType', 'errorMessage' => 'Operation failed because transit router type not support this operation.', 'description' => 'The error message returned because this operation is not support by the specified type of transit router.'],
['errorCode' => 'IncorrectStatus.AttachmentOrRouteTable', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because this operation is not supported when the specified attachment or route table is in an unstable state. Try again later.'],
['errorCode' => 'IllegalParam.TransitRouterTableId', 'errorMessage' => 'The specified TransitRouterTableId is invalid.', 'description' => 'The error message returned because the TransitRouterTableId parameter is set to an invalid value.'],
['errorCode' => 'OperationUnsupported.Associate', 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.', 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => 'The error message returned because the specified network instance connection ID does not exist.'],
],
],
'title' => 'AssociateTransitRouterAttachmentWithRouteTable',
'summary' => 'You can create a forwarding association.',
'description' => 'After you create a network instance connection, you must associate it with the route table of an Enterprise Edition transit router. After the association is created, the Enterprise Edition transit router forwards traffic from the network instance based on the routes in the associated route table. Before you call this operation, take note of the following:'."\n"
."\n"
.'- Only route tables of Enterprise Edition transit routers support associations. For more information about the regions and zones that support Enterprise Edition transit routers, see [What is Cloud Enterprise Network?](~~181681~~).'."\n"
."\n"
.'- A network instance connection can be associated with only one route table of an Enterprise Edition transit router.'."\n"
."\n"
.'- The **AssociateTransitRouterAttachmentWithRouteTable** operation is asynchronous. After you send a request, the system returns a **Request ID**, but the association is not immediately created. The system creates the association in the background. You can call the **ListTransitRouterRouteTableAssociations** operation to query the status of the association.'."\n"
."\n"
.' - If the association is in the **Associating** state, it is being created. In this state, you can only query the association and cannot perform other operations.'."\n"
."\n"
.' - If the association is in the **Active** state, it is successfully created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-01-04T12:44:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:26.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateTransitRouterAttachmentWithRouteTable'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AssociateTransitRouterAttachmentWithRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]',
],
'AssociateTransitRouterMulticastDomain' => [
'summary' => 'Associates the vSwitch of a virtual private cloud (VPC) with a multicast domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129158',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-g3kz2k3u76amsk****', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of vSwitches.',
'type' => 'array',
'items' => ['description' => 'The vSwitch IDs.'."\n"
."\n"
.'You can specify at most five vSwitches in each call. A multicast domain can be associated with at most 10 vSwitches.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-p0wxk12u6okfkr8xy****', 'title' => ''],
'required' => true,
'docRequired' => true,
'maxItems' => 1000,
'title' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run, without sending the actual request. Valid values:'."\n"
."\n"
.'- **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F88AC12C-943B-50E9-A344-4F8820BB07A7', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidMulticastDomain.NotFound', 'errorMessage' => 'The specified MulticastDomain is not found.', 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['errorCode' => 'IncorrectStatus.MulticastDomain', 'errorMessage' => 'The status of MulticastDomain is incorrect.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => ''],
['errorCode' => 'IllegalParam.AttachmentId', 'errorMessage' => 'The specified AttachmentId is illegal.', 'description' => 'The error message returned because the specified attachment ID is invalid.'],
['errorCode' => 'IncorrectStatus.Attachment', 'errorMessage' => 'The status of Attachment is incorrect.', 'description' => 'The error message returned because the status of the attachment does not support this operation. Try again later.'],
['errorCode' => 'MissingParam.VSwitchIds', 'errorMessage' => 'The parameter VSwitchIds is mandatory.', 'description' => 'The error message returned because the VSwitchIds parameter is not set.'],
['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'OperationUnsupported.CloudBoxVpc', 'errorMessage' => 'The specified CloudBoxVpc does not support the operation.', 'description' => 'The error message returned because the CloudBox VPC does not support this operation.'],
['errorCode' => 'AssociationExist.VSwitchIds', 'errorMessage' => 'The association already exists.', 'description' => 'The error message returned because the specified resource is already associated with the vSwitch.'],
['errorCode' => 'QuotaFull.VswitchPerMulticastDomain', 'errorMessage' => 'The number of vswitch associated with multicast domain has exceed the maximum value that can be created.', 'description' => 'The error message returned because the number of vSwitches associated with the multicast domain has reached the upper limit.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'OperationUnsupported.VpcRegion', 'errorMessage' => 'The specified Region is not support for this operation.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'OperationUnsupported.AdvancedFeature', 'errorMessage' => 'The specified vpc does not support the operation.', 'description' => ''],
['errorCode' => 'QuotaFull.MulticastDomainPerVpc', 'errorMessage' => 'The number of multicast domain that vpc associated has exceed the maximum value that can be associated.', 'description' => 'The number of multicast domain that vpc associated has exceed the maximum value that can be associated.'],
['errorCode' => 'IllegalParam.VSwitchIds', 'errorMessage' => 'The parameter VSwitchIds is illegal.', 'description' => 'The parameter VSwitchIds is illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastDomainAssociations', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'AssociateTransitRouterMulticastDomain',
'description' => '- A vSwitch can be associated with only one multicast domain. Make sure that the vSwitch is not associated with other multicast domains. For more information about how to disassociate a vSwitch from a multicast domain, see [DisassociateTransitRouterMulticastDomain](~~429774~~).'."\n"
.'- AssociateTransitRouterMulticastDomain is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the ListTransitRouterMulticastDomainAssociations operation to query whether a vSwitch is associated with the specified multicast domain.'."\n"
."\n"
.' - If the status is Associating, it indicates that the vSwitch is being associated with the specified multicast domain. You can query the vSwitch but cannot perform other operations on the vSwitch.'."\n"
.' - If the status is Associated, the vSwitch is associated with the specified multicast domain.'."\n"
.'- The VPC of the vSwitch must be associated with an Enterprise Edition transit router. For more information about how to associate a VPC with an Enterprise Edition transit router, see [CreateTransitRouterVpcAttachment](~~468237~~).',
'changeSet' => [
['createdAt' => '2024-12-02T11:50:15.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-10-17T03:20:14.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-08-22T03:58:07.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-12-16T05:33:35.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:48.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateTransitRouterMulticastDomain'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:AssociateTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F88AC12C-943B-50E9-A344-4F8820BB07A7\\"\\n}","type":"json"}]',
],
'AttachCenChildInstance' => [
'summary' => 'Attaches a network instance to a Cloud Enterprise Network (CEN) instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72288',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance that you want to attach to the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vpc-bp18sth14qii3pnvx****'],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
.'- **VBR**: VBR'."\n"
.'- **CCN**: CCN instance', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'VPC'],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'ChildInstanceOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n"
."\n"
.'> If the network instance and the CEN instance belong to different Alibaba Cloud accounts, this parameter is required.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1688000000000000'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid', 'errorMessage' => 'Operation is invalid, please apply for cross-bid attaching.', 'description' => ''],
['errorCode' => 'IncorrectStatus.VpcSwitch', 'errorMessage' => 'Operation is failed because some virtual switch is modifying within the same VPC.', 'description' => 'The error message returned because the status of the vSwitch does not support this operation. Try again later.'],
['errorCode' => 'Forbbiden.CloudBoxVSwitchExist', 'errorMessage' => 'The operation is not allowed because of cloud box vswitch existed.', 'description' => 'The error message returned because the specified vSwitch is associated with a CloudBox. You cannot associate with the vSwitch.'],
['errorCode' => 'OperationFailed.InvalidVpcStatus', 'errorMessage' => 'Operation is failed because the child-instance is configuring.', 'description' => ''],
['errorCode' => 'OperationFailed.InvalidTransitRouter', 'errorMessage' => 'Operation failed because the transit router is not supported.', 'description' => 'Operation failed because the transit router is not supported.'],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support vpn bgp.', 'description' => 'The error message returned because CEN instances in FULL mode do not support BGP for VPN gateways.'],
['errorCode' => 'IncorrectStatus.VpcRouteTable', 'errorMessage' => 'The VPC route table is not in a desired state.', 'description' => 'The error message returned because the VPC route table is in an unstable state. Try again later.'],
['errorCode' => 'InvalidOperation.VbrAttachedToEcr', 'errorMessage' => 'VBR has alreay attached to ECR.', 'description' => 'VBR has alreay attached to ECR.'],
['errorCode' => 'OperationUnsupported.VpcRoutePropagationSource', 'errorMessage' => 'The operation on this VPC route propagation source is not supported.', 'description' => 'The operation on this VPC route propagation source is not supported.'],
['errorCode' => 'InvalidStatus.ResourceStatus', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the specified resource does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'The specified RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
403 => [
['errorCode' => 'Forbidden.AttachChildInstance', 'errorMessage' => 'The attached VBR on some access device models are not supported. Please submit a ticket to continue using this VBR on CEN.', 'description' => 'The attached VBR on some access device models are not supported. Please submit a ticket to continue using this VBR on CEN.'],
],
[
['errorCode' => 'Bid.NotFound', 'errorMessage' => 'Not found childInstance Bid by specified AliUid.', 'description' => 'The error message returned because the BID does not exist.'],
['errorCode' => 'Operation.FailedAndTryAgain', 'errorMessage' => 'Fail to get customer label by the specified aliUid.', 'description' => ''],
],
409 => [
['errorCode' => 'InvalidOperation.ChildInstanceRIAlreadyExist', 'errorMessage' => 'Operation is invalid because the child-instance has already been attached to Express Connect.', 'description' => ''],
['errorCode' => 'Forbbiden.AttachChildInstanceAcrossUid', 'errorMessage' => 'Operation is invalid because the child-instance is not authorized to CEN.', 'description' => ''],
['errorCode' => 'InvalidOperation.ChildInstanceAlreadyAttached', 'errorMessage' => 'Operation is invalid because the child-instance has already been attached to another CEN.', 'description' => ''],
['errorCode' => 'InvalidOperation.CenAlreadyAutoPubilshRouteToInstance', 'errorMessage' => 'Operation is invalid because other cen has already auto published route to this instance.', 'description' => 'The error message returned because this operation is not supported when one or more other CEN instance can advertise routes to the specified instance.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCenAttachedChildInstanceAttribute', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'AttachCenChildInstance',
'description' => 'CEN allows you to attach a network instance that belongs to another Alibaba Cloud account to your CEN instance. Before you attach the network instance, CEN must acquire permissions to access the network instance that belongs to another Alibaba Cloud account.'."\n"
."\n"
.'- For more information about how to grant CEN permissions on virtual private clouds (VPCs) that belong to another Alibaba Cloud account, see [GrantInstanceToCen](~~126224~~).'."\n"
.'- For more information about how to grant CEN permissions on Cloud Connect Network (CCN) instances that belong to another Alibaba Cloud account, see [GrantInstanceToCbn](~~126141~~).'."\n"
.'- By default, you cannot grant permissions on virtual border routers (VBRs) that belong to another Alibaba Cloud account to a CEN instance. If you need to use this feature, contact your account manager.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-22T02:31:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-15T09:36:29.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T05:33:35.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T07:55:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-31T10:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-15T03:07:43.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachCenChildInstance'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:AttachCenChildInstance',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A\\"\\n}","type":"json"}]',
],
'CheckTransitRouterService' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '85449',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate a token, but you must make sure that it 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-001****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'Enabled' => ['description' => 'Indicates whether the transit router feature is activated.'."\n"
."\n"
.'- **true**: activated'."\n"
.'- If this value is not returned, the system prompts that the current account does not have the transit router feature activated.', 'type' => 'string', 'title' => '', 'example' => 'true'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '5D93C8B9-C354-5C3E-BEFB-BA8A2C314D68'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'USER_NOT_OPEN_TR_SERVICE', 'errorMessage' => 'The user has not open transit router service.', 'description' => ''],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'CheckTransitRouterService',
'summary' => 'Queries whether your Alibaba Cloud account has the transit router feature activated.',
'changeSet' => [
['createdAt' => '2024-10-28T08:57:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-08-06T09:36:35.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:17.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckTransitRouterService'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'none',
'ramAction' => [
'action' => 'cen:CheckTransitRouterService',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Enabled\\": \\"true\\",\\n \\"RequestId\\": \\"5D93C8B9-C354-5C3E-BEFB-BA8A2C314D68\\"\\n}","type":"json"}]',
],
'CreateCen' => [
'summary' => 'A Cloud Enterprise Network (CEN) instance is the fundamental resource for managing an integrated network. A CEN instance manages a network that can span one or more regions. Before you enable communication between network instances, you must call the CreateCen operation to create a CEN instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72295',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F', 'FEATUREcbnQOCCBE'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token used 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 uses the **RequestId** of the request as the **ClientToken**. The **RequestId** is different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The name of the CEN instance.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the CEN instance.'."\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' => 'testdesc', 'title' => ''],
],
[
'name' => 'ProtectionLevel',
'in' => 'query',
'schema' => ['description' => 'The level of CIDR block overlap.'."\n"
."\n"
.'Set the value to **REDUCED**. This is the default value. This value specifies that CIDR blocks can overlap but cannot be identical.', 'type' => 'string', 'required' => false, 'example' => 'REDUCED', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag information.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'The tag key cannot be an empty string. It can be up to 64 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be empty or a string of up to 128 characters. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a corresponding tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned data.',
'type' => 'object',
'properties' => [
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-dc4vwznpwbobrl****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.ResourceGroupId', 'errorMessage' => 'ResourceGroupId is illegal.', 'description' => 'The error message returned because the specified resource group is invalid.'],
['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'CreateCen',
'description' => '**CreateCen** is an asynchronous operation. After a request is sent, the system returns a CEN instance ID, but the CEN instance is not created immediately. The creation task runs in the background. You can call the **DescribeCens** operation to query the status of the CEN instance.'."\n"
."\n"
.'- If a CEN instance is in the **Creating** status, it is being created. In this status, you can only query the instance. You cannot perform other operations.'."\n"
."\n"
.'- If a CEN instance is in the **Active** status, the instance is created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-02-17T03:39:14.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-02-28T07:27:37.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CenId\\": \\"cen-dc4vwznpwbobrl****\\",\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'CreateCenBandwidthPackage' => [
'summary' => 'To connect network instances in different regions, you must purchase a bandwidth plan. You can call the CreateCenBandwidthPackage operation to create a bandwidth plan.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '75161',
'abilityTreeNodes' => ['FEATUREcbn7IORX8'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Make sure that the client token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The name of the bandwidth plan.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the bandwidth plan.'."\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' => 'namedesc', 'title' => ''],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum bandwidth of the bandwidth plan. Unit: Mbps. Valid values: **2** to **10000**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '2', 'title' => ''],
],
[
'name' => 'GeographicRegionAId',
'in' => 'query',
'schema' => ['description' => 'The area where the network instance is deployed. Valid values:'."\n"
."\n"
.'- **China**: the Chinese mainland.'."\n"
."\n"
.'- **North-America**: North America.'."\n"
."\n"
.'- **Asia-Pacific**: Asia-Pacific.'."\n"
."\n"
.'- **Europe**: Europe.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'China', 'title' => ''],
],
[
'name' => 'GeographicRegionBId',
'in' => 'query',
'schema' => ['description' => 'The other area where the network instance is deployed. Valid values:'."\n"
."\n"
.'- **China**: the Chinese mainland.'."\n"
."\n"
.'- **North-America**: North America.'."\n"
."\n"
.'- **Asia-Pacific**: Asia-Pacific.'."\n"
."\n"
.'- **Europe**: Europe.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'China', 'title' => ''],
],
[
'name' => 'BandwidthPackageChargeType',
'in' => 'query',
'schema' => ['description' => 'The billing method of the bandwidth plan. Set the value to **PREPAY**. This value specifies the subscription billing method.', 'type' => 'string', 'required' => false, 'example' => 'PREPAY', 'title' => ''],
],
[
'name' => 'Period',
'in' => 'query',
'schema' => ['description' => 'The subscription duration of the bandwidth plan. Default value: 1.'."\n"
."\n"
.'- If you set **PricingCycle** to **Month**, valid values for **Period** are **1** to **3** and **6**.'."\n"
."\n"
.'- If you set **PricingCycle** to **Year**, valid values for **Period** are **1** to **3**.'."\n"
."\n"
.'> This parameter is required if you set **BandwidthPackageChargeType** to **PREPAY**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PricingCycle',
'in' => 'query',
'schema' => ['description' => 'The billing cycle of the bandwidth plan. Valid values:'."\n"
."\n"
.'- **Month** (default): The bandwidth plan is billed by month.'."\n"
."\n"
.'- **Year**: The bandwidth plan is billed by year.', 'type' => 'string', 'required' => false, 'example' => 'Month', 'title' => ''],
],
[
'name' => 'AutoPay',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable automatic payment. Valid values:'."\n"
."\n"
.'- **true**: yes.'."\n"
."\n"
.'- **false** (default): no.'."\n"
."\n"
.'If you disable automatic payment, you must go to the Order Hub in the console to complete the payment after you call this operation. Otherwise, the instance cannot be created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key corresponds to a tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'CenBandwidthPackageId' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'example' => 'cenbwp-4c2zaavbvh5fx****', 'title' => ''],
'CenBandwidthPackageOrderId' => ['description' => 'The ID of the order for the bandwidth plan.', 'type' => 'string', 'example' => '20156420004****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'UnSupported.ChargeType', 'errorMessage' => 'The charge type is not supported.', 'description' => ''],
['errorCode' => 'ParameterIllegal.BandwidthPackage', 'errorMessage' => 'The parameter of bandwidth packaged is illegal.', 'description' => 'The error message returned because the specified bandwidth plan (BandwidthPackage) is invalid.'],
['errorCode' => 'OperationInvalid.UserCanNotBuyCrossBorderBwp', 'errorMessage' => 'According to the laws and regulations of the operator and mainland China, you are currently not eligible to purchase or renew a cross-border bandwidth package. Please contact online customer service or your business manager for consultation.', 'description' => 'According to the laws and regulations of the operator and mainland China, you are currently not eligible to purchase or renew a cross-border bandwidth package. Please contact online customer service or your business manager for consultation.'],
['errorCode' => 'OperationInvalid.UserCanNotBuyBwp', 'errorMessage' => 'The user can not buy Cen bandwidthPackage.', 'description' => ''],
['errorCode' => 'Order.AccountStatusIllegal', 'errorMessage' => 'Illegal account status for postpay service not opened for this account.', 'description' => 'Illegal account status for postpay service not opened for this account.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
500 => [
['errorCode' => 'PayFor.AccountMoneyValidateError', 'errorMessage' => 'Your channel merchant quota is insufficient. Please contact the channel merchant.', 'description' => 'Your channel partner does not have sufficient quotas. Contact your channel partner.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCenBandwidthPackages', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CenBandwidthPackageId\\": \\"cenbwp-4c2zaavbvh5fx****\\",\\n \\"CenBandwidthPackageOrderId\\": \\"20156420004****\\",\\n \\"RequestId\\": \\"E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B\\"\\n}","type":"json"}]',
'title' => 'CreateCenBandwidthPackage',
'description' => '- When you create a bandwidth plan, you must specify the connected areas. A connected area is a collection of one or more Alibaba Cloud regions. You must select the connected areas based on the regions that you want to connect. For more information about the relationship between areas and regions, see [Purchase a bandwidth plan](~~181560~~).'."\n"
."\n"
.'- For more information about billing, see [Billing](~~189836~~).'."\n"
."\n"
.'- **CreateCenBandwidthPackage** is an asynchronous operation. After you send a request, the system returns a bandwidth plan ID. The bandwidth plan is created in the background. You can call the **DescribeCenBandwidthPackages** operation to query the status of the bandwidth plan. The bandwidth plan is successfully created when its status changes to **Idle** or **InUse**.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-07-26T06:57:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-17T03:08:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-13T03:37:15.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-07-12T16:22:38.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-17T06:58:38.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCenBandwidthPackage'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/*'],
],
],
],
],
],
'CreateCenChildInstanceRouteEntryToAttachment' => [
'summary' => 'You can call the CreateCenChildInstanceRouteEntryToAttachment operation to create a route for a network instance connected to an Enterprise Edition transit router. The next hop of the route points to the transit router in the current region.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate 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** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. The dry run checks permissions and the status of the instance. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request and creates a route for the network instance after the request passes the check.'."\n"
."\n"
.'- **true**: sends a dry run request to check the request parameters. If the request passes the check, the system does not create a route for the network instance. The system checks the required parameters and the request format. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'> This parameter is not in use.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-bp1n6cbxcszp55vxo****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r1qhupkc19iadz****', 'title' => ''],
],
[
'name' => 'RouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vrt-bp1msipdczo9lejup****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.0.0/24', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A95A100B-3F3A-56F4-A5DE-19DB7E994807', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Forbidden.VpcAsInternetGateway', 'errorMessage' => 'It’s forbidden that using Vpc as internet gateway for your private IDC.', 'description' => ''],
['errorCode' => 'InvalidCIDRBlock.Duplicate', 'errorMessage' => 'Specified CIDR block is already exists.', 'description' => 'The error message returned because the specified CIDR block already exists.'],
['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'Specified CIDR block is not valid.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'OperationFailed.RouteConflict', 'errorMessage' => 'Route conflict exists in routing table.', 'description' => 'The error message returned because two or more routes in the route table conflict with each other.'],
['errorCode' => 'InvalidOperation.UnsupportnexthopType', 'errorMessage' => 'The specified next hop type is not supported by this operation.', 'description' => 'The specified next hop type is not supported by this operation.'],
['errorCode' => 'IncorrectStatus.VpcRouteEntry', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC route entry does not support this operation. Try again later.'],
['errorCode' => 'OperationDenied.RouteTableTypeNotPermitted', 'errorMessage' => 'The operation is not allowed because of RouteTableTypeNotPermitted.', 'description' => 'The error message returned because this operation is not supported by the specified type of route table.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => 'The error message returned because the system is unavailable. Try again later.'],
['errorCode' => 'OperationUnsupported.DestinationCidrBlockOverlapWithVSwitch', 'errorMessage' => 'The destination network segment specified in the route entry overlaps with the vSwitch network segment.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => 'The error message returned because the specified network instance connection ID does not exist.'],
],
],
'title' => 'CreateCenChildInstanceRouteEntryToAttachment',
'description' => '- You can create routes only for Virtual Private Cloud (VPC) and virtual border router (VBR) instances that are connected to an Enterprise Edition transit router.'."\n"
."\n"
.'- The next hop of the route is the **transit router connection** (the network instance connection) by default and cannot be modified.'."\n"
."\n"
.'- **CreateCenChildInstanceRouteEntryToAttachment** is an asynchronous operation. After you send a request, the system returns a **RequestId** and creates the route in the background. The route is not created immediately. You can call the **DescribeRouteEntryList** operation for the VPC to query the status of the route.'."\n"
."\n"
.' - If the route is in the **Pending** state, it is being created. During this time, you can only query the route and cannot perform other operations.'."\n"
."\n"
.' - If the route is in the **Available** state, the route is created.',
'changeSet' => [
['createdAt' => '2022-12-22T08:10:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenChildInstanceRouteEntryToAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenChildInstanceRouteEntryToAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A95A100B-3F3A-56F4-A5DE-19DB7E994807\\"\\n}","type":"json"}]',
],
'CreateCenChildInstanceRouteEntryToCen' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7febra5nqj7jjh****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-k1alm2jbuwibhxtx2****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'* **VPC**: a virtual private cloud (VPC)'."\n"
.'* **VBR**: a virtual border router (VBR)'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-5', 'title' => ''],
],
[
'name' => 'ChildInstanceAliUid',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n"
."\n"
.'> If the network instance belongs to another Alibaba Cloud account, this parameter is required.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1787100000000000', 'title' => ''],
],
[
'name' => 'RouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table configured on the network instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-k1aa8ulqs39f86op8****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route.'."\n"
."\n"
.'Specify the value of this parameter in CIDR notation. Example: 192.168.10.0/24.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.22.0/24', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '437ED236-BE47-5370-8695-15C58C7A8014', 'title' => ''],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'CreateCenChildInstanceRouteEntryToCen',
'summary' => 'Adds routes to a network instance.',
'description' => '## Limits'."\n"
."\n"
.'* By default, the CreateCenChildInstanceRouteEntryToCen operation is unavailable. To call this operation,[submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex).'."\n"
.'* You cannot add a route entry to an Enterprise Edition transit router by calling the CreateCenChildInstanceRouteEntryToCen operation.'."\n"
.'* By default, the next hop of the route entry is the regional gateway of the Cloud Enterprise Network (CEN) instance. You cannot modify the next hop.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-12-16T05:33:35.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-16T03:34:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-16T03:34:36.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenChildInstanceRouteEntryToCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenChildInstanceRouteEntryToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"437ED236-BE47-5370-8695-15C58C7A8014\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n437ED236-BE47-5370-8695-15C58C7A8014\\r\\n","errorExample":""}]',
],
'CreateCenInterRegionTrafficQosPolicy' => [
'summary' => 'Creates a quality of service (QoS) policy for an inter-region connection on an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72300',
'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether only to precheck the API request. Valid values:'."\n"
."\n"
.'- **true**: prechecks the request but does not create the QoS policy. The system checks the required parameters, the request format, and the service limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false**: sends the API request. If the request passes the precheck, the QoS policy is created. This is the default value.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-8vbuqeo5h5pu3m01d****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the QoS policy.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the QoS policy.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'BandwidthGuaranteeMode',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The allocation mode of the guaranteed bandwidth. You can specify an absolute bandwidth value or a bandwidth percentage. Valid values:'."\n"
."\n"
.'- **byBandwidth**: allocates an absolute bandwidth value for the QoS queue.'."\n"
."\n"
.'- **byBandwidthPercent** (default): allocates a bandwidth percentage for the OoS queue.', 'type' => 'string', 'required' => false, 'example' => 'byBandwidthPercent', 'title' => ''],
],
[
'name' => 'TrafficQosQueues',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the QoS queue.'."\n"
."\n"
.'You can add at most three QoS queues in a QoS policy by calling this operation. To add more QoS queues, call the CreateCenInterRegionTrafficQosQueue operation.',
'type' => 'array',
'items' => [
'description' => 'The information about the QoS queue.',
'type' => 'object',
'properties' => [
'QosQueueName' => ['description' => 'The name of the current queue.'."\n"
."\n"
.'Each QoS policy supports at most three queues. You can specify a name for each queue.'."\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' => 'nametest', 'title' => ''],
'RemainBandwidthPercent' => ['description' => 'The percentage of the inter-region bandwidth that can be used by the queue.'."\n"
."\n"
.'Each QoS policy supports at most 10 queues. You can specify a valid percentage for each queue.'."\n"
."\n"
.'For example, a value of **1** specifies that the queue can consume 1% of the inter-region bandwidth.'."\n"
."\n"
.'> The sum of the percentage values of all the queues in a QoS policy cannot exceed 100%.', 'type' => 'string', 'pattern' => '^\\d+$', 'required' => false, 'example' => '1', 'title' => ''],
'Bandwidth' => ['description' => 'The absolute bandwidth that can be consumed by the QoS queue. Unit: Mbit/s.'."\n"
."\n"
.'Each QoS policy supports at most 10 queues. You can specify a valid bandwidth value for each queue.'."\n"
."\n"
.'For example, a value of 1 specifies that the queue can consume 1 Mbit/s of the inter-region bandwidth.'."\n"
."\n"
.'> The sum of the absolute bandwidth values of all the queues in a QoS policy cannot exceed the total bandwidth of the inter-region connection.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
'Dscps' => [
'description' => 'The Differentiated Services Code Point (DSCP) value that matches the current queue.'."\n"
."\n"
.'Each QoS policy supports at most three queues. You can specify at most 60 DSCP values for each queue. Separate multiple DCSP values with commas (,).',
'type' => 'array',
'items' => ['description' => 'The Differentiated Services Code Point (DSCP) value that matches the current queue.'."\n"
."\n"
.'Each QoS policy supports at most three queues. You can specify at most 60 DSCP values for each queue. Separate multiple DCSP values with commas (,).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'required' => false,
'maxItems' => 60,
'title' => '',
'example' => '',
],
'QosQueueDescription' => ['description' => 'The description of the current queue.'."\n"
."\n"
.'Each QoS policy supports at most 10 queues. You can specify a description for each queue.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 11,
'title' => '',
'example' => '',
],
],
[
'name' => 'ConsoleDryRun',
'in' => 'query',
'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'TrafficQosPolicyId' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-eczzew0v1kzrb5****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'AssociationExist.TrafficQos', 'errorMessage' => 'The traffic qos with the specified attachment already exists.', 'description' => 'The error message returned because the specified attachment is already associated with a QoS policy.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'The specified TransitRouterId is not found.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IllegalParam.TransitRouterAttachmentId', 'errorMessage' => 'TransitRouterAttachmentId is illegal.', 'description' => 'The error message returned because the specified transit router is invalid.'],
['errorCode' => 'InvalidParamSize.TrafficQosQueues', 'errorMessage' => 'The queue size included in the traffic QoS policy exceeds the limit.', 'description' => 'The queue size included in the traffic scheduling policy exceeds the limit.'],
['errorCode' => 'IllegalParam.BandwidthGuaranteeModeMismatch', 'errorMessage' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.', 'description' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.'],
['errorCode' => 'IllegalParam.AttachmentBandwidthExceed', 'errorMessage' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.', 'description' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.'],
['errorCode' => 'IllegalParam.BandwidthGuaranteeMode', 'errorMessage' => 'The input bandwidth guarantee type is not valid.', 'description' => 'The input bandwidth guarantee type is not valid.'],
['errorCode' => 'MissingParam.RemainBandwidthPercent', 'errorMessage' => 'RemainBandwidthPercent is missing.', 'description' => 'RemainBandwidthPercent is missing.'],
['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => 'The parameter Bandwidth is mandatory.', 'description' => 'The error message returned because no bandwidth value is specified. You must specify a bandwidth value.'],
['errorCode' => 'IllegalParam.RemainBandwidthPercent', 'errorMessage' => 'The specified RemainBandwidthPercent is invalid.', 'description' => 'The error message returned because the RemainBandwidthPercent parameter is set to invalid value.'],
['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Bandwidth is illegal', 'description' => 'The error message returned because the specified bandwidth value is invalid.'],
['errorCode' => 'IllegalParam.BandwidthPackageStatus', 'errorMessage' => 'The status of the bandwidth package is incorrect.', 'description' => 'The status of the bandwidth package is incorrect.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachment', 'errorMessage' => 'TransitRouterAttachmentId status is invalid.', 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TransitRouterId', 'errorMessage' => 'The parameter TransitrouterId is mandatory.', 'description' => 'The error message returned because the TransitRouterId parameter is not set.'],
['errorCode' => 'MissingParam.TransitRouterAttachmentId', 'errorMessage' => 'The parameter TransitRouterAttachmentId is Missing.', 'description' => 'The error message returned because the TransitRouterAttachmentId parameter is not set.'],
['errorCode' => 'Forbidden.CDTServiceExpired', 'errorMessage' => 'The CDT service is out of service.', 'description' => 'The cloud data transfer service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationUnsupported.QosPolicyForLowLatencyLinkType', 'errorMessage' => 'QoS Policy is not supported for Low Latency LinkType.', 'description' => 'QoS Policy is not supported for Low Latency LinkType.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachmentId', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the operation is not supported when the specified attachment is in an unstable state'],
['errorCode' => 'InvalidOperation.QueueLinkTypeNotEqualsAttachmentLinkType', 'errorMessage' => 'The operation is invalid because the link type of an existing QoS queue does not match the link type of the attachment.', 'description' => 'The operation is invalid because the link type of an existing QoS queue does not match the link type of the attachment.'],
['errorCode' => 'ParamMismatch.BandwidthGuaranteeModeAndQueueSchedulingMode', 'errorMessage' => 'The parameters BandwidthGuaranteeMode and QueueSchedulingMode are incompatible.', 'description' => 'The parameters BandwidthGuaranteeMode and QueueSchedulingMode are incompatible.'],
['errorCode' => 'InvalidOperation.NotSupportHierarchicalQoS', 'errorMessage' => 'The operation is invalid because the transit router does not support HierarchicalQoS.', 'description' => 'The operation is invalid because the transit router does not support HierarchicalQoS.'],
['errorCode' => 'InvalidOperation.QueuesExceeded', 'errorMessage' => 'The operation is invalid because the maximum queue quota for HierarchicalQoS has been exceeded.', 'description' => 'The operation is invalid because the maximum queue quota for HierarchicalQoS has been exceeded.'],
['errorCode' => 'ParamMismatch.QueueSchedulingModeAndBandwidth', 'errorMessage' => 'The parameters QueueSchedulingMode and Bandwidth are incompatible.', 'description' => 'The parameters QueueSchedulingMode and Bandwidth are incompatible.'],
['errorCode' => 'IllegalParam.QueueType', 'errorMessage' => 'The parameter QueueType is illegal.', 'description' => 'The parameter QueueType is illegal.'],
['errorCode' => 'ParamMismatch.QueueTypeAndBandwidthPercent', 'errorMessage' => 'The parameters QueueType and BandwidthPercent are incompatible.', 'description' => 'The parameters QueueType and BandwidthPercent are incompatible.'],
['errorCode' => 'InvalidOperation.PriorityQueueExceeded', 'errorMessage' => 'The operation is invalid because HierarchicalQoS supports only one priority queue.', 'description' => 'The operation is invalid because HierarchicalQoS supports only one priority queue.'],
['errorCode' => 'ParamMismatch.QueueSchedulingModeAndQueueType', 'errorMessage' => 'The parameters QueueSchedulingMode and QueueType are incompatible.', 'description' => 'The parameters QueueSchedulingMode and QueueType are incompatible.'],
['errorCode' => 'ParamMismatch.QueueSchedulingModeAndLinkType', 'errorMessage' => 'The parameters QueueSchedulingMode and LinkType are incompatible.', 'description' => 'The parameters QueueSchedulingMode and LinkType are incompatible.'],
['errorCode' => 'IllegalParam.QueueSchedulingMode', 'errorMessage' => 'The parameter QueueSchedulingMode is illegal.', 'description' => 'The parameter QueueSchedulingMode is illegal.'],
['errorCode' => 'InvalidOperation.TransitRouterNotSupportHierarchicalQoS', 'errorMessage' => 'The operation is invalid because the transit router does not support HierarchicalQoS.', 'description' => 'The operation is invalid because the transit router does not support HierarchicalQoS.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListCenInterRegionTrafficQosPolicies', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateCenInterRegionTrafficQosPolicy',
'description' => '- Only inter-region connections created on Enterprise Edition transit routers support QoS policies.'."\n"
."\n"
.'- Traffic scheduling applies only to outbound traffic on Enterprise Edition transit routers.'."\n"
."\n"
.' For example, you create an inter-region connection between the China (Hangzhou) and China (Qingdao) regions, and create a QoS policy for the transit router in the China (Hangzhou) region. In this case, the QoS policy can ensure bandwidth for network traffic from the China (Hangzhou) region to the China (Qingdao) region. However, the QoS policy does not apply to network traffic from the China (Qingdao) region to the China (Hangzhou) region.'."\n"
."\n"
.'- **CreateCenInterRegionTrafficQosPolicy** is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the **ListCenInterRegionTrafficQosPolicies** operation to query the status of the task.'."\n"
."\n"
.' - If the QoS policy is in the **Creating** state, the QoS policy is being created. You can query the QoS policy but cannot perform other operations on the QoS policy.'."\n"
."\n"
.' - If the QoS policy is in the **Active** state, the QoS policy is created.'."\n"
."\n"
.'### Prerequisites'."\n"
."\n"
.'Before you call the **CreateCenInterRegionTrafficQosPolicy** operation, make sure that the following requirements are met:'."\n"
."\n"
.'- An inter-region connection is created. For more information, see [CreateTransitRouterPeerAttachment](~~261363~~).'."\n"
."\n"
.'- A traffic marking policy is created. For more information, see [CreateTrafficMarkingPolicy](~~419025~~).',
'changeSet' => [
['createdAt' => '2024-11-22T02:31:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-08-28T06:29:04.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-08-16T03:39:20.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2024-07-10T08:04:17.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:52.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenInterRegionTrafficQosPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TrafficQosPolicyId\\": \\"qos-eczzew0v1kzrb5****\\",\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
],
'CreateCenInterRegionTrafficQosQueue' => [
'summary' => 'Creates queues in a quality of service (QoS) policy to manage network traffic based on finer granularities, improve service performance, and meet service-level agreements (SLAs).',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72301',
'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, the request format, and the 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'QosQueueName',
'in' => 'query',
'schema' => ['description' => 'The name of the queue.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'QosQueueDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the queue.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'RemainBandwidthPercent',
'in' => 'query',
'schema' => ['description' => 'The maximum percentage of inter-region bandwidth that can be allocated to the queue.'."\n"
."\n"
.'- Unit: percentage. For example, a value of 20 specifies that the queue can consume at most 20% of inter-region bandwidth.'."\n"
."\n"
.'- The sum of the percentage values specified for all queues that belong to the same inter-region connection cannot exceed 100%.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'pattern' => '^\\d+$', 'example' => '20', 'title' => ''],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum absolute bandwidth value that can be allocated to the queue. Unit: Mbit/s.'."\n"
."\n"
.'- The value specifies an absolute bandwidth. For example, a value of 20 specifies that the queue can consume at most 20 Mbit/s of bandwidth.'."\n"
."\n"
.'- The sum of the bandwidth values specified for all queues that belong to the same inter-region connection cannot exceed the maximum bandwidth of the inter-region connection.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qos-qdvybn468kaoxx****', 'title' => ''],
],
[
'name' => 'Dscps',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The differentiated services code point (DSCP) value that matches the current queue.'."\n"
."\n"
.'You can specify at most 20 DSCP values for a queue in each call. Separate DSCP values with commas (,).',
'type' => 'array',
'items' => ['description' => 'The DSCP value that matches the current queue.'."\n"
."\n"
.'You can specify at most 20 DSCP values for a queue in each call. Separate DSCP values with commas (,).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'required' => true,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'QosQueueId' => ['description' => 'The ID of the queue.', 'type' => 'string', 'example' => 'qos-queue-irqhi8k5fdyuu5****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '845F66F6-5C27-53A1-9428-B859086237B2', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.RemainBandwidthPercent', 'errorMessage' => 'The specified RemainBandwidthPercent is invalid.', 'description' => 'The error message returned because the RemainBandwidthPercent parameter is set to invalid value.'],
['errorCode' => 'IncorrectStatus.TrafficQosPolicy', 'errorMessage' => 'The status of TrafficQosPolicy is incorrect.', 'description' => 'The error message returned because the status of the specified QoS policy does not support the operation.'],
['errorCode' => 'Duplicated.Dscps', 'errorMessage' => 'The parameter Dscps are duplicated.', 'description' => 'The error message returned because the descriptions are duplicate.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => 'The parameter Bandwidth is mandatory.', 'description' => 'The error message returned because no bandwidth value is specified. You must specify a bandwidth value.'],
['errorCode' => 'IllegalParam.BandwidthGuaranteeModeMismatch', 'errorMessage' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.', 'description' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.'],
['errorCode' => 'IllegalParam.AttachmentBandwidthExceed', 'errorMessage' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.', 'description' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.'],
['errorCode' => 'MissingParam.RemainBandwidthPercent', 'errorMessage' => 'RemainBandwidthPercent is missing.', 'description' => 'RemainBandwidthPercent is missing.'],
['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Bandwidth is illegal', 'description' => 'The error message returned because the specified bandwidth value is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficQosPolicyId', 'errorMessage' => 'The parameter TrafficQosPolicyId is mandatory.', 'description' => ''],
['errorCode' => 'Forbidden.CDTServiceExpired', 'errorMessage' => 'The CDT service is out of service.', 'description' => 'The cloud data transfer service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'ParamMismatch.QueueSchedulingModeAndQueueType', 'errorMessage' => 'The parameters QueueSchedulingMode and QueueType are incompatible.', 'description' => 'The parameters QueueSchedulingMode and QueueType are incompatible.'],
['errorCode' => 'ParamMismatch.QueueSchedulingModeAndBandwidth', 'errorMessage' => 'The parameters QueueSchedulingMode and Bandwidth are incompatible.', 'description' => 'The parameters QueueSchedulingMode and Bandwidth are incompatible.'],
['errorCode' => 'InvalidOperation.QueuesExceeded', 'errorMessage' => 'The operation is invalid because the maximum queue quota for HierarchicalQoS has been exceeded.', 'description' => 'The operation is invalid because the maximum queue quota for HierarchicalQoS has been exceeded.'],
['errorCode' => 'ParamMismatch.QueueTypeAndBandwidthPercent', 'errorMessage' => 'The parameters QueueType and BandwidthPercent are incompatible.', 'description' => 'The parameters QueueType and BandwidthPercent are incompatible.'],
['errorCode' => 'InvalidOperation.PriorityQueueExceeded', 'errorMessage' => 'The operation is invalid because HierarchicalQoS supports only one priority queue.', 'description' => 'The operation is invalid because HierarchicalQoS supports only one priority queue.'],
],
404 => [
['errorCode' => 'InvalidTrafficQosPolicyId.NotFound', 'errorMessage' => 'The specified TrafficQosPolicyId is not found.', 'description' => 'The error message returned because the specified QoS policy ID (TrafficQosPolicyId) does not exist.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListCenInterRegionTrafficQosPolicies', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateCenInterRegionTrafficQosQueue',
'description' => 'The **CreateCenInterRegionTrafficQosQueue** operation is an asynchronous operation. After you send a request, the system returns a request ID and runs the task in the background. You can call the **ListCenInterRegionTrafficQosPolicies** operation to query the status of the QoS policy to determine the status of the queue. When you call this operation, you must set the **TrafficQosPolicyId** parameter.'."\n"
."\n"
.'- If a QoS policy is in the **Modifying** state, the queue is being created. In this case, you can query the QoS policy and queue but cannot perform other operations.'."\n"
."\n"
.'- If a QoS policy is in the **Active** state, the queue is created.',
'changeSet' => [
['createdAt' => '2024-08-28T06:29:04.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-08-16T03:39:20.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2023-12-13T02:46:22.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-09T03:13:08.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:59.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenInterRegionTrafficQosQueue',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"QosQueueId\\": \\"qos-queue-irqhi8k5fdyuu5****\\",\\n \\"RequestId\\": \\"845F66F6-5C27-53A1-9428-B859086237B2\\"\\n}","type":"json"}]',
],
'CreateCenRouteMap' => [
'summary' => 'Creates a routing policy. A routing policy filters routing information and facilitates network management.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72302',
'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'CenRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region in which the routing policy is applied.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransmitDirection',
'in' => 'query',
'schema' => [
'description' => 'The direction in which the routing policy is applied. Valid values:'."\n"
."\n"
.'- **RegionIn**: Routes are advertised to the gateways in the regions that are connected by the CEN instance.'."\n"
."\n"
.'For example, routes are advertised from network instances deployed in the current region or other regions to the gateway deployed in the current region.'."\n"
."\n"
.'- **RegionOut**: Routes are advertised from the gateways in the regions that are connected by the CEN instance.'."\n"
."\n"
.'For example, routes are advertised from the gateway deployed in the current region to network instances deployed in the same region, or to gateways deployed in other regions.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['RegionIn', 'RegionOut'],
'example' => 'RegionIn',
'title' => '',
],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the routing policy.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'Priority',
'in' => 'query',
'schema' => ['description' => 'The priority of the routing policy. Valid values: **1** to **100**. A smaller value indicates a higher priority.'."\n"
."\n"
.'> You cannot specify the same priority for routing policies that apply in the same region and direction. The system matches routes against the match conditions of routing policies in descending order of priority. A smaller value indicates a higher priority. You must set the priorities to proper values.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '2999', 'minimum' => '1', 'example' => '3', 'title' => ''],
],
[
'name' => 'MapResult',
'in' => 'query',
'schema' => [
'description' => 'The action to be performed on a route that meets all the match conditions. Valid values:'."\n"
."\n"
.'- **Permit**: the route is permitted.'."\n"
."\n"
.'- **Deny**: the route is denied.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['Permit', 'Deny'],
'example' => 'Permit',
'title' => '',
],
],
[
'name' => 'NextPriority',
'in' => 'query',
'schema' => ['description' => 'The priority of the routing policy that you want to associate with the current one.'."\n"
."\n"
.'- This parameter takes effect only when the **MapResult** parameter is set to **Permit**. This way, the permitted route is matched against the next routing policy.'."\n"
."\n"
.'- The region and direction of the routing policy to be associated must be the same as those of the current routing policy.'."\n"
."\n"
.'- The priority of the next routing policy must be lower than the priority of the current routing policy.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '20', 'title' => ''],
],
[
'name' => 'CidrMatchMode',
'in' => 'query',
'schema' => [
'description' => 'The match method that is used to match routes against the prefix list. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. A route is a match if the route prefix is included in the match conditions.'."\n"
."\n"
.'For example, if you set the match condition to 1.1.0.0/16 and fuzzy match is applied, the route whose prefix is 1.1.1.0/24 meets the match condition.'."\n"
."\n"
.'- **Complete**: exact match. A route is a match only if the route prefix is the same as the prefix specified in the match condition.'."\n"
."\n"
.'For example, if you set the match condition to 1.1.0.0/16 and exact match is applied, only the route whose prefix is 1.1.0.0/16 meets the match condition.',
'type' => 'string',
'required' => false,
'enum' => ['Include', 'Complete'],
'example' => 'Include ',
'title' => '',
],
],
[
'name' => 'AsPathMatchMode',
'in' => 'query',
'schema' => [
'description' => 'The match method that is used to match routes based on the AS path. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. A route is a match if the AS path of the route overlaps with the AS path in the match conditions.'."\n"
."\n"
.'- **Complete**: exact match. A route is a match only if the AS path of the route matches the AS path in the match conditions.',
'type' => 'string',
'required' => false,
'enum' => ['Include', 'Complete'],
'example' => 'Include',
'title' => '',
],
],
[
'name' => 'CommunityMatchMode',
'in' => 'query',
'schema' => [
'description' => 'The match method that is used to match routes based on the community. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. A route is a match if the community of the route overlaps with the community in the match conditions.'."\n"
."\n"
.'- **Complete**: exact match. A route is a match only if the community of the route matches the community in the match conditions.',
'type' => 'string',
'required' => false,
'enum' => ['Include', 'Complete', 'Contain'],
'example' => 'Include',
'title' => '',
],
],
[
'name' => 'CommunityOperateMode',
'in' => 'query',
'schema' => [
'description' => 'The action to be performed on the community. Valid values:'."\n"
."\n"
.'- **Additive**: adds the community to the route.'."\n"
."\n"
.'- **Replace**: replaces the original community of the route.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition.',
'type' => 'string',
'required' => false,
'enum' => ['Additive', 'Replace'],
'example' => 'Additive',
'title' => '',
],
],
[
'name' => 'Preference',
'in' => 'query',
'schema' => ['description' => 'The new priority of the route.'."\n"
."\n"
.'Valid values: **1** to **100**. The default priority is **50**. A smaller value indicates a higher priority.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '50', 'title' => ''],
],
[
'name' => 'SourceInstanceIdsReverseMatch',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to exclude source instance IDs. Valid values:'."\n"
."\n"
.'- **false** (default): A route is a match if the source instance ID is included in the list specified by **SourceInstanceIds.N**.'."\n"
."\n"
.'- **true**: A route is a match if the source network instance ID is not in the list specified by **SourceInstanceIds.N**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'DestinationInstanceIdsReverseMatch',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to exclude destination instance IDs. Valid values:'."\n"
."\n"
.'- **false** (default): A route is a match if the destination instance ID is included in the list specified by **SourceInstanceIds.N**.'."\n"
."\n"
.'- **true**: A route is a match if the destination network instance ID is not in the list specified by **SourceInstanceIds.N**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'MatchAddressType',
'in' => 'query',
'schema' => ['description' => 'The type of IP address in the match condition. Valid values:'."\n"
."\n"
.'- **IPv4**: IPv4 address'."\n"
."\n"
.'- **IPv6**: IPv6 address'."\n"
."\n"
.'This parameter can be empty. If no value is specified, all types of IP address are a match.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the transit router.'."\n"
."\n"
.'If you do not specify a route table ID, the routing policy is automatically associated with the default route table of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'vtb-gw8nx3515m1mbd1z1****', 'title' => ''],
],
[
'name' => 'SourceInstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the source network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- Virtual private cloud (VPC)'."\n"
."\n"
.'- Virtual border router (VBR)'."\n"
."\n"
.'- Cloud Connect Network (CCN) instance'."\n"
."\n"
.'- Smart Access Gateway (SAG) instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.',
'type' => 'array',
'items' => ['description' => 'The IDs of the source network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- VPC'."\n"
."\n"
.'- VBR'."\n"
."\n"
.'- CCN instance'."\n"
."\n"
.'- SAG instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-adeg3544fdf34vf****', 'title' => ''],
'required' => false,
'example' => 'vpc-adeg3544fdf34vf****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'DestinationInstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the destination network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- VPC'."\n"
."\n"
.'- VBR'."\n"
."\n"
.'- CCN instance'."\n"
."\n"
.'- SAG instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.'."\n"
."\n"
.'> The destination instance IDs take effect only when Direction is set to Export from Regional Gateway and the destination instances are deployed in the current region.',
'type' => 'array',
'items' => ['description' => 'The IDs of the destination network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- VPC'."\n"
."\n"
.'- VBR'."\n"
."\n"
.'- CCN instance'."\n"
."\n"
.'- SAG instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.'."\n"
."\n"
.'> The destination instance IDs take effect only when Direction is set to Export from Regional Gateway and the destination instances are deployed in the current region.', 'type' => 'string', 'required' => false, 'example' => 'vpc-afrfs434465fdf****', 'title' => ''],
'required' => false,
'example' => 'vpc-afrfs434465fdf****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'SourceRouteTableIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the source route tables from which routes are evaluated. You can enter at most 64 route table IDs.',
'type' => 'array',
'items' => ['description' => 'The IDs of the source route tables from which routes are evaluated. You can enter at most 64 route table IDs.', 'type' => 'string', 'required' => false, 'example' => 'vtb-adfr233vf34rvd4****', 'title' => ''],
'required' => false,
'example' => 'vtb-adfr233vf34rvd4****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'DestinationRouteTableIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the destination route tables to which routes are evaluated. You can enter at most 64 route table IDs.'."\n"
."\n"
.'> The destination route table IDs take effect only when Direction is set to Export from Regional Gateway and the destination route tables belong to network instances deployed in the current region.',
'type' => 'array',
'items' => ['description' => 'The IDs of the destination route tables to which routes are evaluated. You can enter at most 64 route table IDs.'."\n"
."\n"
.'> The destination route table IDs take effect only when Direction is set to Export from Regional Gateway and the destination route tables belong to network instances deployed in the current region.', 'type' => 'string', 'required' => false, 'example' => 'vtb-adefrgtr144vf****', 'title' => ''],
'required' => false,
'example' => 'vtb-adefrgtr144vf****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'SourceRegionIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the source regions from which routes are evaluated. You can enter at most 64 region IDs.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.',
'type' => 'array',
'items' => ['description' => 'The IDs of the source regions from which routes are evaluated. You can enter at most 64 region IDs.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
'required' => false,
'example' => 'cn-beijing',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'SourceChildInstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The types of source network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN**: VPN gateway or IPsec connection'."\n"
."\n"
.' - If the IPsec-VPN connection or SSL client is associated with a VPN gateway, the VPC associated with the VPN gateway must be connected to a transit router, and the VPN gateway must use BGP dynamic routing. Otherwise, this parameter cannot take effect.'."\n"
."\n"
.' - This parameter takes effect if the IPsec connection is directly connected to a transit router.'."\n"
."\n"
.'You can specify one or more network instance types.',
'type' => 'array',
'items' => ['description' => 'The types of source network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN** :VPN gateway or IPsec-VPN connection'."\n"
."\n"
.' - If the IPsec-VPN connection or SSL client is associated with a VPN gateway, the VPC associated with the VPN gateway must be connected to a transit router, and the VPN gateway must use BGP dynamic routing. Otherwise, this parameter cannot take effect.'."\n"
."\n"
.' - This parameter takes effect if the IPsec connection is directly connected to a transit router.'."\n"
."\n"
.'You can specify one or more network instance types.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
'required' => false,
'example' => 'VPC',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'DestinationChildInstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The types of destination network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN**: IPsec connection'."\n"
."\n"
.' > This parameter does not take effect if the IPsec-VPN connection or SSL client is associated with a transit router through a VPN gateway and a VPC. This parameter takes effect only if the IPsec connection is directly connected to the transit router.'."\n"
."\n"
.'You can specify one or more network instance types.'."\n"
."\n"
.'> The destination network instance types are valid only if the routing policy is applied to scenarios where routes are advertised from the gateway in the current region to network instances in the current region.',
'type' => 'array',
'items' => ['description' => 'The types of destination network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN**: IPsec connection'."\n"
."\n"
.' > This parameter does not take effect if the IPsec-VPN connection or SSL client is associated with a transit router through a VPN gateway and a VPC. This parameter takes effect only if the IPsec connection is directly connected to the transit router.'."\n"
."\n"
.'You can specify one or more network instance types.'."\n"
."\n"
.'> The destination network instance types are valid only if the routing policy is applied to scenarios where routes are advertised from the gateway in the current region to network instances in the current region.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
'required' => false,
'example' => 'VPC',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'DestinationCidrBlocks',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The prefix list against which routes are matched.'."\n"
."\n"
.'Specify IP addresses in CIDR notations. You can specify at most 64 CIDR blocks.'."\n"
."\n"
.'IPv4 and IPv4 addresses are supported.',
'type' => 'array',
'items' => ['description' => 'The prefix list against which routes are matched.'."\n"
."\n"
.'Specify IP addresses in CIDR notations. You can specify at most 64 CIDR blocks.'."\n"
."\n"
.'IPv4 and IPv4 addresses are supported.', 'type' => 'string', 'required' => false, 'example' => '10.10.10.0/24', 'title' => ''],
'required' => false,
'example' => '10.10.10.0/24',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'RouteTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The type of route to be compared. Valid values: The following route types are supported:'."\n"
."\n"
.'- **System**: system routes that are automatically generated by the system.'."\n"
."\n"
.'- **Custom**: custom routes that are manually added.'."\n"
."\n"
.'- **BGP**: routes that are advertised over BGP.'."\n"
."\n"
.'You can specify multiple route types.',
'type' => 'array',
'items' => ['description' => 'The type of route to be compared. Valid values: The following route types are supported:'."\n"
."\n"
.'- **System**: system routes that are automatically generated by the system.'."\n"
."\n"
.'- **Custom**: custom routes that are manually added.'."\n"
."\n"
.'- **BGP**: routes that are advertised over BGP.'."\n"
."\n"
.'You can specify multiple route types.', 'type' => 'string', 'required' => false, 'example' => 'System', 'title' => ''],
'required' => false,
'example' => 'System',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'MatchAsns',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The AS paths based on which routes are compared.'."\n"
."\n"
.'You can specify at most 64 AS numbers.'."\n"
."\n"
.'> Only the AS-SEQUENCE parameter is supported. The AS-SET, AS-CONFED-SEQUENCE, and AS-CONFED-SET parameters are not supported. In other words, only the AS number list is supported. Sets and sub-lists are not supported.',
'type' => 'array',
'items' => ['description' => 'The AS paths based on which routes are compared.'."\n"
."\n"
.'You can specify at most 64 AS numbers.'."\n"
."\n"
.'> Only the AS-SEQUENCE parameter is supported. The AS-SET, AS-CONFED-SEQUENCE, and AS-CONFED-SET parameters are not supported. In other words, only the AS number list is supported. Sets and sub-lists are not supported.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65501', 'title' => ''],
'required' => false,
'example' => '65501',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'MatchCommunitySet',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The community set based on which routes are compared.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with the RFC 1997 standard. The RFC 8092 standard that defines Border Gateway Protocol (BGP) large communities is not supported.'."\n"
."\n"
.'You can specify at most 64 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.',
'type' => 'array',
'items' => ['description' => 'The community set based on which routes are compared.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with the RFC 1997 standard. The RFC 8092 standard that defines Border Gateway Protocol (BGP) large communities is not supported.'."\n"
."\n"
.'You can specify at most 64 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.', 'type' => 'string', 'required' => false, 'example' => '65501:1', 'title' => ''],
'required' => false,
'example' => '65501:1',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'OperateCommunitySet',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The community set on which actions are performed.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with RFC 1997. The RFC 8092 standard that defines BGP large communities is not supported.'."\n"
."\n"
.'You can specify at most 32 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.',
'type' => 'array',
'items' => ['description' => 'The community set on which actions are performed.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with RFC 1997. The RFC 8092 standard that defines BGP large communities is not supported.'."\n"
."\n"
.'You can specify at most 32 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.', 'type' => 'string', 'required' => false, 'example' => '65501:1', 'title' => ''],
'required' => false,
'example' => '65501:1',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'PrependAsPath',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
."\n"
.'The AS paths vary based on the direction in which the routing policy is applied:'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the inbound direction, you must specify source network instance IDs and the source region in the match condition. In addition, the source region must be the same as the region where the routing policy is applied.'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the outbound direction, you must specify destination network instance IDs in the match condition.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition. You can specify at most 32 AS numbers.',
'type' => 'array',
'items' => ['description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
."\n"
.'The AS paths vary based on the direction in which the routing policy is applied:'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the inbound direction, you must specify source network instance IDs and the source region in the match condition. In addition, the source region must be the same as the region where the routing policy is applied.'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the outbound direction, you must specify destination network instance IDs in the match condition.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition. You can specify at most 32 AS numbers.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65501', 'title' => ''],
'required' => false,
'example' => '65501',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'DestinationRegionIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The destination region IDs of the route. You can specify at most 64 region IDs.',
'type' => 'array',
'items' => ['description' => 'The destination region IDs of the route. You can specify at most 64 region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
'required' => false,
'maxItems' => 64,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned result.',
'type' => 'object',
'properties' => [
'RouteMapId' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'example' => 'cenrmap-w4yf7toozfol3q****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '62172DD5-6BAC-45DF-8D44-56SDF467BAC', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Forbidden.CenRouteMapExist', 'errorMessage' => 'The specified CEN route map ID already exists.', 'description' => 'The specified CEN route map ID already exists.'],
['errorCode' => 'Invid.Parameter', 'errorMessage' => 'When using PrependAsPath in the RegionIn, SourceRegionId must be local region Id.', 'description' => ''],
['errorCode' => 'InvalidOperation.NoEffictiveAction', 'errorMessage' => 'No effective action be configured.', 'description' => 'The error message returned because the specified action is invalid.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'IllegalParam.ZoneId', 'errorMessage' => 'The specified ZoneId is illegal.', 'description' => 'The error message returned because the specified zone is invalid.'],
['errorCode' => 'Forbidden.NoMedAuthorized', 'errorMessage' => 'Med operation is unauthorized.', 'description' => 'Unable to operate on the specified Med routing policy.'],
['errorCode' => 'InvalidOperation.MedRouteMapExist', 'errorMessage' => 'Operation is invalid because the default med route map already exist.', 'description' => 'The operation is invalid because there is already a med routeMap with the next hop destination for this Ecr instance.'],
['errorCode' => 'InvalidOperation.MedRouteMapNotAllowedOtherAction', 'errorMessage' => 'Operation is invalid because the default med not allowed other action.', 'description' => 'the med policy does not allow to configure other policies.'],
['errorCode' => 'InvalidOperation.MedRouteMapActionMustPermit', 'errorMessage' => 'Operation is invalid because the default med map result must be permit.', 'description' => 'Operation is invalid because the default med map result must be permit.'],
['errorCode' => 'InvalidParameter.MedRouteMapDestInstanceIds', 'errorMessage' => 'Param DestInstanceIds must be ecr instance id.', 'description' => 'The destination instance list of med routeMap must be ECR instance.'],
['errorCode' => 'InvalidParameter.MedRouteMapDestInstanceType', 'errorMessage' => 'Param DestChildInstanceTypes must be ecr.', 'description' => 'The destination instance type of the med routeMap must be ECR.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCenRouteMaps', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RouteMapId\\": \\"cenrmap-w4yf7toozfol3q****\\",\\n \\"RequestId\\": \\"62172DD5-6BAC-45DF-8D44-56SDF467BAC\\"\\n}","type":"json"}]',
'title' => 'CreateCenRouteMap',
'description' => 'Routing policies are sorted by priority. A smaller value indicates a higher priority. Each routing policy is a collection of conditional statements and execution statements. Starting from the routing policy with the highest priority, the system matches routes against the match conditions specified by routing policies. If a route meets all the match conditions of a routing policy, the system permits or denies the route based on the action specified in the routing policy. You can also modify the attributes of permitted routes. By default, the system permits routes that meet none of the match conditions. For more information, see [Routing policy overview](~~124157~~).'."\n"
."\n"
.'`CreateCenRouteMap` is an asynchronous operation. After you send a request, the routing policy ID is returned but the operation is still being performed in the system background. You can call `DescribeCenRouteMaps` to query the status of a routing policy.'."\n"
."\n"
.'- If a routing policy is in the **Creating** state, the routing policy is being created. In this case, you can query the routing policy but cannot perform other operations.'."\n"
."\n"
.'- If a routing policy is in the **Active** state, the routing policy is created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-12-06T11:09:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-18T04:12:39.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-09-10T08:13:54.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-09-10T02:52:26.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T07:55:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-07-19T02:45:36.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCenRouteMap'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenRouteMap',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
],
'CreateFlowlog' => [
'summary' => 'Creates a flow log.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72303',
'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a value for this parameter from your client. Make sure that the value is unique for each request. 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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the flow log.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FlowLogName',
'in' => 'query',
'schema' => ['description' => 'The name of the flow log.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'example' => 'myFlowlog', 'title' => ''],
],
[
'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', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'ProjectName',
'in' => 'query',
'schema' => ['description' => 'The project that is used to store the captured traffic.'."\n"
."\n"
.'- If you have already 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, you can specify a custom name for the project. The system automatically creates the project.'."\n"
."\n"
.' A project name must be globally unique within an Alibaba Cloud region and cannot be modified after the project is created. The name must meet the following requirements:'."\n"
."\n"
.' - The 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.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'flowlog-project', 'title' => ''],
],
[
'name' => 'LogStoreName',
'in' => 'query',
'schema' => ['description' => 'The Logstore that is used to store the captured traffic.'."\n"
."\n"
.'- If you have already 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, you can specify a custom name for the Logstore. The system automatically creates the Logstore.'."\n"
.' The name of the Logstore must meet the following requirements:'."\n"
."\n"
.' - The 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' => false, 'docRequired' => false, 'example' => 'flowlog-logstore', 'title' => ''],
],
[
'name' => 'Interval',
'in' => 'query',
'schema' => ['description' => 'The aggregation interval for the flow log. Unit: seconds. Valid values: **60** and **600**. Default value: **600**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '600', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection, VPN connection, VBR connection, ECR connection, or inter-region connection.'."\n"
."\n"
.'If you want to configure a flow log for a transit router instance, do not specify this parameter.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router instance.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
'name' => 'LogFormatString',
'in' => 'query',
'schema' => ['description' => 'A custom string of log fields for the flow log.'."\n"
."\n"
.'The format is defined as:'."\n"
.'`${field 1}${field 2}${field 3}...${field n}`'."\n"
."\n"
.'- If you do not specify this parameter, all default fields are logged.'."\n"
."\n"
.'- If you specify this parameter, you must start the string with `${srcaddr}${dstaddr}${bytes}` because these are required parameters. For more information about all supported log fields, see [Configure a flow log](~~339822~~).', 'type' => 'string', 'maxLength' => 1000, 'required' => false, 'example' => '${srcaddr}${dstaddr}${bytes}', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag.'."\n"
."\n"
.'You can add up to 20 tags in each call.',
'type' => 'array',
'items' => [
'description' => 'The tag.'."\n"
."\n"
.'You can add up to 20 tags in each call.',
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''],
'Success' => ['description' => 'Indicates whether the call is successful.'."\n"
."\n"
.'- **true**: The call is successful.'."\n"
."\n"
.'- **false**: The call failed.', 'type' => 'string', 'example' => 'true', 'title' => ''],
'FlowLogId' => ['description' => 'The flow log ID.', 'type' => 'string', 'example' => 'flowlog-m5evbtbpt****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'],
['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the specified source project or Logstore does not exist.'],
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'RuleExist', 'errorMessage' => 'The rule has already existed.', 'description' => 'The rule already exists.'],
['errorCode' => 'QuotaExceeded.FlowlogCount', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => 'The error message returned because the number of flow logs has reached the upper limit.'],
['errorCode' => 'InvalidFlowlogId.exist', 'errorMessage' => 'This cenId already has flowlog instance existed.', 'description' => 'The error message returned because the specified CEN instance is already associated with a flow log.'],
['errorCode' => 'Flowlog.AlreayExist', 'errorMessage' => 'This attachment already has existed flowlog instance.', 'description' => 'The error message returned because the specified flow log already exists. You cannot create duplicate flow logs.'],
['errorCode' => 'IllegalParam.TransitRouterAttachmentId', 'errorMessage' => 'TransitRouterAttachmentId is illegal.', 'description' => 'The error message returned because the specified transit router is invalid.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'The TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the specified transit router attachment ID (TransitRouterAttachmentId) does not exist.'],
['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'This action is not allowed in the current flow log status.', 'description' => 'This action is not allowed in the current flow log status.'],
['errorCode' => 'InvalidOperation.TransitRouterNotExist', 'errorMessage' => 'Operation is invalid because the transit router not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachmentId', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the operation is not supported when the specified attachment is in an unstable state'],
['errorCode' => 'ProjectExist', 'errorMessage' => 'Project already exist, please try a different project name.', 'description' => 'The log Project already exists, try a different Project name.'],
['errorCode' => 'InvalidParameter.ProjectName', 'errorMessage' => 'Project name is invalid or does not belong to specified region.', 'description' => 'The Project name is illegal or does not belong to the specified region.'],
['errorCode' => 'IncorrectStatus.TrFlowlog', 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.', 'description' => 'Flowlog status for specified TransitRouter is invalid for this operation.'],
['errorCode' => 'OperationInvalid.IncompatibleFlowlogExist', 'errorMessage' => 'Operation is invalid because incompatible flowlog config exists.', 'description' => 'There are incompatible Flowlog configurations, please delete and try again.'],
['errorCode' => 'InvalidParameter.LogFormatString', 'errorMessage' => 'LogFormatString is invalid.', 'description' => 'The specified log format is invalid.'],
['errorCode' => 'InvalidParameter.LogStoreName', 'errorMessage' => 'Specified LogStore name is invalid.', 'description' => 'Logstore name is invalid.'],
['errorCode' => 'OperationFailed.InvalidLogInfo', 'errorMessage' => 'The entered log service information is invalid. Check whether the ProjectName and LogStoreName are correct, and whether Log Service has been activated.', 'description' => 'The entered log service information is invalid. Check whether the ProjectName and LogStoreName are correct, and whether Log Service has been activated.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.CenId', 'errorMessage' => 'The specified parameter CenId is invalid.', 'description' => ''],
],
403 => [
['errorCode' => 'NoPermission.AliyunServiceRoleForTRFlowLog', 'errorMessage' => 'You are not authorized to create service linked role AliyunServiceRoleForTRFlowLog.', 'description' => 'You are not authorized to create service linked role AliyunServiceRoleForTRFlowLog.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs', 'callbackInterval' => 3000, 'maxCallbackTimes' => 30],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\",\\n \\"Success\\": \\"true\\",\\n \\"FlowLogId\\": \\"flowlog-m5evbtbpt****\\"\\n}","type":"json"}]',
'title' => 'CreateFlowlog',
'description' => 'You can use flow logs to capture traffic that is transmitted over transit router instances and network instance connections. Network instance connections include inter-region connections, VPC connections, VPN connections, ECR connections, and VBR connections. Before you create a flow log, note the following:'."\n"
."\n"
.'- Only Enterprise Edition transit routers support flow logs.'."\n"
."\n"
.'- For inter-region connections, flow logs capture only outbound traffic from the transit router. Inbound traffic is not captured.'."\n"
."\n"
.' For example, an Elastic Compute Service (ECS) instance in the US (Silicon Valley) region accesses an ECS instance in the US (Virginia) region through Cloud Enterprise Network (CEN). If you create a flow log for the transit router in the US (Virginia) region, you can view messages sent from the ECS instance in the US (Virginia) region to the ECS instance in the US (Silicon Valley) region in the Simple Log Service console. However, you cannot view messages sent from the ECS instance in the US (Silicon Valley) region to the ECS instance in the US (Virginia) region. To view these messages, you must also create a flow log for the transit router in the US (Silicon Valley) region.'."\n"
."\n"
.'- When a flow log captures traffic of a VPC connection, it captures only traffic transmitted over the transit router elastic network interface (ENI). To capture traffic transmitted over other ENIs in the VPC, see [VPC flow log overview](~~127150~~).'."\n"
."\n"
.'- `CreateFlowlog` is an asynchronous operation. After you send a request, the system returns a flow log ID. However, the flow log is not immediately created. The system creates the flow log in the background. You can call the `DescribeFlowlogs` operation to query the status of a flow log.'."\n"
."\n"
.' - If a flow log is in the **Creating** state, it is being created. In this state, you can only query the flow log.'."\n"
."\n"
.' - If a flow log is in the **Active** state, it is created.'."\n"
."\n"
.'### Prerequisites'."\n"
."\n"
.'Before you create a flow log for a resource, make sure that the resource has been created. To create a resource, see the following topics:'."\n"
."\n"
.'- [CreateTransitRouterVpcAttachment](~~468237~~)'."\n"
."\n"
.'- [CreateTransitRouterEcrAttachment](~~2715446~~)'."\n"
."\n"
.'- [CreateTransitRouterVpnAttachment](~~468249~~)'."\n"
."\n"
.'- [CreateTransitRouterVbrAttachment](~~468243~~)'."\n"
."\n"
.'- [CreateTransitRouterPeerAttachment](~~468270~~)'."\n"
."\n"
.'- [CreateTransitRouter](~~468222~~)',
'changeSet' => [
['createdAt' => '2024-12-06T11:09:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-07-02T09:06:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2023-01-03T12:53:10.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-11-22T08:58:43.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-17T10:03:02.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowlog'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateFlowlog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'extraInfo' => ' ',
],
'CreateTrafficMarkingPolicy' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72304',
'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, and 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-8vbuqeo5h5pu3m01d****'],
],
[
'name' => 'TrafficMarkingPolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the traffic marking policy.'."\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, 'title' => '', 'example' => 'nametest'],
],
[
'name' => 'TrafficMarkingPolicyDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the traffic marking policy.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'desctest'],
],
[
'name' => 'Priority',
'in' => 'query',
'schema' => ['description' => 'The priority value of the traffic marking policy. Valid values: **1** to **100**.'."\n"
."\n"
.'The priority value of each traffic marking policy on a transit router must be unique. A smaller value specifies a higher priority.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '5'],
],
[
'name' => 'MarkingDscp',
'in' => 'query',
'schema' => ['description' => 'The differentiated services code point (DSCP) value to be added to packets that match the traffic classification rule. Valid values: **0** to **63**.'."\n"
."\n"
.'The DSCP value of each traffic marking policy on a transit router must be unique.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '5'],
],
[
'name' => 'TrafficMatchRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The traffic classification rules in the traffic marking policy.'."\n"
."\n"
.'Data packets that meet the traffic classification rule is assigned the DSCP value of quality of service (QoS) policy.'."\n"
."\n"
.'You can create up to 50 traffic classification rules.',
'type' => 'array',
'items' => [
'description' => 'The information about the traffic classification rule.',
'type' => 'object',
'properties' => [
'MatchDscp' => ['description' => 'The Differentiated Service Code Point (DSCP) value that is used to match packets. Valid values: **0** to **63**.'."\n"
."\n"
.'Packets that carry the specified DSCP value meet the traffic classification rule. If you do not specify a DSCP value, all packets meet the traffic classification rule.'."\n"
."\n"
.'> The DSCP value that you specify for this parameter is the DSCP value that packets carry before they are transmitted over the inter-region connection.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a DSCP value for each traffic classification rule.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '6'],
'DstCidr' => ['description' => 'The destination CIDR block of packets. IPv4 and IPv6 addresses are supported.'."\n"
."\n"
.'Packets whose destination IP addresses fall into the specified destination CIDR block meet the traffic classification rule. If you do not specify a destination CIDR block, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call You can specify a destination CIDR block for each traffic classification rule.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '10.10.10.0/24'],
'TrafficMatchRuleDescription' => ['description' => 'The description of the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a description for each traffic classification rule.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'desctest'],
'Protocol' => ['description' => 'The protocol that is used to match packets.'."\n"
."\n"
.'Traffic classification rules support the following protocols: **HTTP**, **HTTPS**, **TCP**, **UDP**, **SSH**, and **Telnet**. For more information, log on to the [CEN console](https://cen.console.aliyun.com/cen/list).'."\n"
."\n"
.'**Some protocols use a fixed port. Click to view the protocols and ports.**'."\n"
."\n"
.'- If the protocol is **ICMP**, the destination port must be **-1**.'."\n"
."\n"
.'- If the protocol is **GRE**, the destination port must be **1**.'."\n"
."\n"
.'- If the protocol is **SSH**, the destination port must be **22**.'."\n"
."\n"
.'- If the protocol is **Telnet**, the destination port must be **23**.'."\n"
."\n"
.'- If the protocol is **HTTP**, the destination port must be **80**.'."\n"
."\n"
.'- If the protocol is **HTTPS**, the destination port must be **443**.'."\n"
."\n"
.'- If the protocol is **MS SQL**, the destination port must be **1443**.'."\n"
."\n"
.'- If the protocol is **Oracle**, the destination port must be **1521**.'."\n"
."\n"
.'- If the protocol is **Mysql**, the destination port must be **3306**.'."\n"
."\n"
.'- If the protocol is **RDP**, the destination port must be **3389**.'."\n"
."\n"
.'- If the protocol is **Postgre SQL**, the destination port must be **5432**.'."\n"
."\n"
.'- If the protocol is **Redis**, the destination port must be **6379**.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a protocol for each traffic classification rule.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'HTTP'],
'DstPortRange' => [
'description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose destination ports fall within the destination port range meet the traffic classification rule. If you do not specify destination port range, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose destination port is 1 meet the traffic classification rule. A value of -1 specifies all destination ports.'."\n"
."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose destination ports fall into 1 and 200 meet the traffic classification rule.'."\n"
."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a destination port range for each traffic classification rule.',
'type' => 'array',
'items' => ['description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose destination ports fall within the destination port range meet the traffic classification rule. If you do not specify destination port range, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose destination port is 1 meet the traffic classification rule.'."\n"
."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose destination ports fall into 1 and 200 meet the traffic classification rule.'."\n"
."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a destination port range for each traffic classification rule.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '80'],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
'SrcCidr' => ['description' => 'The source CIDR block of packets. IPv6 and IPv4 addresses are supported.'."\n"
."\n"
.'Packets whose source IP addresses fall into the specified source CIDR block meet the traffic classification rule. If you do not specify a source CIDR block, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a source CIDR block for each traffic classification rule.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '192.168.10.0/24'],
'SrcPortRange' => [
'description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose source ports fall within the source port range meet the traffic classification rule. If you do not specify a source port range, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose source port is 1 meet the traffic classification rule. A value of -1 specifies all source ports.'."\n"
."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose source ports fall into 1 and 200 meet the traffic classification rule.'."\n"
."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a source port range for each traffic classification rule.',
'type' => 'array',
'items' => ['description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose source ports fall within the source port range meet the traffic classification rule. If you do not specify a source port range, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'- If you enter only one port number, such as 1, packets whose source port is 1 meet the traffic classification rule.'."\n"
."\n"
.'- If you enter two port numbers, such as 1 and 200, packets whose source ports fall into 1 and 200 meet the traffic classification rule.'."\n"
."\n"
.'- If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a source port range for each traffic classification rule.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '1'],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
'TrafficMatchRuleName' => ['description' => 'The name of the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a name for each traffic classification rule.'."\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, 'title' => '', 'example' => 'nametest'],
'AddressFamily' => ['description' => 'The address family. You can set the value to IPv4 or IPv6, or leave the value empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'IPv4'],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'TrafficMarkingPolicyId' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'title' => '', 'example' => 'tm-u9nxup5kww5po8****'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A'],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found.', 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['errorCode' => 'IllegalParam.Protocol', 'errorMessage' => 'Protocol is illegal.', 'description' => 'The error message returned because the specified protocol is invalid.'],
['errorCode' => 'OperationFailed.TransitRouterType', 'errorMessage' => 'Operation failed because The Basic TransitRouter does not support this action.', 'description' => 'The error message returned because this operation is not supported by Basic Edition transit routers.'],
['errorCode' => 'IllegalParam.Priority', 'errorMessage' => 'Priority is illegal.', 'description' => 'The error message returned because the specified priority is invalid.'],
['errorCode' => 'IllegalParam.MarkingDscp', 'errorMessage' => 'MarkingDscp is illegal.', 'description' => 'The error message returned because the MarkingDscp parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.SrcCidr', 'errorMessage' => 'SrcCidr is illegal.', 'description' => 'The error message returned because the specified source CIDR block is invalid.'],
['errorCode' => 'IllegalParam.DstCidr', 'errorMessage' => 'DstCidr is illegal.', 'description' => 'The error message returned because the specified destination CIDR block (DstCidr) is invalid.'],
['errorCode' => 'Duplicated.Priority', 'errorMessage' => 'The parameter Priority is duplicated.', 'description' => 'The error message returned because duplicate priorities are specified.'],
['errorCode' => 'Duplicated.MarkingDscp', 'errorMessage' => 'The parameter MarkingDscp is duplicated.', 'description' => 'The error message returned because the MarkingDscp parameter specifies duplicate descriptions.'],
['errorCode' => 'Duplicated.TrafficMatchRules', 'errorMessage' => 'The parameter TrafficMatchRules are duplicated.', 'description' => 'The error message returned because the traffic match rules (TrafficMatchRules) are duplicate.'],
['errorCode' => 'QuotaExceeded.TrafficMatchRule', 'errorMessage' => 'The maximum number of TrafficMatchRule per Transit Router is exceeded.', 'description' => 'The number of flow classification rules supported by each forwarding router instance exceeds the limit. You can submit a work order to increase the quota.'],
['errorCode' => 'IllegalParam.MatchDscp', 'errorMessage' => 'MarkingDscp is invalid.', 'description' => 'MarkingDscp parameter is illegal.'],
['errorCode' => 'IllegalParam.SrcPortRange', 'errorMessage' => 'The specified SrcPortRange is illegal.', 'description' => ''],
['errorCode' => 'IllegalParam.DstPortRange', 'errorMessage' => 'The specified DstPortRange is illegal.', 'description' => 'The specified DstPortRange is illegal.'],
['errorCode' => 'AttrMismatching.CidrAddressFamily', 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.', 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.'],
['errorCode' => 'IllegalParam.AddressFamily', 'errorMessage' => 'AddressFamily is illegal.', 'description' => 'The AddressFamily value of the request parameter is invalid. Valid values are IPv4 or IPv6.'],
['errorCode' => 'AttrMismatching.SrcCidrDstCidr', 'errorMessage' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.', 'description' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.'],
['errorCode' => 'AttrMismatching.CidrProtocol', 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.', 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'OperationUnsupported.DstPortRange', 'errorMessage' => 'Current TR version does not support setting destination port range.', 'description' => 'Current TR version does not support setting destination port range.'],
['errorCode' => 'OperationUnsupported.SrcPortRange', 'errorMessage' => 'Current TR version does not support setting source port range.', 'description' => 'Current TR version does not support setting source port range'],
['errorCode' => 'OperationUnsupported.IPv6Cidr', 'errorMessage' => 'The traffic marking policy for current TR type does not support IPv6 CIDR.', 'description' => 'The flow classification rules in the flow marking policy of the basic version forwarding router do not support IPv6 network segments.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TransitRouterId', 'errorMessage' => 'The parameter TransitrouterId is mandatory.', 'description' => 'The error message returned because the TransitRouterId parameter is not set.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTrafficMarkingPolicy',
'summary' => 'Creates a traffic marking policy. A traffic marking policy captures network traffic based on traffic classification rules and marks the traffic with the Differentiated Services Code Point (DSCP) values that you specify.',
'description' => '- Only Enterprise Edition transit routers support traffic marking policies.'."\n"
."\n"
.'- **CreateTrafficMarkingPolicy** is an asynchronous operation. After you send a request, the system returns a traffic marking policy ID and runs the task in the background. You can call the **ListTrafficMarkingPolicies** operation to query the status of a traffic marking policy.'."\n"
."\n"
.' - If a traffic marking policy is in the **Creating** state, the traffic marking policy is being created. You can query the traffic marking policy but cannot perform other operations.'."\n"
."\n"
.' - If a traffic marking policy is in the **Active** state, the traffic marking policy is created.',
'changeSet' => [
['createdAt' => '2024-11-22T02:31:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-10T02:52:27.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-08-20T06:45:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-04-19T07:35:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-03-15T06:43:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-07T11:40:10.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-09T03:13:08.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-30T08:45:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TrafficMarkingPolicyId\\": \\"tm-u9nxup5kww5po8****\\",\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
'CreateTransitRouteTableAggregation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '154219',
'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
'name' => 'TransitRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-iq8qgruq1ry8jc7vt****', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationName',
'in' => 'query',
'schema' => ['description' => 'The name of the aggregate route.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the aggregate route.'."\n"
."\n"
.'> The following CIDR blocks are not supported:'."\n"
."\n"
.'- CIDR blocks that start with 0 or 100.64'."\n"
."\n"
.'- Multicast addresses (224.0.0.1 to 239.255.255.254)', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationScope',
'in' => 'query',
'schema' => ['description' => 'The propagation scope of the aggregate route.'."\n"
."\n"
.'The only valid value is **VPC**. This value indicates that the aggregate route is propagated to all VPC instances that are associated with the route table of the Enterprise Edition transit router and have route synchronization enabled.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationScopeList',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The list of propagation scopes for the aggregate route.'."\n"
."\n"
.'> You must specify either this parameter or TransitRouteTableAggregationScope. We recommend that you use this parameter. The elements in this list cannot be the same as the value of TransitRouteTableAggregationScope.',
'type' => 'array',
'items' => ['description' => 'The list of propagation scopes for the aggregate route. Valid values:'."\n"
."\n"
.'- **VPC**: propagates the aggregate route to all VPC instances that are associated with the route table of the Enterprise Edition transit router and have route synchronization enabled.'."\n"
."\n"
.'- **VBR**: propagates the aggregate route to VBR instances that are attached to the Enterprise Edition transit router.'."\n"
."\n"
.'- **Peer**: propagates the aggregate route to transit routers that have an inter-region connection with the Enterprise Edition transit router.'."\n"
."\n"
.'- **VPN**: propagates the aggregate route to VPN attachments that are attached to the Enterprise Edition transit router.'."\n"
."\n"
.'- **ECR**: propagates the aggregate route to ECR instances that are attached to the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'TransitRouteTableAggregationDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the aggregate route.'."\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' => 'desctest', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a value from your client to make sure that the value 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 API request as the ClientToken. The RequestId may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for the request. A dry run checks permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request. If the request passes the check, an aggregate route is created.'."\n"
."\n"
.'- **true**: sends a check request to verify the required parameters and the request format. The aggregate route is not created. If the request fails the check, an error is returned. If the request passes the check, the `DryRunOperation` error code is returned.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.RegionNotSupport', 'errorMessage' => 'The Operation is not Support in this region.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'InstanceExist.AggregationRoute', 'errorMessage' => 'This aggregation route is already created.', 'description' => 'The error message returned because the aggregated route already exists.'],
['errorCode' => 'InstanceNotExist.TransitRouteTable', 'errorMessage' => 'The transitRouter route table is not exist.', 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouteTable', 'errorMessage' => 'The transitRouter route table is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the transit router route table does not support this operation. Try again later.'],
['errorCode' => 'QuotaExceeded.AggregationRoute', 'errorMessage' => 'The aggregation route count is over limit.', 'description' => 'The error message returned because the number of aggregated routes has reached the upper limit.'],
['errorCode' => 'InstanceNotExist.TransitRouter', 'errorMessage' => 'The aggregation route is not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of transitRouter is invalid.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'OperationUnsupported.ServiceMode', 'errorMessage' => 'The operation is not supported because of the wrong transitRouter service mode.', 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'The cidr block is invalid.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'RouteConflict', 'errorMessage' => 'The specified route already exists.', 'description' => 'The specified route already exists.'],
['errorCode' => 'InvalidOperation.InstanceNotSupportIPv6Route', 'errorMessage' => 'The cen dose not support Ipv6 route.', 'description' => ''],
['errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr', 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.', 'description' => ''],
['errorCode' => 'MissingParameter.ScopeListOrScope', 'errorMessage' => 'The input parameter TransitRouteTableAggregationScopeList or TransitRouteTableAggregationScope that is mandatory for processing this request is not supplied.', 'description' => 'The input parameter TransitRouteTableAggregationScopeList or TransitRouteTableAggregationScope that is mandatory for processing this request is not supplied.'],
['errorCode' => 'InvalidParameter.TransitRouteTableAggregationScope', 'errorMessage' => 'TransitRouteTableAggregationScope is invalid.', 'description' => 'The propagation scope of the aggregate route is illegal.'],
['errorCode' => 'InvalidParameter.TransitRouteTableAggregationScopeList', 'errorMessage' => 'TransitRouteTableAggregationScopeList is invalid.', 'description' => 'TransitRouteTableAggregationScopeList is invalid.'],
['errorCode' => 'MissingParam.TransitRouteTableAggregationScope', 'errorMessage' => 'The parameter TransitRouteTableAggregationScope is mandatory.', 'description' => 'The parameter TransitRouteTableAggregationScope is mandatory.'],
['errorCode' => 'IllegalParam.TransitRouteTableAggregationScope', 'errorMessage' => 'TransitRouteTableAggregationScope is invalid, valid value is VPC.', 'description' => 'TransitRouteTableAggregationScope is invalid, valid value is VPC.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'CreateTransitRouteTableAggregation',
'summary' => 'Creates an aggregate route.',
'description' => 'After you add an aggregate route to the route table of an Enterprise Edition transit router, the transit router propagates the aggregate route only to the route tables of VPC instances that are associated with the transit router route table and have route synchronization enabled.'."\n"
."\n"
.'Before you create an aggregate route, make sure that the following requirements are met. Otherwise, the Enterprise Edition transit router does not propagate the aggregate route to the route tables of VPC instances:'."\n"
."\n"
.'- The VPC instance is associated with the route table of the Enterprise Edition transit router. For more information, see [AssociateTransitRouterAttachmentWithRouteTable](~~261242~~).'."\n"
."\n"
.'- Route synchronization is enabled for the VPC instance. For more information, see [CreateTransitRouterVpcAttachment](~~261358~~).',
'changeSet' => [
['createdAt' => '2025-02-27T01:22:31.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2025-01-17T07:56:26.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2023-03-21T02:19:10.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouteTableAggregation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'CreateTransitRouter' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72305',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a client token 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 automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-zhangjiakou', 'title' => ''],
],
[
'name' => 'TransitRouterName',
'in' => 'query',
'schema' => ['description' => 'The name of the Enterprise Edition transit router instance.'."\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' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the Enterprise Edition transit router instance.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. The dry run checks permissions and whether the required parameters are specified. Valid values:'."\n"
."\n"
.'- **false** (default): sends the request and creates the instance after the request passes the check.'."\n"
."\n"
.'- **true**: sends a dry run request to check the parameters without creating the instance. The system checks the required parameters, request format, and permissions. 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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'SupportMulticast',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the multicast feature for the Enterprise Edition transit router. Valid values:'."\n"
."\n"
.'- **false** (default): disables the multicast feature.'."\n"
."\n"
.'- **true**: enables the multicast feature.'."\n"
."\n"
.'The multicast feature is supported only in some regions. You can call the [ListTransitRouterAvailableResource](~~261356~~) operation to query the regions that support multicast.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterCidrList',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The CIDR blocks of the transit router.',
'type' => 'array',
'items' => [
'description' => 'The CIDR blocks of the transit router.'."\n"
."\n"
.'You can add at most five CIDR blocks. For more information about CIDR blocks of transit routers, see [CIDR blocks of transit routers](~~462635~~).'."\n"
."\n"
.'> Only Enterprise Edition transit routers support CIDR blocks.',
'type' => 'object',
'properties' => [
'Cidr' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
'Name' => ['description' => 'The name of the CIDR block.'."\n"
."\n"
.'The name must be 1 to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
'Description' => ['description' => 'The description of the CIDR block.'."\n"
."\n"
.'The description must be 1 to 256 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
'PublishCidrRoute' => ['description' => 'Specifies whether to automatically advertise the route of the CIDR block to the route table of the transit router.'."\n"
."\n"
.'- **true** (default): yes.'."\n"
."\n"
.' If you select this option, after you create a VPN connection that uses a private gateway and create a route learning correlation for the VPN connection, the system automatically adds the following route to the route table of the transit router with which the VPN connection is associated:'."\n"
."\n"
.' A blackhole route whose destination CIDR block is the CIDR block of the transit router. The CIDR block of the transit router refers to the CIDR block from which a gateway IP address is allocated to the IPsec connection.'."\n"
."\n"
.' This blackhole route is advertised only to the route tables of virtual border router (VBR) instances that are connected to the transit router.'."\n"
."\n"
.'- **false**: no.', 'type' => 'boolean', 'default' => 'True', 'required' => false, 'example' => 'true', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag.',
'type' => 'array',
'items' => [
'description' => 'The tag.'."\n"
."\n"
.'You can specify at most 20 tags.',
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify at most 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be empty or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify at most 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'TransitRouterId' => ['description' => 'The ID of the Enterprise Edition transit router instance.', 'type' => 'string', 'example' => 'tr-uf6llz2286805i44g****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '404DA7EC-F495-44B5-B543-6EDCDF90F3D1', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.RegionId', 'errorMessage' => 'The specified Region is not supported.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'InstanceExist.TransitRouterInstance', 'errorMessage' => 'The instance already exists.', 'description' => 'The error message returned because a transit router with the same ID already exists in the current region. Transit router IDs in the same region must be unique.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'OperationUnsupported.SupportMulticast', 'errorMessage' => 'The multicast is not supported in the specified region.', 'description' => 'The error message returned because multicast is not supported in the specified region.'],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support TransitRouter.', 'description' => ''],
['errorCode' => 'IllegalParam.Cidr', 'errorMessage' => 'Cidr is illegal.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'Illegal.TrType', 'errorMessage' => 'The TransitRouter type is illegal.', 'description' => 'The error message returned because the specified type of transit router does not support this operation.'],
['errorCode' => 'OperationUnsupported.TransitRouterCidrList', 'errorMessage' => 'The TransitRouterCidrList is not support in the specified Region.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'OperationFailed.CidrConflict', 'errorMessage' => 'Operation is invalid because the cidr conflict.', 'description' => 'The error message returned because the specified CIDR block conflicts with another one.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified region is invalid.', 'description' => ''],
['errorCode' => 'OverLappingExist.Cidr', 'errorMessage' => 'The cidr overlapping exist.', 'description' => 'The error message returned because CIDR overlapping is already enabled.'],
['errorCode' => 'IllegalParam.ServiceMode', 'errorMessage' => 'The specified ServiceMode is invalid.', 'description' => 'The error message returned because the specified service mode is invalid.'],
['errorCode' => 'ParamExclusive.ServiceModeAndSupportMulticast', 'errorMessage' => 'ServiceMode and SupportMulticast is mutually exclusive.', 'description' => 'The error message returned because transit routers in the current mode do not support multicast.'],
['errorCode' => 'ParamExclusive.ServiceModeAndTransitRouterCidrList', 'errorMessage' => 'ServiceMode and TransitRouterCidrList is mutually exclusive.', 'description' => 'The error message returned because transit routers in the current mode do not support CIDR blocks.'],
['errorCode' => 'OperationUnsupported.Tag', 'errorMessage' => 'The Tag is not supported in the specified region.', 'description' => 'The error message returned because transit routers in the current region do not support tags.'],
['errorCode' => 'IllegalParam.SupportMulticast', 'errorMessage' => 'Basic Transit router is not support multicast.', 'description' => 'The error message returned because Basic Edition transit routers do not support multicast.'],
['errorCode' => 'ParamExclusive.BasicAndPrimaryStandby', 'errorMessage' => 'Basic and PrimaryStandby is mutually exclusive.', 'description' => 'The error message returned because Basic Edition transit routers do not support the PrimaryStandby mode.'],
['errorCode' => 'ParamExclusive.BasicAndMultiPrimary', 'errorMessage' => 'Basic and MultiPrimary is mutually exclusive.', 'description' => 'The error message returned because Basic Edition transit routers do not support the MultiPrimary mode.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'The Specified Parameter RegionId is illegal.', 'description' => 'The region specified in the parameter is invalid.'],
['errorCode' => 'OperationFailed.PostPay95BwpNotAllowEnterpriseTr', 'errorMessage' => 'Cbn with post pay 95 bandwidth package does not allow enterprise tr.', 'description' => 'Cbn with post pay 95 bandwidth package does not allow enterprise tr.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouters', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTransitRouter',
'summary' => 'You can call the CreateTransitRouter operation to create an Enterprise Edition transit router instance.',
'description' => '- You can call the **CreateTransitRouter** operation to create an Enterprise Edition transit router instance. Enterprise Edition transit routers are available only in some regions. For more information about the supported regions, see [What is Cloud Enterprise Network?](~~181681~~).'."\n"
."\n"
.'- **CreateTransitRouter** is an asynchronous operation. After you send a request, the system returns an Enterprise Edition transit router instance ID, but the instance is still being created in the background. You can call the [ListTransitRouters](~~261219~~) operation to query the status of the Enterprise Edition transit router instance.'."\n"
."\n"
.' - If an Enterprise Edition transit router instance is in the **Creating** state, you can only query the instance and cannot perform other operations.'."\n"
."\n"
.' - If an Enterprise Edition transit router instance is in the **Active** state, the instance has been created.'."\n"
."\n"
.'- You can create only one transit router instance in each region for a CEN instance.',
'changeSet' => [
['createdAt' => '2024-10-28T08:57:14.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-20T01:47:40.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-03T12:53:10.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-23T06:13:12.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-22T08:58:44.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T07:55:57.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouter'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouter',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterId\\": \\"tr-uf6llz2286805i44g****\\",\\n \\"RequestId\\": \\"404DA7EC-F495-44B5-B543-6EDCDF90F3D1\\"\\n}","type":"json"}]',
'extraInfo' => ' ',
],
'CreateTransitRouterCidr' => [
'summary' => 'A transit router CIDR block is a custom CIDR block that you can create for a transit router. This CIDR block is similar to a CIDR block that is used to assign an IP address to a router\'s loopback interface. Call the CreateTransitRouterCidr operation to create a CIDR block for a transit router.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '146054',
'abilityTreeNodes' => ['FEATUREcbnT33W0H'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token on 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 automatically uses the request ID as the client token. The request ID is different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The name of the transit router CIDR block.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the transit router CIDR block.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, the transit router CIDR block is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Cidr',
'in' => 'query',
'schema' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'PublishCidrRoute',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'Specifies whether to allow the system to automatically add a route that points to the transit router CIDR block to the route table of the transit router.'."\n"
."\n"
.'- **true** (default): Yes.'."\n"
."\n"
.' After you create a VPN connection that uses a private VPN gateway and enable route learning for the connection, the system automatically adds a blackhole route to the route table of the associated transit router. The destination of this route is the transit router CIDR block. The transit router CIDR block is the CIDR block from which a gateway IP address is allocated to the IPsec connection. This blackhole route is advertised only to the route tables of virtual border routers (VBRs) that are connected to the transit router.'."\n"
."\n"
.' A blackhole route whose destination CIDR block is the transit router CIDR block, which refers to the CIDR block from which gateway IP addresses are allocated to the IPsec-VPN connection. The blackhole route is advertised only to the route tables of virtual border routers (VBRs) connected to the transit router.'."\n"
."\n"
.'- **false**: No.', 'type' => 'boolean', 'default' => 'True', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'TransitRouterCidrId' => ['description' => 'The ID of the transit router CIDR block.', 'type' => 'string', 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OverLappingExist.Cidr', 'errorMessage' => 'The cidr overlapping exist.', 'description' => 'The error message returned because CIDR overlapping is already enabled.'],
['errorCode' => 'OperationUnsupported.TransitRouterCidr', 'errorMessage' => 'Transit region does not support the operation.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'IllegalParam.Cidr', 'errorMessage' => 'The specified cidr is invalid.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'The specified RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'CreateTransitRouterCidr',
'description' => 'A transit router CIDR block is a custom CIDR block that you can create for a transit router. It is similar to a CIDR block used to assign an IP address to a router\'s loopback interface. A transit router CIDR block is used to allocate IP addresses to network instance connections. For more information, see [Transit router CIDR blocks](~~462635~~).'."\n"
."\n"
.'The **CreateTransitRouterCidr** operation is used to add a CIDR block to a transit router only after the transit router is created.'."\n"
."\n"
.'Before you create a transit router CIDR block, note the following information:'."\n"
."\n"
.'- Only Enterprise Edition transit routers support CIDR blocks.'."\n"
."\n"
.'- For more information about the limits on transit router CIDR blocks, see [Limits on transit router CIDR blocks](~~462635~~).'."\n"
."\n"
.'- A transit router supports up to five CIDR blocks. The subnet mask of each CIDR block must be 16 to 24 bits in length.'."\n"
."\n"
.'- You cannot create CIDR blocks that are within 100.64.0.0/10, 224.0.0.0/4, 127.0.0.0/8, or 169.254.0.0/16, or their subnets.'."\n"
."\n"
.'- Each CIDR block must not conflict with the CIDR blocks of interconnected network instances in the Cloud Enterprise Network (CEN) instance.'."\n"
."\n"
.'- Each CIDR block must be unique within the same CEN instance.'."\n"
."\n"
.'- After you add a CIDR block to a transit router and create the first VPN connection on it, the system automatically allocates three CIDR blocks from the specified CIDR block. These three CIDR blocks are reserved by the system for creating VPN connections. The system then allocates IP addresses to IPsec connections from the remaining CIDR blocks.'."\n"
."\n"
.' You can call the [ListTransitRouterCidrAllocation](~~464173~~) operation to query the CIDR blocks that are reserved by the system or allocated to IPsec connections.',
'changeSet' => [
['createdAt' => '2024-12-06T11:09:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-26T06:57:26.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-01-18T06:29:31.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-03-09T08:42:54.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-30T08:45:49.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterCidr'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterCidrId\\": \\"cidr-0zv0q9crqpntzz****\\",\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
'CreateTransitRouterEcrAttachment' => [
'summary' => 'Call the CreateTransitRouterEcrAttachment operation to connect an Express Connect Router (ECR) instance to a transit router in the same region.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '195515',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Make sure that the client token is unique for each request. 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 is different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'eu-central-1', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The name of the ECR connection.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the ECR connection.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
[
'name' => 'EcrId',
'in' => 'query',
'schema' => ['description' => 'The ID of the ECR instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ecr-upyc0viial107r****', 'title' => ''],
],
[
'name' => 'EcrOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the ECR instance belongs. The default value is the ID of the current Alibaba Cloud account.'."\n"
."\n"
.'> If you want to connect to a network instance that belongs to another Alibaba Cloud account, this parameter is required.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1250123456123456', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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. The system does not change the configuration of the ECR connection.'."\n"
."\n"
.'- **false** (default): sends a normal request. If the request passes the check, the system changes the configuration of the ECR connection.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags in each call.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be empty or up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the ECR connection.', 'type' => 'string', 'example' => 'tr-attach-qieks13jnt1cchy***', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'OperationUnsupported.TransitRouterRegionId', 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.', 'description' => ''],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'CenId is not found.', 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['errorCode' => 'InvalidStatus.ResourceStatus', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the specified resource does not support this operation. Try again later.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found.', 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'MissingParam.CenIdOrRegionId', 'errorMessage' => 'Either CenId or RegionId must be specified.', 'description' => 'The error message returned because the CenId or RegionId parameter is not set.'],
['errorCode' => 'IllegalParam.AssociateRouteTableId', 'errorMessage' => 'The specified AssociateRouteTableId is illegal.', 'description' => 'The error message returned because the specified route table ID (AssociateRouteTableId) is invalid.'],
['errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid', 'errorMessage' => 'Operation is invalid, please apply for cross-bid attaching.', 'description' => ''],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support TransitRouter', 'description' => 'The error message returned because CEN instances of the Full type do not support Enterprise Edition transit routers.'],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ', 'description' => ''],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'QuotaFull.ChildInstanceRelatedCen', 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.', 'description' => 'The error message returned because the number of CEN instances to which the instance is attached has reached the upper limit. You cannot attach the instance to more CEN instances.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen', 'errorMessage' => 'The resource owner user has not opened transit router service.', 'description' => 'The transit router service for the resource owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['errorCode' => 'OperationUnsupported.BandwidthType', 'errorMessage' => 'The specified BandwidthType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified bandwidth type.'],
['errorCode' => 'IllegalParam.BandwidthType', 'errorMessage' => 'BandwidthType is illegal.', 'description' => 'The error message returned because the specified bandwidth plan type is invalid.'],
['errorCode' => 'IncorrectStatus.EcrResource', 'errorMessage' => 'The ECR resource is not in a valid state for the attachment operation.', 'description' => 'The ECR resource is not in a valid state for the attachment operation.'],
['errorCode' => 'QuotaExceeded.CenQuotaEcrAttachPerTransitRouter', 'errorMessage' => 'The maximum number of ECR attachment per Transit Router is exceeded.', 'description' => 'The maximum number of ECR attachment per Transit Router is exceeded.'],
['errorCode' => 'OperationUnsupported.ECRAttachment', 'errorMessage' => 'ECR Attachment is not supported.', 'description' => 'ECR Attachment is not supported.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'ResourceNotFound', 'errorMessage' => 'The resource does not found.', 'description' => 'The resource does not found.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceExpired', 'errorMessage' => 'The transit router service of the account to which the resource belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'description' => 'The transit router service of the account to which the resource belongs has been suspended. Please notify the other party to renew the service and try again.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'Forbbiden.AttachAcrossBidEcr', 'errorMessage' => 'Attach cross bid ECR is unsupported. Please submit a ticket.', 'description' => 'Attach cross bid ECR is unsupported. Please submit a ticket.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The specified parameter ResourceType is invalid.', 'description' => ''],
['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => 'The error message returned because the system is unavailable. Try again later.'],
['errorCode' => 'OperationDenied.AttachmentInCurrentRegionExisted', 'errorMessage' => 'The current operation is rejected. The Express Connect Router instance can only associate one Transit Router in the same region.', 'description' => ''],
],
],
'title' => 'CreateTransitRouterEcrAttachment',
'description' => '- Only Enterprise Edition transit routers support ECR connections.'."\n"
."\n"
.'- You can create an ECR connection on an Enterprise Edition transit router in one of the following two ways:'."\n"
."\n"
.' - If you have an Enterprise Edition transit router instance in the destination region, you can create an ECR connection by specifying **EcrId**, **RegionId**, and **TransitRouterId**.'."\n"
."\n"
.' - If you do not have an Enterprise Edition transit router instance in the destination region, you can create an ECR connection by specifying **EcrId**, **CenId**, and **RegionId**. When you create the ECR connection, the system automatically creates an Enterprise Edition transit router instance for you.'."\n"
."\n"
.'- CreateTransitRouterEcrAttachment is an asynchronous operation. After you send a request, the system returns an ECR connection ID, but the connection is created in the background. You can call the ListTransitRouterEcrAttachments operation to query the status of the ECR connection.'."\n"
."\n"
.' - If an ECR connection is in the **Attaching** status, the connection is being created. In this status, you can only query the connection and cannot perform other operations.'."\n"
."\n"
.' - If an ECR connection is in the **Attached** status, the connection is created.'."\n"
."\n"
.'- By default, after an ECR connection is created, it is not associated with any route table of the Enterprise Edition transit router for route learning or forwarding.'."\n"
."\n"
.' After the ECR connection is associated with a route table of the Enterprise Edition transit router for [route learning](~~468300~~), the system automatically propagates the routes from the ECR instance to the route table of the Enterprise Edition transit router.'."\n"
."\n"
.'- After an ECR connection is created, the system automatically propagates routes from the route table of the Enterprise Edition transit router associated with the ECR connection to the route table of the ECR instance.'."\n"
."\n"
.'### Prerequisites'."\n"
."\n"
.'- The Alibaba Cloud accounts that own the Enterprise Edition transit router and the ECR instance must belong to the same enterprise.'."\n"
."\n"
.'- An Enterprise Edition transit router can connect to ECR instances that belong to the same account or different accounts. Before you create a cross-account ECR connection, you must obtain authorization from the account that owns the ECR instance. For more information, see [Authorize a cross-account network instance](~~181553~~).'."\n"
."\n"
.'- **Before you call this operation to create an ECR connection, you must call the [CreateExpressConnectRouterAssociation](~~2712082~~) operation to create an association between the ECR instance and the Enterprise Edition transit router instance.**'."\n"
."\n"
.' **When you call the DeleteTransitRouterEcrAttachment operation to force delete an ECR connection, the system also deletes the association between the ECR instance and the Enterprise Edition transit router instance. You do not need to delete the association separately.**',
'changeSet' => [
['createdAt' => '2025-01-23T10:33:54.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-10-28T08:57:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:17.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-01T08:31:39.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'CreateTransitRouterEcrAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterEcrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-qieks13jnt1cchy***\\",\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
],
'CreateTransitRouterMulticastDomain' => [
'summary' => 'A multicast domain defines the scope of a multicast network in a region. Only resources within the multicast domain can send and receive multicast traffic. You can call the CreateTransitRouterMulticastDomain operation to create a multicast domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129145',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token on your client to make sure that the token is unique among different requests. The token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-a7syd349kne38g****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-p0wr9p28r92d598y6****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainName',
'in' => 'query',
'schema' => ['description' => 'The name of the multicast domain.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the multicast domain.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): sends a normal request. After the request passes the check, the multicast domain is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag.'."\n"
."\n"
.'You can specify up to 20 tags in each call.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'Options',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The multicast domain options.',
'type' => 'object',
'properties' => [
'Igmpv2Support' => ['description' => 'Specifies whether to enable the Internet Group Management Protocol (IGMP) feature for the multicast domain. After you enable IGMP, hosts can dynamically join or leave multicast groups using IGMP. Valid values:'."\n"
."\n"
.'- **enable**: enables the IGMP feature.'."\n"
."\n"
.'- **disable** (default): disables the IGMP feature.'."\n"
."\n"
.'> * The IGMP feature is in public preview. To use this feature, contact your account manager to request permissions.'."\n"
.'>'."\n"
.'> * After the IGMP feature is enabled, you cannot disable it.', 'type' => 'string', 'required' => false, 'example' => 'enable', 'title' => ''],
'StrictSourceControl' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'enable', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'TransitRouterMulticastDomainId' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '94E19C6F-206F-5223-9A63-64B85851BC04', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'The specified TransitRouterId is not found.', 'description' => 'The error message returned because the specified transit router ID (TransitRouterId) does not exist.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The specified TransitRouterId is illegal.', 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is illegal.', 'description' => 'The error message returned because the specified CEN instance ID is invalid.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'The specified RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'The specified CenId is not found.', 'description' => 'The error message returned because the specified CEN instance ID does not exist.'],
['errorCode' => 'InvalidOperation.TransitRouterNotExist', 'errorMessage' => 'Operation is invalid because the transit router not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'InvalidOperation.CENInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation.', 'description' => ''],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationUnsupported.ServiceMode', 'errorMessage' => 'The specified ServiceMode does not support the operation.', 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['errorCode' => 'OperationUnsupported.TransitRouterSupportMulticast', 'errorMessage' => 'The specified TransitRouterSupportMulticast does not support the operation.', 'description' => ''],
['errorCode' => 'OperationUnsupported.RegionId', 'errorMessage' => 'The specified RegionId does not support the operation.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'IncorrectStatus.Cen', 'errorMessage' => 'The status of Cen is incorrect.', 'description' => 'The error message returned because the status of the specified CEN instance does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'QuotaExceeded.MulticastDomain', 'errorMessage' => 'The MulticastDomain quota is exceeded.', 'description' => 'The error message returned because the number of multicast domains has reached the upper limit. You cannot add more multicast domains.'],
['errorCode' => 'IllegalParam.Igmpv2Support', 'errorMessage' => 'The specified Igmpv2Support is illegal. Valid values are [enable, disable].', 'description' => 'The parameter Igmpv2Support is invalid. Value range: enable, disable.'],
['errorCode' => 'OperationUnsupported.Igmpv2Support', 'errorMessage' => 'The current UID does not allow the creation of a igmpv2 multicast domain. Please submit a ticket.', 'description' => 'The current UID does not allow the creation of a multicast domain of the igmpv2 type. Please submit a ticket.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'CreateTransitRouterMulticastDomain',
'description' => 'Before you call this operation, note the following:'."\n"
."\n"
.'- Make sure that you have created an Enterprise Edition transit router in the region where you want to create the multicast network and enabled the multicast feature for the transit router. For more information, see [CreateTransitRouter](~~261169~~).'."\n"
."\n"
.' If you created an Enterprise Edition transit router before you requested multicast resources, you cannot enable the multicast feature for the transit router. You must delete the current Enterprise Edition transit router and create a new one. For more information about how to delete an Enterprise Edition transit router, see [DeleteTransitRouter](~~261218~~).'."\n"
."\n"
.'- When you call the **CreateTransitRouterMulticastDomain** operation, if you specify **CenId** and **RegionId**, you do not need to specify **TransitRouterId**. If you specify **TransitRouterId**, you do not need to specify **CenId** or **RegionId**.',
'changeSet' => [
['createdAt' => '2025-01-06T03:35:55.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-09-25T06:32:47.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2023-01-03T12:53:10.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-22T08:58:43.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterMulticastDomain'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-40cwj0rgzgdtam****\\",\\n \\"RequestId\\": \\"94E19C6F-206F-5223-9A63-64B85851BC04\\"\\n}","type":"json"}]',
],
'CreateTransitRouterPeerAttachment' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72307',
'abilityTreeNodes' => ['FEATUREcbnFWWHEY'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token 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** as the **ClientToken**. The **RequestId** is different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cen-j3jzhw1zpau2km****'],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the local Enterprise Edition transit router instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'tr-bp1su1ytdxtataupl****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the local Enterprise Edition transit router instance is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The name of the inter-region connection.'."\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, 'title' => '', 'example' => 'testname'],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the inter-region connection.'."\n"
."\n"
.'The description is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testdesc'],
],
[
'name' => 'PeerTransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the peer transit router instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-m5eq27g6bndum7e88****'],
],
[
'name' => 'PeerTransitRouterRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the peer transit router instance is deployed.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-qingdao'],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the local Enterprise Edition transit router to automatically advertise the routes of the inter-region connection to the peer transit router. Valid values:'."\n"
."\n"
.'- **false** (default): no.'."\n"
."\n"
.'- **true**: yes.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The bandwidth value of the inter-region connection. Unit: Mbps.'."\n"
."\n"
.'- When **BandwidthType** is set to **BandwidthPackage**, this parameter specifies the bandwidth value that the inter-region connection can use.'."\n"
."\n"
.'- When **BandwidthType** is set to **DataTransfer**, this parameter specifies the maximum bandwidth value of the inter-region connection.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100000000', 'minimum' => '0', 'title' => '', 'example' => '2'],
],
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan that you want to associate with the inter-region connection.'."\n"
."\n"
.'> You do not need to configure this parameter when **BandwidthType** is set to **DataTransfer**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cenbwp-3xrxupouolw5ou****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run to check information such as the permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request. After the request passes the check, the system creates an inter-region connection.'."\n"
."\n"
.'- **true**: sends a check request. The system checks the required parameters and request syntax. If the request fails the dry run, an error message is returned. If the request passes the dry run, a request ID is returned.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'BandwidthType',
'in' => 'query',
'schema' => ['description' => 'The method that is used to allocate bandwidth to the inter-region connection. Valid values:'."\n"
."\n"
.'- **BandwidthPackage**: allocates bandwidth from a bandwidth plan.'."\n"
."\n"
.'- **DataTransfer**: does not allocate bandwidth to the inter-region connection and charges based on pay-by-traffic.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'BandwidthPackage'],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag information.'."\n"
."\n"
.'You can specify at most 20 tags in each call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of the tag that you want to attach.'."\n"
."\n"
.'You cannot specify an empty string as a tag key. 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 at most 20 tag keys in each call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'tag_A1'],
'Value' => ['description' => 'The value of the tag that you want to attach to the specified resource.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each key-value pair must be unique. You can specify at most 20 tag values in each call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'value_A1'],
],
'required' => false,
'description' => 'The tags.',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'DefaultLinkType',
'in' => 'query',
'schema' => ['description' => 'The default line type.'."\n"
."\n"
.'Valid values: Platinum and Gold. Default value: Gold.'."\n"
."\n"
.'You can set this parameter to Platinum only when the bandwidth allocation method is pay-by-traffic.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Gold'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'title' => '', 'example' => 'tr-attach-nwkiqfvw22qesz****'],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '59422BF5-BAAD-4CFD-9019-9557BD3ACFA3'],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.TransitRouterRegionId', 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.', 'description' => ''],
['errorCode' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found.', 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['errorCode' => 'IllegalParam.PeerTransitRouterId', 'errorMessage' => 'PeerTransitRouterId is illegal.', 'description' => 'The error message returned because the ID of the peer transit router is invalid.'],
['errorCode' => 'OperationUnsupported.TransitRouterId', 'errorMessage' => 'TransitRouterId is unsupported.', 'description' => 'The error message returned because Basic Edition transit routers do not support the operation.'],
['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => 'The parameter Bandwidth is mandatory.', 'description' => 'The error message returned because no bandwidth value is specified. You must specify a bandwidth value.'],
['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Bandwidth is illegal.', 'description' => 'The error message returned because the specified bandwidth plan ID is invalid.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationUnsupported.BandwidthType', 'errorMessage' => 'The specified BandwidthType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified bandwidth type.'],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'CenId is not found.', 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['errorCode' => 'IllegalParam.BandwidthType', 'errorMessage' => 'BandwidthType is illegal.', 'description' => 'The error message returned because the specified bandwidth plan type is invalid.'],
['errorCode' => 'MissingParam.CenIdOrRegionId', 'errorMessage' => 'Either CenId or RegionId must be specified.', 'description' => 'The error message returned because the CenId or RegionId parameter is not set.'],
['errorCode' => 'OperationUnsupported.BandwidthHS', 'errorMessage' => 'This bandwidth limit can only be set in China-AsiaPacific-HS', 'description' => ''],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support TransitRouter', 'description' => 'The error message returned because CEN instances of the Full type do not support Enterprise Edition transit routers.'],
['errorCode' => 'OperationUnsupported.CloudDataTransferService', 'errorMessage' => 'CCN region not support cloud data transfer service.', 'description' => 'The error message returned because the Cloud Data Transfer (CDT) service is not supported in the region of the CCN instance.'],
['errorCode' => 'InvalidPeerTransitRouterId.NotFound', 'errorMessage' => 'The specified PeerTransitRouterId is not found.', 'description' => 'The error message returned because the specified peer transit router ID (PeerTransitRouterId) does not exist.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'IllegalParam.PeerRegionId', 'errorMessage' => 'PeerRegionId is illegal.', 'description' => 'The error message returned because the specified peer region ID (PeerRegionId) is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterRegionId', 'errorMessage' => 'TransitRouterRegionId is illegal.', 'description' => 'The error message returned because the specified transit router region ID (TransitRouterRegionId) is invalid.'],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ', 'description' => ''],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'InvalidOperation.BwpNotAssociated', 'errorMessage' => 'Operation is invalid because a bandwidth package corresponding to the geographic span is not associated.', 'description' => 'The error message returned because this operation is not supported when no bandwidth plan is applied to the specified region.'],
['errorCode' => 'InvalidOperation.BwpBusinessStatus', 'errorMessage' => 'The CBN bandwidth package is not in a valid business state for the operation.', 'description' => 'The error message returned because this operation is not supported when the specified bandwidth plan is in an unstable state.'],
['errorCode' => 'IllegalParam.CenBandwidthPackageId', 'errorMessage' => 'Parameter CenBandwidthPackageId is illegal.', 'description' => 'The error message returned because the specified bandwidth plan ID (CenBandwidthPackageId) is invalid.'],
['errorCode' => 'InvalidOperation.BwpBandwidthExceeded', 'errorMessage' => 'Operation is invalid because the total bandwidth limit has exceeded that of the bandwidth package.', 'description' => ''],
['errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportPlatinumOrGold', 'errorMessage' => 'DataTransfer only support Platinum and Gold.', 'description' => 'DataTransfer only support Platinum and Gold.'],
['errorCode' => 'ParameterIllegal.BandwidthPackageDefaultLinkTypeOnlySupportGold', 'errorMessage' => 'Cen bandwidthPackage only support Gold.', 'description' => 'Cen bandwidthPackage only support Gold.'],
['errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportGold', 'errorMessage' => 'CDT only support Gold when both transitrouters for cross regional connections are not all enterprise version.', 'description' => 'CDT only support Gold when both transitrouters for cross regional connections are not all enterprise version.'],
['errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportGold', 'errorMessage' => 'Operation is not allowed because this user can only set default link type to Gold.', 'description' => 'This user can only set the default link type to Gold.'],
['errorCode' => 'OperationInvalid.UserCanNotBuyCrossBorderBwp', 'errorMessage' => 'According to the laws and regulations of the operator and mainland China, you are currently not eligible to purchase or renew a cross-border bandwidth package. Please contact online customer service or your business manager for consultation.', 'description' => 'According to the laws and regulations of the operator and mainland China, you are currently not eligible to purchase or renew a cross-border bandwidth package. Please contact online customer service or your business manager for consultation.'],
['errorCode' => 'OperationInvalid.IdentityRegistrationStatusNotSupport', 'errorMessage' => 'Real name registration of enterprises required.', 'description' => 'Since you have selected a certain region of "Mainland China" in the "Region" or "Opposite Region" , you must complete the enterprise real name registration before subscription. Please refer to the documentation on enterprise real name registration for details.'],
['errorCode' => 'InvalidOperation.OnlyOneRegionSupportIpv6', 'errorMessage' => 'Peer Attachment is only allowed when both regions support IPv6 or do not support IPv6 at all.', 'description' => 'Peer Attachment is only allowed when both regions support IPv6 or do not support IPv6 at all.'],
['errorCode' => 'InvalidOperation', 'errorMessage' => 'Operation is invalid.', 'description' => 'The error message returned because the operation is invalid.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceExpired', 'errorMessage' => 'The transit router service of the account to which the resource belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'description' => 'The transit router service of the account to which the resource belongs has been suspended. Please notify the other party to renew the service and try again.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'OperationUnsupported.RegionId', 'errorMessage' => 'The specified RegionId does not support the operation.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'QuotaExceeded.Bandwidth', 'errorMessage' => 'Bandwidth quota exceeded.', 'description' => 'Bandwidth quota exceeded.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.PeerTransitRouterId', 'errorMessage' => 'The specified parameter PeerTransitRouterId is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The specified parameter ResourceType is invalid.', 'description' => ''],
['errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportUnderlaySilver', 'errorMessage' => 'CDT only support UnderlaySilver when both transitrouters for cross regional connections are not all enterprise version.', 'description' => 'CDT only support UnderlaySilver when both transitrouters for cross regional connections are not all enterprise version.'],
['errorCode' => 'ParameterIllegal.DefaultLinkTypeOnlySupportUnderlaySilver', 'errorMessage' => 'Cen bandwidthPackage only support UnderlaySilver.', 'description' => 'When the bandwidth allocation method is bandwidth package, the default link type supports only silver (UnderlaySilver)'],
['errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportUnderlaySilver', 'errorMessage' => 'This user can only set the default link type to UnderlaySilver.', 'description' => 'This user can only set the default link type to UnderlaySilver.'],
['errorCode' => 'OperationFailed.ValidateVbrInstanceFailedForLowLatencyCircuit', 'errorMessage' => 'Operation failed when validate VBR instance for Low Latency Circuit.', 'description' => 'Failed to verify the loaded VBR instance when creating a low latency link.'],
],
],
'title' => 'CreateTransitRouterPeerAttachment',
'summary' => 'After network instances (VPC, VBR, IPsec connection) are connected to a transit router, you need to create an inter-region connection to enable communication between network instances in different regions. You can call the CreateTransitRouterPeerAttachment operation to create an inter-region connection for an Enterprise Edition transit router instance.',
'description' => '- Enterprise Edition transit routers allow you to allocate bandwidth resources to inter-region connections using the following methods:'."\n"
."\n"
.' - **From bandwidth plan**:'."\n"
."\n"
.' You must purchase a bandwidth plan and then allocate bandwidth resources from the plan to inter-region connections. For more information about how to purchase a bandwidth plan, see [CreateCenBandwidthPackage](~~65919~~).'."\n"
."\n"
.' - **Pay-by-traffic**:'."\n"
."\n"
.' You can set a maximum bandwidth value for an inter-region connection. You are then charged based on the amount of data transferred over the connection. For more information about billing, see [Inter-region traffic](~~337827~~).'."\n"
."\n"
.'- The **CreateTransitRouterPeerAttachment** operation is asynchronous. After you call this operation, the system returns an inter-region connection ID. However, the inter-region connection is not created immediately. The creation task runs in the background. You can call the **ListTransitRouterPeerAttachments** operation to query the status of the inter-region connection.'."\n"
."\n"
.' - When the inter-region connection is in the **Attaching** state, the connection is being created. In this state, you can only query the inter-region connection. You cannot perform other operations.'."\n"
."\n"
.' - When the inter-region connection is in the **Attached** state, the connection creation is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-18T07:43:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-12-04T07:55:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-10-28T08:57:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-06-11T03:26:28.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-17T02:30:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-20T02:58:47.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-13T03:37:15.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-06T02:27:31.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-11-03T02:57:27.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-18T11:43:16.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-10-18T01:14:21.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2023-01-04T12:14:33.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T05:33:34.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T06:21:52.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-13T03:26:01.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterPeerAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterPeerAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-nwkiqfvw22qesz****\\",\\n \\"RequestId\\": \\"59422BF5-BAAD-4CFD-9019-9557BD3ACFA3\\"\\n}","type":"json"}]',
],
'CreateTransitRouterPrefixListAssociation' => [
'summary' => 'Associates the route table of an Enterprise Edition transit router with a prefix list.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client 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' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-6ehx7q2jze8ch5ji0****', 'title' => ''],
],
[
'name' => 'NextHopType',
'in' => 'query',
'schema' => ['description' => 'The type of the next hop. Valid values:'."\n"
."\n"
.'* **BlackHole**: specifies that all the CIDR blocks in the prefix list are blackhole routes. Packets destined for the CIDR blocks are dropped.'."\n"
.'* **VPC**: specifies a virtual private cloud (VPC) connection as the next hop.'."\n"
.'* **VBR**: specifies a virtual border router (VBR) connection as the next hop.'."\n"
.'* **TR**: specifies an inter-region connection as the next hop.'."\n"
.'* **ECR**: specifies an Express Connect Router (ECR) connection as the next hop.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'PrefixListId',
'in' => 'query',
'schema' => ['description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pl-6ehtn5kqxgeyy08fi****', 'title' => ''],
],
[
'name' => 'TransitRouterTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the transit router.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'NextHop',
'in' => 'query',
'schema' => ['description' => 'The ID of the next hop connection.'."\n"
."\n"
.'To specify all CIDR blocks in the prefix list as blackhole routes, set this parameter to **BlackHole**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tr-attach-flbq507rg2ckrj****', 'title' => ''],
],
[
'name' => 'OwnerUid',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the prefix list belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1210123456123456', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
."\n"
.'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
.'* **false** (default): performs a dry run and sends the request.'."\n"
."\n"
.'> This parameter is not in use.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'ResourceNotSupport.CCN', 'errorMessage' => 'CCN not support prefix list.', 'description' => 'The error message returned because prefix lists are not supported by CCN instances.'],
['errorCode' => 'ResourceNotFound.PrefixlistCidrs', 'errorMessage' => 'Can not find any cidr of specified prefix list.', 'description' => 'The error message returned because the specified prefix list does not contain a CIDR block.'],
['errorCode' => 'ResourceNotFound.Nexthop', 'errorMessage' => 'The specified nexthop instance is not exsit.', 'description' => 'The error message returned because the specified next hop does not exist.'],
['errorCode' => 'ResourceExisted.PrefixlistAssociation', 'errorMessage' => 'The prefix list has been already associated with this route table.', 'description' => 'The error message returned because the specified prefix list is already associated with a route table.'],
['errorCode' => 'ResourceNotFound.PrefixlistAssociation', 'errorMessage' => 'The prefix list is not associated with this route table. ', 'description' => ''],
['errorCode' => 'ResourceConflict.Route', 'errorMessage' => 'Some of the prefixes of the prefix list are conflicted with exsited routes. ', 'description' => ''],
['errorCode' => 'MultipleFound.PrefixlistAssociation', 'errorMessage' => 'multiple same prefix association record found.', 'description' => 'The error message returned because multiple configuration duplicates exist in the system.'],
['errorCode' => 'QuotaReached.Route', 'errorMessage' => 'The quota of the route table is not enough for the request prefix list. ', 'description' => ''],
['errorCode' => 'InvalidStatus.PrefixlistAssociation', 'errorMessage' => 'The prefix list association is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the specified prefix list does not support this operation. Try again later.'],
['errorCode' => 'NotSupport.TrType', 'errorMessage' => 'The basic tr type is not support for this operation.', 'description' => 'The error message returned because this operation is not supported by Basic Edition transit routers.'],
['errorCode' => 'InvalidValue.PrefixlistCidr', 'errorMessage' => 'Invalid cidr exist in the specified prefixlist.', 'description' => 'The error message returned because the specified prefix list contains an invalid CIDR block.'],
['errorCode' => 'ResourceNotSupport.Nexthop', 'errorMessage' => 'The specified nexthop instance type is not support for the operation.', 'description' => 'The error message returned because this operation is not supported by the specified next hop.'],
['errorCode' => 'ResourceMismatch.Nexthop', 'errorMessage' => 'The specified nexthop and nexthop type mismatched.', 'description' => 'The error message returned because the specified next hop or next hop type is invalid.'],
['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified prefixlist does not found.', 'description' => 'The error message returned because the specified prefix list does not exist.'],
['errorCode' => 'OperationDenied.SystemPrefixList', 'errorMessage' => 'SystemPrefixList can not be operated.', 'description' => 'The error message returned because this operation is not supported by the system prefix list.'],
['errorCode' => 'OperationFailed.OperateShareResource', 'errorMessage' => 'Operate share prefixlist failed.', 'description' => 'The error message returned because the specified prefix list failed to be shared.'],
['errorCode' => 'InvalidStatus.Prefixlist', 'errorMessage' => 'Prefixlist is not in a operate status.', 'description' => 'The error message returned because the status of the specified prefix list does not support this operation.'],
['errorCode' => 'RegionNotSupport.Prefixlist', 'errorMessage' => 'Prefixlist association are not supported in this region.', 'description' => 'The error message returned because the feature is not supported in the specified region.'],
['errorCode' => 'OperationFailed.TransitRouterNotExist', 'errorMessage' => 'Operation failed because transit router not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'RouteTable status is invalid.', 'description' => 'The error message returned because the operation is not supported when the specified route table is in an unstable state.'],
['errorCode' => 'IllegalParam.TransitRouterTableId', 'errorMessage' => 'The specified Route Table ID is invalid.', 'description' => 'The Route Table ID is invalid.'],
['errorCode' => 'OperationDenied.ECSPrefixList', 'errorMessage' => 'Associate ECS PrefixList is not supported.', 'description' => 'Associate ECS PrefixList is not supported.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
'title' => 'CreateTransitRouterPrefixListAssociation',
'description' => 'To associate an Enterprise Edition transit router with a route prefix, you must meet the following requirements:'."\n"
."\n"
.'* You are familiar with the limits and route compatibility notes of prefix lists. For more information, see [Prefix lists](~~445605~~).'."\n"
.'* A prefix list is created. For more information, see [CreateVpcPrefixList](~~437367~~).'."\n"
.'* If the prefix list and the Enterprise Edition transit router belong to different Alibaba Cloud accounts, the prefix list is shared with the Alibaba Cloud account that owns the Enterprise Edition transit router. For more information, see [Resource sharing](~~160622~~) and [API references for resource sharing](~~193445~~).'."\n",
'changeSet' => [
['createdAt' => '2025-02-18T09:46:31.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-11-22T03:25:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-08-26T07:56:17.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-08-24T18:04:53.000Z', 'description' => 'Error codes changed, Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterPrefixListAssociation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterPrefixListAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\n","errorExample":""}]',
],
'CreateTransitRouterRouteEntry' => [
'summary' => 'Creates a route entry in the route table of an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72308',
'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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-001****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryName',
'in' => 'query',
'schema' => ['description' => 'The name of the route entry.'."\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' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the route entry.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryNextHopType',
'in' => 'query',
'schema' => ['description' => 'The next hop type. Valid values:'."\n"
."\n"
.'- **BlackHole**: The route is a blackhole route. All packets to the destination CIDR block are dropped. You do not need to specify a next hop.'."\n"
."\n"
.'- **Attachment**: The next hop of the route is a network instance connection. You must specify the ID of the network instance connection. All packets to the destination CIDR block are forwarded to the specified network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'BlackHole', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryDestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route entry. IPv4 and IPv6 CIDR blocks are supported.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.0.0/24', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryNextHopId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection that is associated with the next hop.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request. The route entry is created after the request passes the check.'."\n"
."\n"
.'- **true**: sends a dry run request to check the request. The route entry is not created. The system checks the required parameters, request format, and service limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TransitRouterRouteEntryId' => ['description' => 'The ID of the route entry.', 'type' => 'string', 'example' => 'rte-75eg4jprkvk0pw****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'InvalidTransitRouterRouteTableId.NotFound', 'errorMessage' => 'TransitRouterRouteTableId is not found.', 'description' => 'The error message returned because the specified route table ID of the transit router does not exist.'],
['errorCode' => 'TransitRouterRouteEntryNextHopId.NotFound', 'errorMessage' => 'TransitRouterRouteEntryNextHopId is not found.', 'description' => 'The error message returned because the specified next hop ID of the transit router does not exist.'],
['errorCode' => 'OperationFailed.CreateRouteEntryWithCCNAttachment', 'errorMessage' => 'Operation failed because Create RouteEntry to CCN Attachment does not support.', 'description' => 'The error message returned because routes that point to a CCN attachment are not supported.'],
['errorCode' => 'QuotaExceeded.TransitRouterRoutEntry', 'errorMessage' => 'TransitRouterRoutEntry quota exceeded.', 'description' => 'The error message returned because the number of routes has reached the upper limit.'],
['errorCode' => 'IllegalParam.TransitRouterDestinationCidrBlock', 'errorMessage' => 'TransitRouterDestinationCidrBlock is illegal.', 'description' => 'The error message returned because the specified destination CIDR block for the transit router (TransitRouterDestinationCidrBlock) is invalid.'],
['errorCode' => 'InstanceExist.TransitRouterRouteEntry', 'errorMessage' => 'The instance TransitRouterRouteEntry already exists.', 'description' => 'The error message returned because the route entry that you want to add already exists.'],
['errorCode' => 'IncorrectStatus.TransitRouterRouteTable', 'errorMessage' => 'TransitRouterRouteTable status is invalid.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'errorMessage' => 'RouteEntryId and TransitRouterRouteTableIdOrDestCidrBlock is mutually exclusive.', 'description' => 'The error message returned because the RouteEntryId, TransitRouterRouteTableId, or DestCidrBlock parameter conflicts with each other.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'IllegalParam.NextHopType', 'errorMessage' => 'The NextHopType is illegal.', 'description' => 'The error message returned because the NextHopType parameter is set to an invalid value.'],
['errorCode' => 'MissingParam.TransitRouterRouteEntryNextHopId', 'errorMessage' => 'The parameter TransitRouterRouteEntryNextHopId is mandatory', 'description' => 'The error message returned because the TransitRouterRouteEntryNextHopId parameter is not set.'],
['errorCode' => 'InvalidTransitRouterRouteEntryNextHopId.NotFound', 'errorMessage' => 'TransitRouterRouteEntryNextHopId is not found', 'description' => 'The error message returned because the specified ID of the next hop (TransitRouterRouteEntryNextHopId) specified for the transit router route entry does not exist.'],
['errorCode' => 'OperationFailed.CreateRouteEntryWithSameDestinationCidrBlock', 'errorMessage' => 'Operation failed because Create RouteEntry with same destination cidrblock does not support.', 'description' => 'The error message returned because the destination CIDR block of each route entry in the route table must be unique.'],
['errorCode' => 'InvalidDestinationCidrBlock.NotFound', 'errorMessage' => 'DestinationCidrBlock is not found.', 'description' => 'The error message returned because the specified destination CIDR block does not exist.'],
['errorCode' => 'OperationFailed.CreateRouteEntryWithConnectAttachment', 'errorMessage' => 'Operation failed because Create RouteEntry to connect Attachment does not support.', 'description' => 'You cannot create a route that points to a connect attachment.'],
['errorCode' => 'ParamExclusive.NextHopTypeBlackHoleAndNextHopId', 'errorMessage' => 'TransitRouterRouteEntryNextHopType(BlackHole) and TransitRouterRouteEntryNextHopId is mutually exclusive.', 'description' => 'If you set Blackhole Route to Yes, do not specify a next hop.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'OperationFailed.CreateTransitRouterRouteEntryWithVPCAttachment', 'errorMessage' => 'The specified VPC Attachment has not enable IPv6.', 'description' => 'The specified VPC Attachment has not enable IPv6.'],
['errorCode' => 'OperationFailed.CreateTransitRouterRouteEntryWithVPNAttachment', 'errorMessage' => 'Create RouteEntry to VPN Attachment does not support IPv6.', 'description' => 'Create RouteEntry to VPN Attachment does not support IPv6.'],
['errorCode' => 'NotSupport.AttachmentRoute', 'errorMessage' => 'Not support such attachment route.', 'description' => 'This attachment route is not supported.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterRouteEntries', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTransitRouterRouteEntry',
'description' => '**CreateTransitRouterRouteEntry** is an asynchronous operation. After you send a request, the system returns a route entry ID. The route entry is created in the background. You can call the **ListTransitRouterRouteEntries** operation to query the status of the route entry.'."\n"
."\n"
.'- If a route entry is in the **Creating** state, the route entry is being created. In this state, you can only query the route entry and cannot perform other operations.'."\n"
."\n"
.'- If a route entry is in the **Active** state, the route entry has been created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-04-19T07:35:40.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-18T02:16:07.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-06-13T08:35:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-04T12:44:40.000Z', 'description' => 'Error codes changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterRouteEntry'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterRouteEntry',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterRouteEntryId\\": \\"rte-75eg4jprkvk0pw****\\",\\n \\"RequestId\\": \\"835E7F4B-B380-4E0F-96A5-6EA572388047\\"\\n}","type":"json"}]',
],
'CreateTransitRouterRouteTable' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token from your client to ensure 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, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableName',
'in' => 'query',
'schema' => ['description' => 'The name of the custom route table.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the custom route table.'."\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' => 'testdesc', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'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 required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, a custom route table is created.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag.'."\n"
."\n"
.'You can specify up to 20 tags in each call.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the resource.'."\n"
."\n"
.'The tag key cannot be an empty string. 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.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value of the resource.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with \\`aliyun\\` or \\`acs:\\` and cannot contain \\`http\\://\\` or \\`https\\://\\`.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'RouteTableOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The features of the route table.',
'type' => 'object',
'properties' => [
'MultiRegionECMP' => [
'description' => 'The multi-region equal-cost multi-path (ECMP) routing feature. Valid values:'."\n"
."\n"
.'- **disable** (default): disables the multi-region ECMP routing feature. If you disable the multi-region ECMP routing feature, routes that are learned from different regions but have the same prefix and attributes select the transit router with the smallest region ID as the next hop. The region ID is sorted in alphabetical order. In this case, the latency and bandwidth consumption of the traffic may change. Make sure that you are aware of the impact before you disable the feature.'."\n"
."\n"
.'- **enable**: enables the multi-region ECMP routing feature. If you enable the multi-region ECMP routing feature, routes that are learned from different regions but have the same prefix and attributes are considered ECMP routes. In this case, the latency and bandwidth consumption of the traffic may change. Make sure that you are aware of the impact before you enable the feature.',
'type' => 'string',
'default' => 'disable',
'enum' => ['enable', 'disable'],
'required' => false,
'example' => 'disable',
'title' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'TransitRouterRouteTableId' => ['description' => 'The ID of the custom route table.', 'type' => 'string', 'example' => 'vtb-bp1xbcgpgcz9axl9m****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '599904C8-A3DA-4E5F-83B6-D5364E664247', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found', 'description' => 'The error message returned because the specified transit router ID (TransitRouterId) does not exist.'],
['errorCode' => 'OperationFailed.CCNTrNotSupport', 'errorMessage' => 'Operation failed because the CCN transit router does not support route table.', 'description' => 'The error message returned because transit routers deployed in CCN regions do not allow you to create route tables.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'MissingParam.TransitRouterId', 'errorMessage' => 'The parameter TransitrouterId is mandatory.', 'description' => 'The error message returned because the TransitRouterId parameter is not set.'],
['errorCode' => 'OperationFailed.BasicTrNotSupport', 'errorMessage' => 'Operation failed because the Basic TransitRouter does not support RouteTable', 'description' => 'The error message returned because this operation is not supported by Basic Edition transit routers.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'TransitRouter status is invalid.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'QuotaExceeded.TransitRouterRoutTable', 'errorMessage' => 'TransitRouterRoutTable quota exceeded.', 'description' => 'The error message returned because the number of route tables has reached the upper limit.'],
['errorCode' => 'OperationUnsupported.MultiRegionEcmp', 'errorMessage' => 'This region does not support MultiRegionEcmp.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'CreateTransitRouterRouteTable',
'summary' => 'Calls the CreateTransitRouterRouteTable operation to create a custom route table for an Enterprise Edition transit router.',
'description' => '- You can create custom route tables only for Enterprise Edition transit routers. For more information about the regions and zones that support Enterprise Edition transit routers, see [What is Cloud Enterprise Network?](~~181681~~).'."\n"
."\n"
.'- **CreateTransitRouterRouteTable** is an asynchronous operation. After you send a request, a route table ID is returned, but the route table is still being created in the background. You can call the **ListTransitRouterRouteTables** operation to query the status of a route table.'."\n"
."\n"
.' - If a route table is in the **Creating** state, it is being created. In this state, you can only query the route table and cannot perform other operations.'."\n"
."\n"
.' - If a route table is in the **Active** state, the route table is created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-10-18T02:16:06.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-10T12:57:33.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-01-04T13:07:51.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-11-22T08:58:43.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterRouteTable'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterRouteTableId\\": \\"vtb-bp1xbcgpgcz9axl9m****\\",\\n \\"RequestId\\": \\"599904C8-A3DA-4E5F-83B6-D5364E664247\\"\\n}","type":"json"}]',
],
'CreateTransitRouterVbrAttachment' => [
'summary' => 'Connects a virtual border router (VBR) with a transit router in the same region.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72310',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The unique, one-use client token that is used to ensure the idempotence of the request. It can contain only ASCII characters.'."\n"
."\n"
.'> If you leave this parameter empty, the system automatically uses the **request ID** as the **client token**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cen-j3jzhw1zpau2km****'],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'tr-bp1su1ytdxtataupl****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the VBR.'."\n"
."\n"
.'You can obtain the latest region list by calling the [DescribeRegions](~~36063~~) operation.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The name of the VBR connection.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testname'],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'Description of the VBR connection.'."\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, 'title' => '', 'example' => 'testdesc'],
],
[
'name' => 'VbrId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vbr-bp1svadp4lq38janc****'],
],
[
'name' => 'VbrOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR belongs. If you leave this parameter empty, the ID of the account calling this operation is used.'."\n"
."\n"
.'> For a cross-account connection, this parameter is required.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1250123456123456'],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the Enterprise Edition transit router to automatically advertise routes to the VBR. Valid values:'."\n"
."\n"
.'- **false** (default)'."\n"
.'- **true**', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Default values:'."\n"
."\n"
.'- **false** (default): executes the request without performing a dry run.'."\n"
.'- **true**: performs a dry run without actually creating the VBR connection. The system checks the required parameters and request syntax. If the request fails the dry run, an error message is returned. If the request passes the dry run, the system returns the ID of the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Tag information.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'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 start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TagKey'],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be 0 to 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'TagValue'],
],
'required' => false,
'description' => '',
'title' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'title' => '', 'example' => 'tr-attach-ia340z7xis7t5s****'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C087A369-82B9-43EF-91F4-4B63A9C6E6B6'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'OperationUnsupported.TransitRouterRegionId', 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.', 'description' => ''],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'CenId is not found.', 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['errorCode' => 'InvalidStatus.ResourceStatus', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the specified resource does not support this operation. Try again later.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found.', 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'MissingParam.CenIdOrRegionId', 'errorMessage' => 'Either CenId or RegionId must be specified.', 'description' => 'The error message returned because the CenId or RegionId parameter is not set.'],
['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['errorCode' => 'Forbidden.VbrDeviceModel', 'errorMessage' => 'Attach VBR on some access device models are forbidden.', 'description' => 'The error message returned because the mode of the VBR does not support this operation.'],
['errorCode' => 'IllegalParam.AssociateRouteTableId', 'errorMessage' => 'The specified AssociateRouteTableId is illegal.', 'description' => 'The error message returned because the specified route table ID (AssociateRouteTableId) is invalid.'],
['errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid', 'errorMessage' => 'Operation is invalid, please apply for cross-bid attaching.', 'description' => ''],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support TransitRouter', 'description' => 'The error message returned because CEN instances of the Full type do not support Enterprise Edition transit routers.'],
['errorCode' => 'OperationUnsupported.VbrAttachment', 'errorMessage' => 'This region not support vbr attachment.', 'description' => 'The error message returned because VBR attachments are not supported in the specified region.'],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ', 'description' => ''],
['errorCode' => 'OperationUnsupported.CloudBoxVbrNotSupport', 'errorMessage' => 'Cloud Box Vbr does not support.', 'description' => 'The error message returned because the instance cannot be connected to a CloudBox.'],
['errorCode' => 'IncorrectStatus.VbrResource', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because this operation is not supported when the specified VBR is in an unstable state. Wait until all operations related to the VBR are completed.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'QuotaExceeded.CenQuotaVbrAttachPerTransitRouter', 'errorMessage' => 'The maximum number of VBR attachment per Transit Router is exceeded.', 'description' => 'The error message returned because specified number of VBRs to be attache to the transit router exceeds the upper limit. You can submit a ticket to request a quota increase.'],
['errorCode' => 'QuotaFull.ChildInstanceRelatedCen', 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.', 'description' => 'The error message returned because the number of CEN instances to which the instance is attached has reached the upper limit. You cannot attach the instance to more CEN instances.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen', 'errorMessage' => 'The resource owner user has not opened transit router service.', 'description' => 'The transit router service for the resource owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['errorCode' => 'InvalidOperation.VbrAttachedToEcr', 'errorMessage' => 'VBR has alreay attached to ECR.', 'description' => 'VBR has alreay attached to ECR.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceExpired', 'errorMessage' => 'The transit router service of the account to which the resource belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'description' => 'The transit router service of the account to which the resource belongs has been suspended. Please notify the other party to renew the service and try again.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The specified parameter ResourceType is invalid.', 'description' => ''],
],
403 => [
['errorCode' => 'Forbidden.VbrDeviceModel', 'errorMessage' => 'The attached VBR on some access device models are not supported. Please submit a ticket to continue using this VBR on CEN.', 'description' => 'The error message returned because the mode of the VBR does not support this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterVbrAttachments', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTransitRouterVbrAttachment',
'description' => '- For information about the regions and zones supported by Enterprise Edition transit routers, see [What is CEN?](~~181681~~)'."\n"
.'- You can create a VBR connection with or without an Enterprise Edition transit router:'."\n"
."\n"
.' - If you already have an Enterprise Edition transit router in the target region, specify the **VbrId**, **RegionId**, and **TransitRouterId** parameters.'."\n"
.' - If you do not have an Enterprise Edition transit router in the target region, specify the **VbrId**, **CenId**, and **RegionId **parameters, and the system will automatically create an Enterprise Edition transit router when executing the operation.'."\n"
.'- This operation is executed asynchronously. After receiving a request, the system returns a VBR connection ID before the VBR connection is fully ready, and it continues the creation task in the backend. You can call **ListTransitRouterVbrAttachments** to check whether the connection has been created.'."\n"
."\n"
.' - If the VBR connection is in the **Attaching** state, it hasn\'t been created. In this case, you can query information about the connection but cannot perform other operations on it.'."\n"
.' - If the VBR connection is in the **Attached** state, the creation task has been completed.'."\n"
.'- The transit router and VBR can be in the same or different Alibaba Cloud accounts. In a cross-account scenario, both accounts must belong to the same enterprise, and you need to [grant the required permissions on the VBR to the transit router](~~181553~~).'."\n"
.'- A newly created VBR connection is not in route learning or associated forwarding correlations with any route table on the transit router.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-10-28T08:57:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-01-10T03:22:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-20T01:47:40.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-04T12:14:33.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T06:21:52.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'CreateTransitRouterVbrAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterVbrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-ia340z7xis7t5s****\\",\\n \\"RequestId\\": \\"C087A369-82B9-43EF-91F4-4B63A9C6E6B6\\"\\n}","type":"json"}]',
],
'CreateTransitRouterVpcAttachment' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72311',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token used to ensure request idempotency.'."\n"
."\n"
.'You must generate a value on your client that 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, which is unique for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the VPC is located.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The name of the VPC connection.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters long, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the VPC connection.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters long, and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1kbjcre9vtsebo1****', 'title' => ''],
],
[
'name' => 'VpcOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account that owns the VPC. By default, this is the ID of the current Alibaba Cloud account.'."\n"
."\n"
.'> This parameter is required if you want to attach a cross-account network instance.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1250123456123456', 'title' => ''],
],
[
'name' => 'ChargeType',
'in' => 'query',
'schema' => ['description' => 'The billing method. The default value is **POSTPAY** (pay-as-you-go).', 'type' => 'string', 'required' => false, 'example' => 'POSTPAY', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run to check the validity of the request without creating the resource. The check includes permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. The system creates the VPC connection if the request is valid.'."\n"
."\n"
.'- **true**: Sends only a check request. The system checks required parameters, request format, and permissions. The VPC connection is not created. If the check fails, an error is returned. If the check succeeds, the `DryRunOperation` error code is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ZoneMappings',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The zone mappings for the VPC connection. For each mapping, you must specify a vSwitch in a zone that is supported by the Enterprise Edition transit router.'."\n"
."\n"
.'You can specify up to 10 zone mappings.',
'type' => 'array',
'items' => [
'description' => 'A mapping between a vSwitch and a zone.',
'type' => 'object',
'properties' => [
'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'required' => true, 'example' => 'vsw-bp1a214sbus8z3b54****', 'title' => ''],
'ZoneId' => ['description' => 'The ID of the zone. The zone must be supported by the Enterprise Edition transit router.'."\n"
."\n"
.'You can call the [DescribeZones](~~36064~~) operation to query available zones.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou-h', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => true,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the Enterprise Edition transit router to automatically advertise routes to the VPC.'."\n"
."\n"
.'- **false** (default): Do not automatically advertise routes.'."\n"
."\n"
.'- **true**: Automatically advertise routes.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'TransitRouterVPCAttachmentOptions',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The properties of the VPC connection. This parameter is deprecated. We recommend that you use the `Options` parameter instead.',
'type' => 'object',
'required' => false,
'additionalProperties' => ['description' => 'The properties of the VPC connection. This parameter is deprecated. We recommend that you use the `Options` parameter instead.'."\n"
."\n"
.'**ipv6Support**: Specifies whether to enable IPv6. Valid values:'."\n"
."\n"
.'- **enable**: Enables IPv6.'."\n"
."\n"
.'- **disable**: Disables IPv6.'."\n"
."\n"
.'> Before you enable IPv6 for the VPC connection, make sure that IPv6 is also enabled for the VPC and its associated vSwitches. For more information, see [AllocateVpcIpv6Cidr](~~448916~~) and [CreateVSwitchCidrReservation](~~2593020~~).', 'type' => 'string', 'example' => 'disable', 'title' => ''],
'title' => '',
'example' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags to add to the VPC connection.'."\n"
."\n"
.'You can add up to 20 tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of the tag.'."\n"
."\n"
.'The tag key cannot be an empty string. The key can be up to 64 characters long and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The value of the tag.'."\n"
."\n"
.'The tag value can be an empty string or a string up to 128 characters long. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => 'The key and value of the tag.',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'Options',
'in' => 'query',
'style' => 'json',
'schema' => [
'title' => '',
'type' => 'object',
'properties' => [
'Ipv6Support' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'enable', 'title' => ''],
'ApplianceModeSupport' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'enable', 'title' => ''],
],
'description' => '',
'required' => false,
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response data.',
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'example' => 'tr-attach-ia340z7xis7t5s****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C087A369-82B9-43EF-91F4-4B63A9C6E6B6', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.TransitRouterRegionId', 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.', 'description' => ''],
['errorCode' => 'NoPermission.AliyunServiceRoleForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRoleForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'The Specified Parameter RegionId is illegal', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'MissingParam.CenIdOrRegionId', 'errorMessage' => 'Either CenId or RegionId must be specified.', 'description' => 'The error message returned because the CenId or RegionId parameter is not set.'],
['errorCode' => 'IllegalParam.ZoneId', 'errorMessage' => 'The specified ZoneId is illegal.', 'description' => 'The error message returned because the specified zone is invalid.'],
['errorCode' => 'IllegalParam.ChargeType', 'errorMessage' => 'The specified ChargeType is illegal.', 'description' => 'The error message returned because the specified billing method is invalid.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'The specified TransitRouterId is not found.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IncorrectStatus.VpcResource', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because this operation is not supported when the specified VPC is in an unstable state. Wait until all operations related to the VPC are completed.'],
['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.VpcOrVswitch', 'errorMessage' => 'The Vpc Or Vswith is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC or vSwitch does not support this operation. Try again later.'],
['errorCode' => 'OperationNotSupport.VpcAutoRoutesPublish', 'errorMessage' => 'Auto publish vpc routes is not supported in this region.', 'description' => 'The error message returned because automatic route advertising for VPCs is not supported in the specified region.'],
['errorCode' => 'InvalidOperation.VpnAssociated', 'errorMessage' => 'The operation is not supported because the VPC is associated with VPN.', 'description' => 'The error message returned because the specified VPC is associated with a VPN.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'IllegalParam.ZoneMappings', 'errorMessage' => 'The Specified Parameter ZoneMappings is illegal', 'description' => 'The error message returned because the specified zone mappings (ZoneMappings) is invalid.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'CenId is not found.', 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['errorCode' => 'IllegalParam.VSwitchId', 'errorMessage' => 'VSwitchId is illegal.', 'description' => 'The error message returned because the specified vSwitch ID is invalid.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support TransitRouter', 'description' => 'The error message returned because CEN instances of the Full type do not support Enterprise Edition transit routers.'],
['errorCode' => 'IllegalParam.ServiceMode', 'errorMessage' => 'ServiceMode is illegal.', 'description' => 'The error message returned because the specified service mode is invalid.'],
['errorCode' => 'QuotaFull.ChildInstanceRelatedCen', 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.', 'description' => 'The error message returned because the number of CEN instances to which the instance is attached has reached the upper limit. You cannot attach the instance to more CEN instances.'],
['errorCode' => 'OperationUnsupported.CloudBoxVswNotSupport', 'errorMessage' => 'Cloud Box vsw does not support.', 'description' => 'The error message returned because the instance cannot be connected to the CloudBox vSwitch.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'Duplicated.ZoneMapping', 'errorMessage' => 'The parameter ZoneMapping is duplicated.', 'description' => 'The error message returned because the zone mapping contains duplicate routes.'],
['errorCode' => 'QuotaExceeded.CenQuotaVpcAttachPerTransitRouter', 'errorMessage' => 'The maximum number of VPC attachment per Transit Router is exceeded.', 'description' => 'The error message returned because the specified number of VPCs to be attache to the transit router exceeds the upper limit.'],
['errorCode' => 'IncorrectStatus.VpcRouteTable', 'errorMessage' => 'The VPC route table is not in a desired state.', 'description' => 'The error message returned because the VPC route table is in an unstable state. Try again later.'],
['errorCode' => 'InvalidStatus.VpcAttachedFullModeCen', 'errorMessage' => 'The VPC has been attached to another CEN instance whose protection level is FULL.', 'description' => 'The error message returned because the specified VPC is already attached to a CEN instance whose protection level is FULL. The VPC cannot be attached to other CEN instances.'],
['errorCode' => 'Forbbiden.AttachChildInstanceAcrossBid', 'errorMessage' => 'VPCs that belong to another BID cannot be associated. You need to apply for cross-BID attaching.', 'description' => 'The error message returned because you cannot associate with VPCs that belong to another BID.'],
['errorCode' => 'InvalidOperation.VpcAutoRoutesPublishInOtherCEN', 'errorMessage' => 'The specified VPC already has its routes synchronized with another CEN instance.', 'description' => 'The error message returned because this operation is not supported when route synchronization is enabled between the current VPC and another CEN instance.'],
['errorCode' => 'QuotaExceeded.VpcAutoRoutesPublishPerTransitRouter', 'errorMessage' => 'The number of VPCs that have route synchronization enabled has reached the upper limit.', 'description' => 'The error message returned because the number of VPCs that have route synchronization enabled has reached the upper limit.'],
['errorCode' => 'InsufficientIpAddr.vsw', 'errorMessage' => 'Insufficient available IP addresses in the vSwitch.', 'description' => 'The error message returned because the number of available IP addresses in the vSwitch is insufficient.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen', 'errorMessage' => 'The resource owner user has not opened transit router service.', 'description' => 'The transit router service for the resource owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['errorCode' => 'IllegalParam.TransitRouterRegionId', 'errorMessage' => 'TransitRouterRegionId is illegal.', 'description' => 'The error message returned because the specified transit router region ID (TransitRouterRegionId) is invalid.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'IllegalParam.Ipv6Support', 'errorMessage' => 'Ipv6Support is illegal. Valid Values are [enable, disable].', 'description' => 'The Ipv6Support value of the request parameter is invalid. The valid value is enable or disable.'],
['errorCode' => 'OperationFailed.VSwitchNotFound', 'errorMessage' => 'The specified vswitch not found.', 'description' => 'The specified vswitch not found.'],
['errorCode' => 'OperationFailed.VSwitchIpv6CidrNotAllocated', 'errorMessage' => 'The specified vswitch does not have IPv6 address allocated.', 'description' => 'The specified vswitch does not have IPv6 address allocated.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceExpired', 'errorMessage' => 'The transit router service of the account to which the resource belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'description' => 'The transit router service of the account to which the resource belongs has been suspended. Please notify the other party to renew the service and try again.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The specified parameter ResourceType is invalid.', 'description' => ''],
['errorCode' => 'ParamExclusive.TransitRouterVPCAttachmentOptionsAndOptions', 'errorMessage' => 'When creating or modifying a VPC attachment, the input parameter TransitRouterVPCAttachmentOptions and Options cannot be used at the same time.', 'description' => 'When creating or modifying a VPC attachment, the input parameter TransitRouterVPCAttachmentOptions and Options cannot be used at the same time.'],
['errorCode' => 'InvalidParameter.ApplianceModeSupport', 'errorMessage' => 'The specified parameter ApplianceModeSupport is invalid.', 'description' => 'The parameter ApplianceModeSupport entered is illegal.'],
['errorCode' => 'InvalidParameter.Ipv6Support', 'errorMessage' => 'The specified parameter Ipv6Support is invalid.', 'description' => 'The parameter Ipv6Support entered is illegal.'],
['errorCode' => 'INVALID_OPERATION_RESOURCE_NOT_SUPPORT_APPLIANCE_MODE', 'errorMessage' => 'Only VPC attachment support appliance mode.', 'description' => 'Only VPC attachment support appliance mode.'],
],
404 => [
['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified VSwitchId is not found.', 'description' => 'The error message returned because the specified vSwitch ID does not exist.'],
],
409 => [
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the CEN instance does not support this operation.'],
['errorCode' => 'IncorrectStatus.VpcSwitch', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterVpcAttachments', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTransitRouterVpcAttachment',
'summary' => 'Attaches a virtual private cloud (VPC) to a transit router. Once connected, the transit router enables private network communication.',
'description' => '- You can create a VPC connection for an Enterprise Edition transit router in one of two ways:'."\n"
."\n"
.' - If you have an Enterprise Edition transit router in the target region, you can create a VPC connection by specifying **VpcId**, **ZoneMappings.N.VSwitchId**, **ZoneMappings.N.ZoneId**, **TransitRouterId**, and **RegionId**.'."\n"
."\n"
.' - If you do not have an Enterprise Edition transit router in the target region, you can create a VPC connection by specifying **VpcId**, **ZoneMappings.N.VSwitchId**, **ZoneMappings.N.ZoneId**, **CenId**, and **RegionId**. When you create the VPC connection, the system automatically creates an Enterprise Edition transit router.'."\n"
."\n"
.'- **CreateTransitRouterVpcAttachment** is an asynchronous operation. After you send a request, the system returns a VPC connection ID, and the connection is created in the background. Call the [ListTransitRouterVpcAttachments](~~261222~~) operation to query the status of the VPC connection.'."\n"
."\n"
.' - The **Attaching** state indicates that the VPC connection is being created. In this state, you can only query the VPC connection.'."\n"
."\n"
.' - The **Attached** state indicates that the VPC connection has been created.'."\n"
."\n"
.'- By default, a newly created VPC connection is not associated with any transit router route table for route learning or forwarding.'."\n"
."\n"
.'### Prerequisites'."\n"
."\n"
.'Before you call this API operation to create a VPC connection, ensure the following prerequisites are met:'."\n"
."\n"
.'- The VPC must have at least one vSwitch in a zone that supports Enterprise Edition transit routers. The vSwitch must have at least one available IP address. For more information about supported regions and zones, see [Regions and zones that support Enterprise Edition transit routers](~~181681~~).'."\n"
."\n"
.'- To connect a cross-account network instance, you must first have the required permissions. For more information, see [Grant permissions on a network instance that belongs to another account](~~181553~~).'."\n"
."\n"
.'- Creating a VPC connection incurs costs. Ensure you understand the billing rules. For more information, see [Billing](~~189836~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-10-28T08:57:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-10T02:52:27.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-04-19T07:35:42.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-03-13T07:51:23.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-01-10T03:22:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-09-08T01:51:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-14T12:30:09.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-04T12:14:33.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T06:21:52.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-10-19T15:50:35.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-12-31T10:04:18.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterVpcAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterVpcAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-ia340z7xis7t5s****\\",\\n \\"RequestId\\": \\"C087A369-82B9-43EF-91F4-4B63A9C6E6B6\\"\\n}","type":"json"}]',
],
'CreateTransitRouterVpnAttachment' => [
'summary' => 'A transit router supports IPsec-VPN connections, allowing a data center to connect to the transit router and communicate with other networks. You can call the CreateTransitRouterVpnAttachment operation to create a VPN connection.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '138538',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A 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 automatically uses the **RequestId** as the **ClientToken**. The **RequestId** of each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run but does not create the VPN connection. The system checks the request for required parameters, format, and service limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): performs a dry run and creates the VPN connection if the request passes the check.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-rsgxs8ng2awen2****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router instance.', 'type' => 'string', 'required' => false, 'example' => 'tr-p0wm740vjnbaprv0m****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The name of the VPN connection.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the VPN connection.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'VpnId',
'in' => 'query',
'schema' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vco-p0w042cqwvlhl4zyw****', 'title' => ''],
],
[
'name' => 'VpnOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.'."\n"
."\n"
.'- If you do not specify this parameter, the ID of the current Alibaba Cloud account is used.'."\n"
."\n"
.'- This parameter is required if you want to connect to a cross-account IPsec-VPN connection.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1210123456123456', 'title' => ''],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the transit router to automatically publish routes to the IPsec-VPN connection. Valid values:'."\n"
."\n"
.'- **true** (default): enabled.'."\n"
."\n"
.'- **false**: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'ChargeType',
'in' => 'query',
'schema' => ['description' => 'The billing method.'."\n"
."\n"
.'The value is set to **POSTPAY** (default), which specifies the pay-as-you-go billing method.', 'type' => 'string', 'required' => false, 'example' => 'POSTPAY', 'title' => ''],
],
[
'name' => 'Zone',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ID of the zone in the current region.'."\n"
."\n"
.'The system creates resources in the specified zone.'."\n"
."\n"
.'> Do not specify this parameter if the attached IPsec-VPN connection is in dual-tunnel mode.',
'type' => 'array',
'items' => [
'description' => 'The zone ID.',
'type' => 'object',
'properties' => [
'ZoneId' => ['description' => 'The zone ID.'."\n"
."\n"
.'You can call the [ListTransitRouterAvailableResource](~~261356~~) operation to query available zones.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-h', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 1,
'title' => '',
'example' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'description' => 'The tag.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'The tag key cannot be an empty string. It can be up to 64 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'example' => 'tr-attach-y5dup2qwfyh9lu****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'OperationUnsupported.TransitRouterRegionId', 'errorMessage' => 'The specified TransitRouterRegion does not support the operation.', 'description' => ''],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'CenId is not found.', 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['errorCode' => 'InvalidStatus.ResourceStatus', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the specified resource does not support this operation. Try again later.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found.', 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'InvalidAvailable.NoResource', 'errorMessage' => 'No resource in the available zone.', 'description' => 'The error message returned because resources are insufficient in the specified region.'],
['errorCode' => 'OperationUnsupported.VpnAttachment', 'errorMessage' => 'The specified region does not support the operation.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationFailed.AllocateCidrFailed', 'errorMessage' => 'Operation failed because vpn allocate cidr failed.', 'description' => 'The error message returned because the VPN failed to apply for a CIDR block.'],
['errorCode' => 'OperationUnsupported.ZoneId', 'errorMessage' => 'The specified ZoneId does not support the operation.', 'description' => ''],
['errorCode' => 'MissingParam.CenIdOrRegionId', 'errorMessage' => 'Either CenId or RegionId must be specified.', 'description' => 'The error message returned because the CenId or RegionId parameter is not set.'],
['errorCode' => 'IllegalParam.RegionId', 'errorMessage' => 'RegionId is illegal.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'OperationUnsupported.CenFullLevel', 'errorMessage' => 'CEN full level does not support TransitRouter', 'description' => 'The error message returned because CEN instances of the Full type do not support Enterprise Edition transit routers.'],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation. ', 'description' => ''],
['errorCode' => 'IllegalParam.ZoneMappings', 'errorMessage' => 'The Specified Parameter ZoneMappings is illegal', 'description' => 'The error message returned because the specified zone mappings (ZoneMappings) is invalid.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'InvalidOperation.VpnNetworkTypeInvalid', 'errorMessage' => 'The network type of child-instance is invalid.', 'description' => 'The error message returned because the network type specified for the instance is invalid.'],
['errorCode' => 'QuotaExceeded.CenQuotaVpnAttachPerTransitRouter', 'errorMessage' => 'The maximum number of VPN attachment per Transit Router is exceeded.', 'description' => 'The error message returned because specified number of VPN attachments to the transit router exceeds the upper limit. You can submit a ticket to request a quota increase.'],
['errorCode' => 'QuotaFull.ChildInstanceRelatedCen', 'errorMessage' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.', 'description' => 'The error message returned because the number of CEN instances to which the instance is attached has reached the upper limit. You cannot attach the instance to more CEN instances.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen', 'errorMessage' => 'The resource owner user has not opened transit router service.', 'description' => 'The transit router service for the resource owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['errorCode' => 'OperationUnsupported.VcoTunnelNotMatchZoneParam', 'errorMessage' => 'The tunnel type of the entered Vco does not match the Zone parameter.', 'description' => 'The tunnel type of the entered Vco does not match the Zone parameter.'],
['errorCode' => 'Forbidden.ResourceOwnerTransitRouterServiceExpired', 'errorMessage' => 'The transit router service of the account to which the resource belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'description' => 'The transit router service of the account to which the resource belongs has been suspended. Please notify the other party to renew the service and try again.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'IllegalParam.TransitRouterRegionId', 'errorMessage' => 'TransitRouterRegionId is illegal.', 'description' => 'The error message returned because the specified transit router region ID (TransitRouterRegionId) is invalid.'],
['errorCode' => 'InvalidVpnId.NotFound', 'errorMessage' => 'The specified vpn connection instance id does not exist.', 'description' => 'The specified vpn connection instance id does not exist.'],
['errorCode' => 'InvalidParameter.ResourceType', 'errorMessage' => 'The specified parameter ResourceType is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.VpnId', 'errorMessage' => 'The specified parameter VpnId is invalid.', 'description' => ''],
['errorCode' => 'IllegalParam.ChargeType', 'errorMessage' => 'The specified ChargeType is illegal.', 'description' => 'The error message returned because the specified billing method is invalid.'],
['errorCode' => 'Forbidden.AttachChildInstanceAcrossBid', 'errorMessage' => 'Operation is not supported for current account.', 'description' => 'Operation is not supported for current account.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterVpnAttachments', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'CreateTransitRouterVpnAttachment',
'description' => '- After you create a VPN connection, the connection does not learn routes from or associate with any route table of the transit router by default.'."\n"
."\n"
.'- When you call the `CreateTransitRouterVpnAttachment` operation, you do not need to specify **TransitRouterId** if you specify **CenId** and **RegionId**. You do not need to specify **CenId** if you specify **TransitRouterId** and **RegionId**.'."\n"
."\n"
.'### Prerequisites'."\n"
."\n"
.'- Before you create a VPN connection, make sure that you have created an IPsec-VPN connection in the same region as the transit router instance and that the IPsec-VPN connection is not attached to any resource. For more information, see [CreateVpnAttachment](~~442455~~).'."\n"
."\n"
.'- If the transit router instance needs to connect to a cross-account IPsec-VPN connection, make sure that the transit router instance is granted the required permissions on the IPsec-VPN connection. For more information, see [GrantInstanceToTransitRouter](~~417520~~).'."\n"
."\n"
.'- Before you create a VPN connection, make sure that you have configured a CIDR block for the transit router. For more information, see [CreateTransitRouterCidr](~~468230~~).',
'changeSet' => [
['createdAt' => '2025-05-22T07:14:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-04T12:14:33.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-07T07:04:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-07-01T18:00:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-06-23T03:08:02.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterVpnAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterVpnAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-y5dup2qwfyh9lu****\\",\\n \\"RequestId\\": \\"8B5DD40A-3A29-5AC0-B8DA-05FD10D5C893\\"\\n}","type":"json"}]',
],
'DeactiveFlowLog' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72312',
'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The unique, one-use client token that is used to ensure the idempotence of the request. It can contain only ASCII characters.'."\n"
."\n"
.'> If you leave this parameter empty, the system automatically uses the **request ID** as the **client token**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the flow log.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'FlowLogId',
'in' => 'query',
'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n"
."\n"
.'- **true**'."\n"
.'- **false**', 'type' => 'string', 'title' => '', 'example' => 'true'],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'],
['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the specified source project or Logstore does not exist.'],
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'RuleExist', 'errorMessage' => 'The rule has already existed.', 'description' => 'The rule already exists.'],
['errorCode' => 'QuotaExceeded.FlowlogCount', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => 'The error message returned because the number of flow logs has reached the upper limit.'],
['errorCode' => 'InvalidFlowlogId.exist', 'errorMessage' => 'This cenId already has flowlog instance existed.', 'description' => 'The error message returned because the specified CEN instance is already associated with a flow log.'],
['errorCode' => 'InvalidFlowlogId.NotFound', 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.', 'description' => 'The error message returned because the specified flow log does not exist.'],
['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The error message returned because the status of the flow log does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.TrFlowlog', 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.', 'description' => 'Flowlog status for specified TransitRouter is invalid for this operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.FlowLogId', 'errorMessage' => 'The specified parameter FlowLogId is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeactiveFlowLog',
'summary' => 'Disables a flow log. A disabled flow log no longer captures network traffic.',
'description' => 'This operation is executed asynchronously. After receiving a request, the system returns a **request ID** before it finishes disabling the flow log. The task is continued in the backend. You can call `DescribeFlowlogs` to check whether the flow log has been disabled.'."\n"
."\n"
.'- If the flow log is in the **Modifying** state, the task is still in progress. In this case, you can query information about the flow log but cannot perform other operations on it.'."\n"
.'- If the flow log is in the **Inactive** state, the flow log has been disabled.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-14T07:05:42.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactiveFlowLog'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DeactiveFlowLog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
],
'DeleteCen' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72315',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The CEN instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.DeleteCenWithCustomRouteTable', 'errorMessage' => 'Operation failed because you are not allowed to delete the CEN with the custom transit router route table.', 'description' => 'The error message returned because you are not allowed to delete the CEN instance unless all custom route tables are deleted from the CEN instance.'],
['errorCode' => 'OperationFailed.DeleteCenWithRouteEntry', 'errorMessage' => 'Operation failed because you are not allowed to delete the CEN with the transit router route entry.', 'description' => 'The error message returned because you are not allowed to delete the CEN instance unless all custom route entries are deleted from the CEN instance.'],
['errorCode' => 'OperationFailed.MulticastDomainExist', 'errorMessage' => 'Operation is invalid because multicast domain exists.', 'description' => 'The error message returned because the transit router is associated with a multicast domain. Disassociate the transit router from the multicast domain before you delete the transit router.'],
['errorCode' => 'OperationFailed.PrefixListAssociationExist', 'errorMessage' => 'Operation is invalid because prefixList association exists.', 'description' => ''],
['errorCode' => 'OperationFailed.AggregationRouteExist', 'errorMessage' => 'Operation is invalid because transit router aggregation route exists.', 'description' => ''],
['errorCode' => 'OperationFailed.TrafficMarkingPolicyExist', 'errorMessage' => 'Operation is invalid because transit router traffic marking policy exists.', 'description' => ''],
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'OperationFailed.TrafficQosPolicyExist', 'errorMessage' => 'Operation is invalid because traffic qos policy exists.', 'description' => 'The error message returned because this operation is not supported when a QoS policy exists. Delete the QoS policy and try again.'],
['errorCode' => 'InvalidOperation.RelatedEcrExists', 'errorMessage' => 'Operation is invalid due to related ECR exists.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCens', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeleteCen',
'summary' => 'Deletes a Cloud Enterprise Network (CEN) instance.',
'description' => '**DeleteCen** is an asynchronous operation. After a request is sent, the system returns a **request ID** and runs the task in the background. You can call **DescribeCens** to query the status of a CEN instance.'."\n"
."\n"
.'- If the CEN instance is in the **Deleting** state, the CEN instance is being deleted. In this case, you can query the CEN instance but cannot perform other operations.'."\n"
."\n"
.'- If the CEN instance cannot be found, the CEN instance is deleted.'."\n"
."\n"
.'### [](#)Prerequisites'."\n"
."\n"
.'The CEN instance that you want to delete is not associated with a bandwidth plan, and the transit router associated with the CEN instance does not have a network instance connection or a custom route table.'."\n"
."\n"
.'- For more information about how to detach a network instance, see the following topics:'."\n"
."\n"
.' - [DeleteTransitRouterVpcAttachment](~~261220~~)'."\n"
."\n"
.' - [DeleteTransitRouterVbrAttachment](~~261223~~)'."\n"
."\n"
.' - [DeleteTransitRouterVpnAttachment](~~443992~~)'."\n"
."\n"
.' - [DeleteTransitRouterPeerAttachment](~~261227~~)'."\n"
."\n"
.' > For more information about how to detach network instances from a Basic Edition transit router, see [DetachCenChildInstance](~~65915~~).'."\n"
."\n"
.'- For more information about how to delete custom route tables from an Enterprise Edition transit router, see [DeleteTransitRouterRouteTable](~~261235~~).'."\n"
."\n"
.'- For more information about how to disassociate a bandwidth plan from a CEN instance, see [UnassociateCenBandwidthPackage](~~65935~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-09-08T01:51:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-10T07:40:37.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2022-12-16T07:48:27.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5903EE99-D542-4E14-BC65-AAC1CB2D3D03\\"\\n}","type":"json"}]',
],
'DeleteCenBandwidthPackage' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan that you want to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cenbwp-4c2zaavbvh5f42****'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
403 => [
['errorCode' => 'Forbidden.Release', 'errorMessage' => 'Forbidden to release a PREPAY bandwidth instance within validity period.', 'description' => 'The error message returned because you cannot release subscription bandwidth plans before they expire.'],
['errorCode' => 'InvalidOperation.BwpInstanceStatus', 'errorMessage' => 'The CBN bandwidth package is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the specified bandwidth plan does not support this operation.'],
],
],
'title' => 'DeleteCenBandwidthPackage',
'summary' => 'Deletes a bandwidth plan.',
'description' => ''."\n"
."\n"
.'- Before you delete a bandwidth plan, ensure that it is detached from the Cloud Enterprise Network (CEN) instance. For more information, see [UnassociateCenBandwidthPackage](~~65935~~).'."\n"
.'- If you want to delete a prepay bandwidth plan, you must go to the [Order Center](https://usercenter2.aliyun.com/refund/refund) to unsubscribe from the bandwidth plan. If you have questions about unsubscription, see [Unsubscription rules](https://help.aliyun.com/zh/user-center/user-guide/unsubscription-rules#p-1qo-3ce-m7z). This operation does not support deleting bandwidth plans that use the subscription billing method.'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'Before you delete a bandwidth plan, ensure that it is detached from the Cloud Enterprise Network (CEN) instance. For more information, see [UnassociateCenBandwidthPackage](~~65935~~).'."\n"
."\n"
.'',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCenBandwidthPackage'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
],
'DeleteCenChildInstanceRouteEntryToAttachment' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'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 automatically uses the **RequestId** of the request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. A dry run checks for potential issues, including permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. The route entry of the network instance is deleted after the request passes the check.'."\n"
."\n"
.'- **true**: Sends a check request. The system checks the required parameters and the request format. If the check fails, an error message is returned. If the check succeeds, the corresponding request ID is returned. The route entry of the network instance is not deleted.'."\n"
."\n"
.'> This parameter is not in effect.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-wgcl0ik5o8jakq****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r1qhupkc19iadz****', 'title' => ''],
],
[
'name' => 'RouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table that belongs to the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1osd9opvegfpowc****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.0.1.0/24', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned data.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '250E717B-9823-5FD8-A1C6-5714234FB825', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidRouteEntry.NotFound', 'errorMessage' => 'Route entry not exists.', 'description' => 'The error message returned because the route entry does not exist.'],
['errorCode' => 'IncorrectStatus.VpcRouteEntry', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC route entry does not support this operation. Try again later.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['errorCode' => 'InvalidCidrBlock.Malformed', 'errorMessage' => 'The specified CIDR block is not valid.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DeleteCenChildInstanceRouteEntryToAttachment',
'summary' => 'Call the DeleteCenChildInstanceRouteEntryToAttachment operation to delete a route entry from a network instance that is connected to an Enterprise Edition transit router.',
'description' => '- You can delete route entries from Virtual Private Cloud (VPC) instances and virtual border router (VBR) instances only if the next hop of the route entry is a **transit router connection** (a network instance connection).'."\n"
."\n"
.'- **DeleteCenChildInstanceRouteEntryToAttachment** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the route entry is still being deleted in the background. You can call the **DescribeRouteEntryList** operation for VPC to query the status of the route entry.'."\n"
."\n"
.' - If a route entry is in the **Deleting** state, it is being deleted. During this time, you can only query the route entry and cannot perform other operations on it.'."\n"
."\n"
.' - If you cannot find the specified route entry, it has been deleted.',
'changeSet' => [
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-30T08:45:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-15T03:07:42.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenChildInstanceRouteEntryToAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenChildInstanceRouteEntryToAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"250E717B-9823-5FD8-A1C6-5714234FB825\\"\\n}","type":"json"}]',
],
'DeleteCenChildInstanceRouteEntryToCen' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7febra5nqj7jjh****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-k1alm2jbuwibhxtx2****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: a virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: a virtual border router (VBR).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-southeast-5', 'title' => ''],
],
[
'name' => 'ChildInstanceAliUid',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.'."\n"
."\n"
.'> This parameter is required if the network instance belongs to another Alibaba Cloud account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1787100000000000', 'title' => ''],
],
[
'name' => 'RouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-k1aa8ulqs39f86op8****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route.'."\n"
."\n"
.'The destination CIDR block must be in CIDR format. Example: 192.168.10.0/24.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '192.168.22.0/24', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C05000A4-2FC5-5B2C-9527-954044DE2CF3', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.VpcNotAttachedToCen', 'errorMessage' => 'Operation failed because vpc not attached to cen.', 'description' => 'The error message returned because the specified VPC is not associated with a CEN instance.'],
['errorCode' => 'OperationFailed.InvalidChildInstanceType', 'errorMessage' => 'Child instance type is invalid for this operation.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DeleteCenChildInstanceRouteEntryToCen',
'summary' => 'You can call the DeleteCenChildInstanceRouteEntryToCen operation to delete a route from a network instance.',
'description' => '- The DeleteCenChildInstanceRouteEntryToCen operation is not available by default. To use this operation, [submit a ticket](https://selfservice.console.aliyun.com/ticket/category/cbn/today)[submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex).'."\n"
."\n"
.'- You cannot use the DeleteCenChildInstanceRouteEntryToCen operation to delete routes from a network instance that is attached to an Enterprise Edition transit router.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-09-08T01:51:38.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-16T03:34:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-16T03:34:37.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenChildInstanceRouteEntryToCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenChildInstanceRouteEntryToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C05000A4-2FC5-5B2C-9527-954044DE2CF3\\"\\n}","type":"json"}]',
],
'DeleteCenInterRegionTrafficQosPolicy' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Default value: false. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qos-eczzew0v1kzrb5****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'AssociationExist.TransitQosQueueExist', 'errorMessage' => 'The qos queue with the specified TrafficQosPolicyId exists.', 'description' => 'The error message returned because the QoS policy contains queues. You must delete the queues before you delete the QoS policy.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'Forbidden.CDTServiceExpired', 'errorMessage' => 'The CDT service is out of service.', 'description' => 'The cloud data transfer service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'OperationFailed.NotSupportDeleteDefaultQueue', 'errorMessage' => 'The operation failed because deleting the default QoS queue is not supported.', 'description' => 'The operation failed because deleting the default QoS queue is not supported.'],
],
404 => [
['errorCode' => 'InvalidTransitQosId.NotFound', 'errorMessage' => 'The specified TrafficQosPolicyId is not found.', 'description' => 'The error message returned because the TrafficQosPolicyId parameter is set to an invalid value.'],
],
],
'staticInfo' => [],
'title' => 'DeleteCenInterRegionTrafficQosPolicy',
'summary' => 'Deletes a quality of service (QoS) policy.',
'description' => '- Before you delete a QoS policy, you must delete all queues in the QoS policy except the default queue. For more information, see [DeleteCenInterRegionTrafficQosQueue](~~419062~~).'."\n"
."\n"
.'- **DeleteCenInterRegionTrafficQosPolicy** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListCenInterRegionTrafficQosPolicies** operation to query the status of a QoS policy.'."\n"
."\n"
.' - If a QoS policy is in the **Deleting** state, the QoS policy is being deleted. You can query the QoS policy but cannot perform other operations.'."\n"
."\n"
.' - If a QoS policy cannot be found, the QoS policy is deleted.',
'changeSet' => [
['createdAt' => '2022-12-16T05:33:35.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T07:55:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenInterRegionTrafficQosPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenInterRegionTrafficQosPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
],
'DeleteCenInterRegionTrafficQosQueue' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'QosQueueId',
'in' => 'query',
'schema' => ['description' => 'The ID of the queue.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qos-queue-nv2vfzqkewhk4t****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTrafficQosQueueId.NotFound', 'errorMessage' => 'The specified TrafficQosQueueId is not found. ', 'description' => ''],
['errorCode' => 'IncorrectStatus.TrafficQosPolicy', 'errorMessage' => 'The status of TrafficQosPolicy is incorrect.', 'description' => 'The error message returned because the status of the specified QoS policy does not support the operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficQosPolicyQueueId', 'errorMessage' => 'The parameter TrafficQosPolicyQueueId is mandatory.', 'description' => ''],
['errorCode' => 'Forbidden.CDTServiceExpired', 'errorMessage' => 'The CDT service is out of service.', 'description' => 'The cloud data transfer service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'OperationFailed.NotSupportDeleteDefaultQueue', 'errorMessage' => 'The operation failed because deleting the default QoS queue is not supported.', 'description' => 'The operation failed because deleting the default QoS queue is not supported.'],
],
],
'title' => 'DeleteCenInterRegionTrafficQosQueue',
'summary' => 'Deletes a queue from a quality of service (QoS) policy.',
'description' => '- You cannot delete the default queue.'."\n"
."\n"
.'- **DeleteCenInterRegionTrafficQosQueue** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListCenInterRegionTrafficQosPolicies** operation to query the status of a queue. If a queue cannot be found, the queue is deleted.',
'changeSet' => [
['createdAt' => '2022-12-16T05:33:34.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenInterRegionTrafficQosQueue'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenInterRegionTrafficQosQueue',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
],
'DeleteCenRouteMap' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72322',
'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jm****', 'title' => ''],
],
[
'name' => 'CenRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the routing policy is applied.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'RouteMapId',
'in' => 'query',
'schema' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenrmap-abcdedfghij****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5903EE99-D542-4E14-BC65-AAC1CB2D3D03', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.RouteMap', 'errorMessage' => 'Operation Failed. The specified route map is configuring, please try again later.', 'description' => 'The error message returned because the status of the routing policy (routeMap) does not support this operation. Try again later.'],
['errorCode' => 'InvalidOperation.TransitRouterNotExist', 'errorMessage' => 'Operation is invalid because the transit router not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'OperationUnsupported.TransitRouterStatus', 'errorMessage' => 'The specified TransitRouterStatus does not support the operation.', 'description' => 'The specified TransitRouterStatus does not support the operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCenRouteMaps', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeleteCenRouteMap',
'summary' => 'The DeleteCenRouteMap operation deletes a specified routing policy.',
'description' => '`DeleteCenRouteMap` is an asynchronous operation. After you call this operation, the system returns a request ID. The routing policy is then deleted in the background. You can call the `DescribeCenRouteMaps` operation to query the status of the routing policy.'."\n"
."\n"
.'- If a routing policy is in the **Deleting** state, it is being deleted, and you can only perform query operations on it.'."\n"
."\n"
.'- If the routing policy cannot be found when you call `DescribeCenRouteMaps`, the policy has been deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-08-20T06:45:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-30T09:29:48.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCenRouteMap'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenRouteMap',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5903EE99-D542-4E14-BC65-AAC1CB2D3D03\\"\\n}","type":"json"}]',
],
'DeleteFlowlog' => [
'summary' => 'Deletes a flow log.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72323',
'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The unique, one-use client token that is used to ensure the idempotence of the request. It can contain only ASCII characters.'."\n"
."\n"
.'> If you leave this parameter empty, the system automatically uses the **request ID** as the **client token**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the flow log is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'FlowLogId',
'in' => 'query',
'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n"
."\n"
.'- **true**'."\n"
.'- **false**', 'type' => 'string', 'title' => '', 'example' => 'true'],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ProjectOrLogstoreNotExist', 'errorMessage' => 'The specified project or logstore does not exist.', 'description' => 'The error message returned because the specified project or Logstore does not exist.'],
['errorCode' => 'SourceProjectNotExist', 'errorMessage' => 'The Source Project or logstore does not exist.', 'description' => 'The error message returned because the specified source project or Logstore does not exist.'],
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'QuotaExceeded.FlowlogCount', 'errorMessage' => 'This user has reached the maximum instance number of flowlog.', 'description' => 'The error message returned because the number of flow logs has reached the upper limit.'],
['errorCode' => 'InvalidFlowlogId.exist', 'errorMessage' => 'This cenId already has flowlog instance existed.', 'description' => 'The error message returned because the specified CEN instance is already associated with a flow log.'],
['errorCode' => 'InvalidFlowlogId.NotFound', 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.', 'description' => 'The error message returned because the specified flow log does not exist.'],
['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The error message returned because the status of the flow log does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.TrFlowlog', 'errorMessage' => 'Flowlog status for specified TransitRouter is invalid for this operation.', 'description' => 'Flowlog status for specified TransitRouter is invalid for this operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.FlowLogId', 'errorMessage' => 'The specified parameter FlowLogId is invalid.', 'description' => ''],
['errorCode' => 'InvalidOperation.RelatedTrafficAnalyzerExists', 'errorMessage' => 'The FlowLog has related Traffic Analyzer instance.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeleteFlowlog',
'description' => 'This operation is executed asynchronously. After receiving a request, the system returns a **request ID** before it finishes deleting the flow log. The task is continued in the backend. You can call `DescribeFlowlogs` to check whether the flow log has been deleted.'."\n"
."\n"
.'- If the flow log is in the **Deleting** state, it is still being deleted. In this case, you can query information about the flow log but cannot perform other operations on it.'."\n"
.'- If the `DescribeFlowlogs` call fails because the flow log is not found, it has been deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-14T07:05:42.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteFlowlog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
],
'DeleteRouteServiceInCen' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'Host',
'in' => 'query',
'schema' => ['description' => 'The IP address or CIDR block of the Alibaba Cloud service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '100.118.28.0/24', 'title' => ''],
],
[
'name' => 'HostRegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the Alibaba Cloud service.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'AccessRegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID from which the Alibaba Cloud service is accessed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostVpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC that is associated with the Alibaba Cloud service.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1t36rn9l53iwbsf****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2315DEB7-5E92-423A-91F7-4C1EC9AD97C3', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.CloudRouteNumberInvalid', 'errorMessage' => 'Cloud route number is invalid', 'description' => 'The error message returned because the number of cloud service routes is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
403 => [
['errorCode' => 'InvalidOperation.CloudRouteStatusNotAllow', 'errorMessage' => 'Operation is prohibited because status of cloud route is invalid.', 'description' => 'The error message returned because the status of the specified cloud service does not support this operation. Try again later.'],
],
],
'title' => 'DeleteRouteServiceInCen',
'summary' => 'Call the DeleteRouteServiceInCen operation to delete the configuration of an Alibaba Cloud service from a Basic Edition transit router.',
'description' => '**DeleteRouteServiceInCen** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the operation continues in the background. The system returns a request ID even if you specify an invalid parameter. In this case, the Alibaba Cloud service configuration is not deleted. You can call the **DescribeRouteServicesInCen** operation to query the status of the Alibaba Cloud service.'."\n"
."\n"
.'- If the Alibaba Cloud service is in the **Deleting** state, you can only query its configuration. You cannot perform other operations.'."\n"
."\n"
.'- If the specified Alibaba Cloud service configuration is not found, the configuration has been deleted.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRouteServiceInCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteRouteServiceInCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3\\"\\n}","type":"json"}]',
'extraInfo' => ' ',
],
'DeleteTrafficMarkingPolicy' => [
'summary' => 'Deletes a specified traffic marking policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the value of **RequestId** as the value of **ClientToken**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'* **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
.'* **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
'name' => 'Force',
'in' => 'query',
'schema' => ['description' => 'Whether to force delete the traffic marking policy. Valid values:'."\n"
."\n"
.'* **false** (default): checks whether there is a traffic classification rule before deleting the traffic marking policy. If there is, the traffic marking policy cannot be deleted and an error is returned.'."\n"
.'* **true**: When you delete a traffic marking policy, all traffic classification rules are deleted by default.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned result.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5F1F3A57-A753-572B-8F71-4F964398C566', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'AssociationExist.TransitQosRuleExist', 'errorMessage' => 'The rule with the specified TrafficMarkingPolicy already exists.', 'description' => 'The error message returned because the traffic marking policy contains rules. You must delete the rules before you delete the traffic marking policy.'],
['errorCode' => 'IncorrectStatus.TrafficMarkingPolicy', 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.', 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'MissingParam.TrafficMarkingPolicyId', 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.', 'description' => ''],
],
],
'title' => 'DeleteTrafficMarkingPolicy',
'description' => '* **DeleteTrafficMarkingPolicy** is an asynchronous operation. After a request is sent, the system returns a **request ID** and runs the task in the background. You can call the **ListTrafficMarkingPolicies** operation to query the status of a traffic marking policy.'."\n"
."\n"
.' * If a traffic marking policy is in the **Deleting** state, the traffic marking policy is being deleted. You can query the traffic marking policy but cannot perform other operations.'."\n"
.' * If a traffic marking policy cannot be found, the traffic marking policy is deleted.'."\n"
."\n"
.'* Before you delete a traffic marking policy, you must delete all traffic classification rules from the policy. For more information, see [RemoveTrafficMatchRuleFromTrafficMarkingPolicy](~~468330~~).'."\n",
'changeSet' => [
['createdAt' => '2025-05-22T07:14:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2025-04-11T07:24:12.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T06:21:52.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5F1F3A57-A753-572B-8F71-4F964398C566\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5F1F3A57-A753-572B-8F71-4F964398C566\\n","errorExample":""}]',
],
'DeleteTransitRouteTableAggregation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '154263',
'abilityTreeNodes' => ['FEATUREcbnYACM08'],
],
'parameters' => [
[
'name' => 'TransitRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the aggregate route.'."\n"
."\n"
.'> The following CIDR blocks are not supported:'."\n"
.'>'."\n"
.'> - CIDR blocks that start with 0 or 100.64.'."\n"
.'>'."\n"
.'> - Multicast CIDR blocks, including 224.0.0.1 to 239.255.255.254.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Default values:'."\n"
."\n"
.'- **false** (default): performs only a dry run.'."\n"
."\n"
.'- **true**: performs a dry run and performs the actual request. 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.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => '',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InstanceNotExist.AggregationRoute', 'errorMessage' => 'This aggregation route is not exist.', 'description' => 'The error message returned because the aggregated route does not exist.'],
['errorCode' => 'InstanceNotExist.TransitRouteTable', 'errorMessage' => 'The transitRouter route table is not exist.', 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouteTable', 'errorMessage' => 'The status of transitRouter route table is invalid.', 'description' => 'The error message returned because the status of the transit router route table does not support this operation. Try again later.'],
['errorCode' => 'InstanceNotExist.TransitRouter', 'errorMessage' => 'The transitRouter is not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of transitRouter is invalid.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr', 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.', 'description' => ''],
['errorCode' => 'InstanceNotExist.TrRouteTableAggregationCidr', 'errorMessage' => 'The aggregation route does not exist.', 'description' => 'The aggregation route does not exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'IncorrectStatus.TransitRouteTableAggregationCidr', 'errorMessage' => 'Route table aggregation cidr status is invalid.', 'description' => 'The error message returned because the status of The aggregate route does not support the operation. Please try again later.'],
['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.', 'description' => ''],
],
],
'title' => 'DeleteTransitRouteTableAggregation',
'summary' => 'Deletes an aggregate route.',
'description' => '- Before you delete an aggregate route, make sure that your network has a redundant route to prevent service interruptions.'."\n"
."\n"
.'- After an aggregate route is deleted, the aggregate route is automatically withdrawn from virtual private clouds (VPCs). Specific routes that fall within the aggregate route are advertised to the VPCs.',
'changeSet' => [
['createdAt' => '2025-04-10T07:57:48.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-12-06T11:09:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-01-18T06:29:31.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-03-10T07:40:38.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouteTableAggregation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'DeleteTransitRouter' => [
'summary' => 'Deletes a transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72326',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among different requests. ClientToken can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether only to precheck the request. Check items include permissions and the status of the transit router. Valid values:'."\n"
."\n"
.'- **false** (default): sends the request. If the request passes the precheck, the transit router is deleted.'."\n"
.'- **true**: prechecks the request but does not delete the transit router. If you use this value, the system checks the required parameters and the request syntax. If the request fails to pass the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-uf654ttymmljlvh2x****'],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'description' => '',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '6DE3EE92-39C8-4BBD-A3AD-F568D74741BB'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.DeleteTransitRouter', 'errorMessage' => 'Operation failed because TransitRouterRouteTable or TransitRouterRouteEntry or BandwidthTransitRegion exists.', 'description' => 'The error message returned because this operation is not supported when a custom route or a custom route table exists, or bandwidth multiplexing is enabled. Delete the custom route table and route, disable bandwidth multiplexing, and then try again.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'OperationFailed.CCNAttached', 'errorMessage' => 'Can not delete transit router because CCN still attached.', 'description' => 'The error message returned because the transit router cannot be deleted when it is connected to a CCN instance.'],
['errorCode' => 'OperationFailed.BandwidthLimitExist', 'errorMessage' => 'Operation is invalid because a bandwidth limit exist.', 'description' => 'Please delete all cross region bandwidth limits associated with current TR and try again. '],
['errorCode' => 'IncorrectStatus.CenInstance', 'errorMessage' => 'The status of CenInstance is incorrect.', 'description' => 'The error message returned because the status of the CEN instance to which the transit router is connected does not support this operation. Wait until the CEN instance is in a stable state.'],
['errorCode' => 'OperationFailed.TrafficMarkingPolicyExist', 'errorMessage' => 'Operation is invalid because traffic marking policy exists.', 'description' => 'The error message returned because the transit router is associated with a traffic marking policy. Disassociate the transit router from the traffic marking policy before you delete the transit router.'],
['errorCode' => 'OperationFailed.MulticastDomainExist', 'errorMessage' => 'Operation is invalid because multicast domain exists.', 'description' => 'The error message returned because the transit router is associated with a multicast domain. Disassociate the transit router from the multicast domain before you delete the transit router.'],
['errorCode' => 'OperationFailed.PrefixListExist', 'errorMessage' => 'Operation is invalid because prefix list exists.', 'description' => 'The error message returned because this operation is not supported when a prefix list exists. Delete the prefix list and try again.'],
['errorCode' => 'OperationFailed.TrafficQosPolicyExist', 'errorMessage' => 'Operation is invalid because traffic qos policy exists.', 'description' => 'The error message returned because this operation is not supported when a QoS policy exists. Delete the QoS policy and try again.'],
['errorCode' => 'OperationFailed.CloudRouteExist', 'errorMessage' => 'Operation is invalid because cloud route exists.', 'description' => ''],
['errorCode' => 'OperationFailed.FlowLogExistOrNisOpened', 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.', 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['errorCode' => 'OperationFailed.AggregationRouteExist', 'errorMessage' => 'Operation failed because TransitRouterRouteAggregation exists.', 'description' => 'Operation failed because TransitRouterRouteAggregation exists.'],
['errorCode' => 'InvalidOperation.BondVbrExist', 'errorMessage' => 'The operation failed due to BondVbr exists.', 'description' => 'The operation failed because the BondVbr exists.'],
['errorCode' => 'InvalidTransitRouterInstance.NotFound', 'errorMessage' => 'The Transit Router instance is not found.', 'description' => 'The Transit Router instance is not found.'],
['errorCode' => 'OperationFailed.FlowLogExist', 'errorMessage' => 'Flow log configurations exist. Delete the flow log configurations and retry the operation.', 'description' => 'Flow log configurations exist. Delete the flow log configurations and retry the operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidOperation.RelatedEcrExists', 'errorMessage' => 'Operation is invalid due to related ECR exists.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouters', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeleteTransitRouter',
'description' => '**DeleteTransitRouter** is an asynchronous operation. After you send a request, the **request ID** is returned but the operation is still being performed in the system background. You can call **ListTransitRouters** to query the status of a transit router.'."\n"
."\n"
.'- If a transit router is in the **Deleting** state, the transit router is being deleted. In this case, you can query the transit router but cannot perform other operations.'."\n"
.'- If a transit router cannot be found, the transit router is deleted.'."\n"
."\n"
.'#### Prerequisites'."\n"
."\n"
.'Before you delete a transit router, make sure that the following prerequisites are met:'."\n"
."\n"
.'- No network instance connections are created on the transit router.'."\n"
."\n"
.' - For more information about how to delete a virtual private cloud (VPC) connection, see [DeleteTransitRouterVpcAttachment](~~261220~~).'."\n"
.' - For more information about how to delete a virtual border router (VBR) connection, see [DeleteTransitRouterVbrAttachment](~~261223~~).'."\n"
.' - For more information about how to delete a Cloud Connect Network (CCN) connection, see [DetachCenChildInstance](~~65915~~).'."\n"
.' - For more information about how to delete a VPN connection, see [DeleteTransitRouterVpnAttachment](~~443992~~).'."\n"
.' - For more information about how to delete an inter-region connection, see [DeleteTransitRouterPeerAttachment](~~261227~~).'."\n"
.'- No custom route tables are created on the transit router. For more information about how to delete a custom route table, see [DeleteTransitRouterRouteTable](~~261235~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-10-21T11:54:02.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-18T03:31:45.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-22T01:48:53.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:26.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouter'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouter',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DE3EE92-39C8-4BBD-A3AD-F568D74741BB\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterCidr' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a client-side 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 request ID as the client token. The request ID may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
'name' => 'TransitRouterCidrId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CIDR block of the transit router.'."\n"
."\n"
.'Call [ListTransitRouterCidr](~~462772~~) to query the ID of the CIDR block.', 'type' => 'string', 'required' => true, 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'Call [DescribeChildInstanceRegions](~~132080~~) to obtain the region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: sends a check request without deleting the CIDR block. The system checks whether the required parameters are specified, the request format is valid, and the service limits are met. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): sends a normal request. After the request passes the check, the CIDR block is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.CidrBlockAllocated', 'errorMessage' => 'Cidr blocks are allocated from the cidr, which should be released first.', 'description' => 'The error message returned because the specified CIDR block is already occupied. Release the resources that occupy the CIDR block and try again.'],
['errorCode' => 'OperationFailed.CidrNotExist', 'errorMessage' => 'cidr is not exist.', 'description' => 'The error message returned because the specified CIDR block does not exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => [],
'title' => 'DeleteTransitRouterCidr',
'summary' => 'Deletes a CIDR block from a transit router.',
'description' => 'You cannot delete a CIDR block from which IP addresses have been allocated.',
'changeSet' => [
['createdAt' => '2022-12-16T07:48:26.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-07T07:04:12.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterCidr'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterEcrAttachment' => [
'summary' => 'Deletes an Express Connect Router (ECR) connection from an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the ECR connection.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
."\n"
.'* **false** (default): performs a dry run and performs the actual request.'."\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, a request ID is returned.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Force',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcibly delete the ECR connection. Valid values:'."\n"
."\n"
.'* **false** (default): checks for resource dependencies such as associated forwarding and route learning before deleting the ECR connection. If such resources exist, the ECR connection is not deleted and an error message is returned.'."\n"
.'* **true**: deletes the ECR connections and all dependent resources.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.RouteTableAssociationExist', 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists', 'description' => 'The error message returned because you cannot perform the operation when the connection is associated with a route table.'],
['errorCode' => 'OperationFailed.RouteEntryExist', 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.', 'description' => ''],
['errorCode' => 'OperationFailed.RouteTablePropagationExist', 'errorMessage' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.', 'description' => 'The error message returned because you cannot perform the operation when a route learning correlation is configured for the network instance connection. Disassociate from the route learning correlation and try again.'],
['errorCode' => 'OperationFailed.FlowLogExistOrNisOpened', 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.', 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationFailed.NotSupportForceDelete', 'errorMessage' => 'Not support force delete attachment.', 'description' => 'The error message returned because the specified resource cannot be forcefully deleted.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'The TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the specified transit router attachment ID (TransitRouterAttachmentId) does not exist.'],
['errorCode' => 'OperationFailed.PrefixListExist', 'errorMessage' => 'Operation failed because PrefixList exists.', 'description' => 'The error message returned because a prefix list exists.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'IncorrectStatus.EcrResource', 'errorMessage' => 'The ECR resource is not in a valid state for the attachment operation.', 'description' => 'The ECR resource is not in a valid state for the attachment operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
'title' => 'DeleteTransitRouterEcrAttachment',
'description' => 'DeleteTransitRouterEcrAttachment is an asynchronous operation. After a request is sent, the system returns a request ID and runs the task in the background. You can call the ListTransitRouterEcrAttachments operation to query the status of an ECR connection.'."\n"
."\n"
.'If the ECR connection is in the Detaching state, the ECR connection is being deleted. In this case, you can query the ECR connection but cannot perform other operations on the ECR connection. If the ECR connection cannot be found, the ECR connection is deleted. Before you call the DeleteTransitRouterEcrAttachment operation, make sure that all request parameters are valid. If a request is invalid, a request ID is returned but the ECR connection is not deleted.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'DeleteTransitRouterEcrAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterEcrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
],
],
],
],
],
'DeleteTransitRouterMulticastDomain' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token on your client to make sure that it is unique among different requests. The token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): performs a normal request. If the request passes the check, the multicast domain is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '40194E53-2484-5831-BB53-E11D123C1A32', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.MulticastDomain', 'errorMessage' => 'The status of MulticastDomain is incorrect.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'IncorrectStatus.Cen', 'errorMessage' => 'The status of Cen is incorrect.', 'description' => 'The error message returned because the status of the specified CEN instance does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'InvalidOperation.MulticastDomainAssociationExist', 'errorMessage' => 'Operation is invalid because multicast domain associations exist.', 'description' => 'The error message returned because this operation is not supported when the multicast domain is associated with a resource.'],
['errorCode' => 'InvalidOperation.MulticastGroupExist', 'errorMessage' => 'Operation is invalid because multicast groups exist.', 'description' => 'The error message returned because this operation is not supported when a multicast domain group exists.'],
['errorCode' => 'InvalidOperation.MulticastDomainInGroup', 'errorMessage' => 'Operation is invalid because multicast domain has registered as multicast group member.', 'description' => 'The error message returned because the specified multicast domain is added to a multicast group as a multicast member.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DeleteTransitRouterMulticastDomain',
'summary' => 'You can call the DeleteTransitRouterMulticastDomain operation to delete a multicast domain.',
'description' => 'Before you delete a multicast domain, ensure that the following requirements are met:'."\n"
."\n"
.'- The multicast domain is not associated with any vSwitch. For more information, see [DisassociateTransitRouterMulticastDomain](~~429774~~).'."\n"
."\n"
.'- No multicast source or member exists in the multicast domain. For more information, see [DeregisterTransitRouterMulticastGroupSources](~~429776~~) and [DeregisterTransitRouterMulticastGroupMembers](~~429779~~).'."\n"
."\n"
.'- The multicast domain is not associated with another multicast domain as a member. To disassociate the domains, delete the member from the other multicast domain. For more information, see [DeregisterTransitRouterMulticastGroupMembers](~~429779~~).'."\n"
."\n"
.'- Ensure that you enter the correct parameter values when you call the operation. If you enter an incorrect parameter value, a request ID is returned, but the multicast domain is not deleted.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterMulticastDomain'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"40194E53-2484-5831-BB53-E11D123C1A32\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterPeerAttachment' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token from your client to ensure that the token is unique among different requests. 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**. The **RequestId** of each request is different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-gyjhtx9sjsxhm6****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. A dry run checks permissions and the status of the instance. Valid values:'."\n"
."\n"
.'- **false** (default): sends the request. If the request passes the check, the inter-region connection is deleted.'."\n"
."\n"
.'- **true**: sends a check request. The system checks the required parameters and the request format. If the request fails the check, an error is returned. If the request passes the check, the corresponding request ID is returned. The inter-region connection is not deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Force',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcefully delete the inter-region connection. Valid values:'."\n"
."\n"
.'- **false** (default): checks for resource dependencies, such as associated forwarding and route learning, before deleting the inter-region connection. If dependencies exist, the deletion is not allowed and an error is returned.'."\n"
."\n"
.'- **true**: deletes all related dependencies when deleting the inter-region connection.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.RouteTablePropagationExist', 'errorMessage' => 'Operation failed because You are not allowed to delete TransitAttachment with TransitRouter RouteTable Associated.', 'description' => 'The error message returned because the transit route attachment (TransitAttachment) is associated with a route table. Disassociate the attachment from the route table and try again.'],
['errorCode' => 'OperationFailed.RouteEntryExist', 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.', 'description' => ''],
['errorCode' => 'OperationFailed.RouteTableAssociationExist', 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists', 'description' => 'The error message returned because you cannot perform the operation when the connection is associated with a route table.'],
['errorCode' => 'OperationFailed.TrafficQosExist', 'errorMessage' => 'Operation failed because TrafficQos exists', 'description' => 'The error message returned because a QoS policy exists. Delete the QoS policy and try again.'],
['errorCode' => 'InvalidValue.PrefixlistCidr', 'errorMessage' => 'Invalid cidr exist in the specified prefixlist.', 'description' => 'The error message returned because the specified prefix list contains an invalid CIDR block.'],
['errorCode' => 'OperationFailed.FlowLogExistOrNisOpened', 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.', 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['errorCode' => 'OperationFailed.NotSupportForceDelete', 'errorMessage' => 'Not support force delete attachment.', 'description' => 'The error message returned because the specified resource cannot be forcefully deleted.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationFailed.MulticastGroupExist', 'errorMessage' => 'Operation is failed because attachment exists in multicast groups.', 'description' => 'The error message returned because the specified attachment is in a multicast group. Remove the attachment from the multicast group and try again.'],
['errorCode' => 'OperationUnsupported.TransitRouterAttachment', 'errorMessage' => 'The specified TransitRouterAttachment has configured TransitRegion. Please remove the configuration first.', 'description' => 'The error message returned because bandwidth multiplexing is enabled. Disable bandwidth multiplexing and try again.'],
['errorCode' => 'OperationFailed.PrefixListExist', 'errorMessage' => 'Operation failed because PrefixList exists.', 'description' => 'The error message returned because a prefix list exists.'],
['errorCode' => 'OperationFailed.InterRegionCloudRouteEntryExist', 'errorMessage' => 'Operation failed because inter region cloud route associated with specified attachment exist.', 'description' => ' Inter region cloud route associated with specified attachment exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DeleteTransitRouterPeerAttachment',
'summary' => 'Call the DeleteTransitRouterPeerAttachment operation to delete an inter-region connection from an Enterprise Edition transit router.',
'description' => 'The **DeleteTransitRouterPeerAttachment** operation is asynchronous. After you send a request, the system returns a **RequestId**, but the inter-region connection is not immediately deleted. The system deletes the connection in the background. You can call the **ListTransitRouterPeerAttachments** operation to query the status of the inter-region connection.'."\n"
."\n"
.'- If an inter-region connection is in the **Detaching** state, it is being deleted. In this state, you can only query the connection and cannot perform other operations.'."\n"
."\n"
.'- If the specified inter-region connection is not found, the connection has been deleted.'."\n"
."\n"
.'Make sure that you specify valid parameter values when you call the **DeleteTransitRouterPeerAttachment** operation. If you specify an invalid parameter value, the system returns a **RequestId** but does not delete the inter-region connection.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-01-11T12:33:01.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-07-31T06:03:07.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-03-10T07:40:38.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-22T08:10:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-15T03:07:43.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterPeerAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterPeerAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A01FEDD7-7D69-4EB3-996D-CF79F6F885CA\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterPrefixListAssociation' => [
'summary' => 'Disassociates the route table of an Enterprise Edition transit router from a prefix list.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-6ehx7q2jze8ch5ji0****', 'title' => ''],
],
[
'name' => 'PrefixListId',
'in' => 'query',
'schema' => ['description' => 'The ID of the prefix list.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'pl-6ehtn5kqxgeyy08fi****', 'title' => ''],
],
[
'name' => 'TransitRouterTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the transit router.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'NextHop',
'in' => 'query',
'schema' => ['description' => 'The ID of the next hop.'."\n"
."\n"
.'> If **NextHopType** is set to **BlackHole**, you must set this parameter to **BlackHole**.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-flbq507rg2ckrj****', 'title' => ''],
],
[
'name' => 'NextHopType',
'in' => 'query',
'schema' => ['description' => 'The type of the next hop. Valid values:'."\n"
."\n"
.'* **BlackHole**: All the CIDR blocks in the prefix list are blackhole routes. Packets destined for the CIDR blocks are dropped.'."\n"
.'* **VPC**: The next hop of the CIDR blocks in the prefix list is a VPC connection.'."\n"
.'* **VBR**: The next hop of the CIDR blocks in the prefix list is a VBR connection.'."\n"
.'* **TR**: The next hop of the CIDR blocks in the prefix list is an inter-region connection.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'* **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
.'* **false** (default): performs a dry run and sends the task.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '835E7F4B-B380-4E0F-96A5-6EA572388047', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'ResourceNotFound.PrefixlistCidrs', 'errorMessage' => 'Can not find any cidr of specified prefix list.', 'description' => 'The error message returned because the specified prefix list does not contain a CIDR block.'],
['errorCode' => 'ResourceNotFound.Nexthop', 'errorMessage' => 'The specified nexthop instance is not exsit.', 'description' => 'The error message returned because the specified next hop does not exist.'],
['errorCode' => 'ResourceNotFound.PrefixlistAssociation', 'errorMessage' => 'The prefix list is not associated with this route table. ', 'description' => ''],
['errorCode' => 'MultipleFound.PrefixlistAssociation', 'errorMessage' => 'multiple same prefix association record found.', 'description' => 'The error message returned because multiple configuration duplicates exist in the system.'],
['errorCode' => 'InvalidStatus.PrefixlistAssociation', 'errorMessage' => 'The prefix list association is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the specified prefix list does not support this operation. Try again later.'],
['errorCode' => 'ResourceNotFound.PrefixList', 'errorMessage' => 'The specified prefixlist does not found.', 'description' => 'The error message returned because the specified prefix list does not exist.'],
['errorCode' => 'OperationDenied.SystemPrefixList', 'errorMessage' => 'SystemPrefixList can not be operated.', 'description' => 'The error message returned because this operation is not supported by the system prefix list.'],
['errorCode' => 'OperationFailed.OperateShareResource', 'errorMessage' => 'Operate share prefixlist failed.', 'description' => 'The error message returned because the specified prefix list failed to be shared.'],
['errorCode' => 'InvalidStatus.Prefixlist', 'errorMessage' => 'Prefixlist is not in a operate status.', 'description' => 'The error message returned because the status of the specified prefix list does not support this operation.'],
['errorCode' => 'IncorrectStatus.RouteTable', 'errorMessage' => 'RouteTable status is invalid.', 'description' => 'The error message returned because the operation is not supported when the specified route table is in an unstable state.'],
['errorCode' => 'OperationFailed.TransitRouterNotExist', 'errorMessage' => 'Operation failed because transit router not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'TransitRouter status is invalid.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.TransitRouterTableId', 'errorMessage' => 'The specified Route Table ID is invalid.', 'description' => 'The Route Table ID is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
'title' => 'DeleteTransitRouterPrefixListAssociation',
'description' => 'After you disassociate a route table of an Enterprise Edition transit router from a prefix list, the routes that point to the CIDR blocks in the prefix list are automatically withdrawn from the route table. Before you disassociate the route table of an Enterprise Edition transit router from a prefix list, you must migrate workloads that use the routes in case services are interrupted.',
'changeSet' => [
['createdAt' => '2023-11-22T03:25:48.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-22T08:10:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-08-26T07:56:17.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-08-26T06:50:10.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-08-24T18:04:53.000Z', 'description' => 'Error codes changed, Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterPrefixListAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"835E7F4B-B380-4E0F-96A5-6EA572388047\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 835E7F4B-B380-4E0F-96A5-6EA572388047\\n","errorExample":""}]',
],
'DeleteTransitRouterRouteEntry' => [
'summary' => 'You can call the DeleteTransitRouterRouteEntry operation to delete a static route of the Blackhole or Attachment type from the route table of an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72329',
'abilityTreeNodes' => ['FEATUREcbnT33W0H'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'The token must be unique for each request and 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, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. A dry run checks for potential issues, such as missing parameter values, incorrect request syntax, and service limits. Valid values:'."\n"
."\n"
.'- **false** (default): Sends the request. If the request passes the check, the route entry is deleted.'."\n"
."\n"
.'- **true**: Performs only a dry run. The system checks the request for potential issues. 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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route entry.', 'type' => 'string', 'required' => false, 'example' => 'rte-75eg4jprkvk0pw****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryNextHopType',
'in' => 'query',
'schema' => ['description' => 'The type of the next hop. Valid values:'."\n"
."\n"
.'- **BlackHole**: The route is a blackhole route. You do not need to specify a next hop.'."\n"
."\n"
.'- **Attachment**: The next hop is a network instance connection. You must specify the ID of the network instance connection.', 'type' => 'string', 'required' => false, 'example' => 'BlackHole', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryDestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'required' => false, 'example' => '192.168.0.0/24', 'title' => ''],
],
[
'name' => 'TransitRouterRouteEntryNextHopId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection that serves as the next hop.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryId', 'errorMessage' => 'TransitRouterRouteEntryId is not found.', 'description' => 'The error message returned because the route ID of the transit router (TransitRouterRouteEntryId) is invalid.'],
['errorCode' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'errorMessage' => 'RouteEntryId and TransitRouterRouteTableIdOrDestCidrBlock is mutually exclusive.', 'description' => 'The error message returned because the RouteEntryId, TransitRouterRouteTableId, or DestCidrBlock parameter conflicts with each other.'],
['errorCode' => 'InvalidTransitRouterRouteTableId.NotFound', 'errorMessage' => 'TransitRouterRouteTableId is not found.', 'description' => 'The error message returned because the specified route table ID of the transit router does not exist.'],
['errorCode' => 'InvalidDestinationCidrBlock.NotFound', 'errorMessage' => 'DestinationCidrBlock is not found.', 'description' => 'The error message returned because the specified destination CIDR block does not exist.'],
['errorCode' => 'OperationFailed.DeleteTransitRouterRouteEntry', 'errorMessage' => 'Operation failed because this route entry is created automatically.', 'description' => 'You cannot delete a route that is automatically created by the system.'],
['errorCode' => 'IllegalParam.NextHopType', 'errorMessage' => 'The NextHopType is illegal.', 'description' => 'The error message returned because the NextHopType parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteTableId', 'errorMessage' => 'The transitRouter route table id is illegal.', 'description' => 'The error message returned because the route table ID of the transit router (TransitRouterRouteTableId) is invalid.'],
['errorCode' => 'MissingParam.TransitRouterRouteEntryNextHopId', 'errorMessage' => 'The parameter TransitRouterRouteEntryNextHopId is mandatory', 'description' => 'The error message returned because the TransitRouterRouteEntryNextHopId parameter is not set.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterRouteEntries', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeleteTransitRouterRouteEntry',
'description' => 'Before you call this operation, note the following:'."\n"
."\n"
.'- If you delete a route entry by specifying **TransitRouterRouteEntryId**, you do not need to specify the **TransitRouterRouteTableId** or **TransitRouterRouteEntryDestinationCidrBlock** parameters. These parameters are mutually exclusive.'."\n"
."\n"
.'- If you do not specify **TransitRouterRouteEntryId**, you must specify the required parameters based on the next hop type:'."\n"
."\n"
.' - To delete a blackhole route, specify the **TransitRouterRouteTableId**, **TransitRouterRouteEntryDestinationCidrBlock**, and **TransitRouterRouteEntryNextHopType** parameters.'."\n"
."\n"
.' - To delete a route that is not a blackhole route, specify the **TransitRouterRouteTableId**, **TransitRouterRouteEntryDestinationCidrBlock**, **TransitRouterRouteEntryNextHopType**, and **TransitRouterRouteEntryNextHopId** parameters.'."\n"
."\n"
.'- **DeleteTransitRouterRouteEntry** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the route entry is not immediately deleted. The system deletes the route entry in the background. You can call the **ListTransitRouterRouteEntries** operation to query the status of the route entry.'."\n"
."\n"
.' - If a route entry is in the **Deleting** state, it is being deleted. You can only query the route entry and cannot perform other operations.'."\n"
."\n"
.' - If the specified route entry cannot be found, the route entry has been deleted.'."\n"
."\n"
.'### Limits'."\n"
."\n"
.'This operation deletes only static routes. It cannot delete routes that are automatically learned by the system. To query the type of a route entry, call the [ListTransitRouterRouteEntries](~~260941~~) operation.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-18T02:16:06.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-04T12:44:40.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2022-12-16T05:33:34.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterRouteEntry'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterRouteEntry',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#centransitrouterroutentryId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#transitrouterroutetableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterRouteTable' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token from your client to ensure 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, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. A dry run checks for issues such as permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. The custom route table is deleted after the request passes the check.'."\n"
."\n"
.'- **true**: Sends a check request. The system checks the required parameters, request format, and permissions. If the check fails, an error message is returned. If the check succeeds, the `DryRunOperation` error code is returned. The custom route table is not deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the custom route table.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1xbcgpgcz9axl9m****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.DeleteSystemRouteTable', 'errorMessage' => 'Operation failed because You are not allowed to Delete System Transit Route Table.', 'description' => 'The error message returned because system route tables cannot be deleted.'],
['errorCode' => 'InvalidTransitRouterRouteTableId.NotFound', 'errorMessage' => 'TransitRouterRouteTableId is not found.', 'description' => 'The error message returned because the specified route table ID of the transit router does not exist.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'MissingParam.TransitRouterRouteTableId', 'errorMessage' => 'The parameter TransitRouterRouteTableId is mandatory.', 'description' => 'The error message returned because the TransitRouterRouteTableId parameter is not set.'],
['errorCode' => 'IncorrectStatus.TransitRouterRouteTable', 'errorMessage' => 'TransitRouterRouteTable status is invalid.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'OperationFailed.DeleteRouteTableWithAssociation', 'errorMessage' => 'Operation failed because you are not allowed to delete TransitRouterRouteTable with association', 'description' => 'The error message returned because the route table cannot be deleted when it is associated with a forwarding correlation. Disassociate the route table from the forwarding correlation and try again.'],
['errorCode' => 'OperationFailed.DeleteRouteTableWithPropagation', 'errorMessage' => 'Operation failed because you are not allowed to delete transit router route table with propagation', 'description' => 'The error message returned because the route table cannot be deleted when it is associated with a route leaning policy. Disassociate the route table from the route learning policy and try again.'],
['errorCode' => 'OperationFailed.DeleteRouteTableWithRouteEntry', 'errorMessage' => 'Operation failed because you are not allowed to delete transit touter route table with route entry', 'description' => 'The error message returned because the route table cannot be deleted when it contains a route entry. Delete all route entries from the route table and try again.'],
['errorCode' => 'OperationFailed.DeleteRouteTableWithRouteAggregation', 'errorMessage' => 'Operation is invalid because delete route table with route aggregation.', 'description' => 'The error message returned because the specified route table contains one or more aggregated routes. Delete the aggregated routes and try again.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => [],
'title' => 'DeleteTransitRouterRouteTable',
'summary' => 'You can call the DeleteTransitRouterRouteTable operation to delete a custom route table of an Enterprise Edition transit router.',
'description' => '- You cannot delete the default route table of an Enterprise Edition transit router.'."\n"
."\n"
.'- **DeleteTransitRouterRouteTable** is an asynchronous operation. After you send a request, the system returns a **RequestId**. The custom route table is not deleted immediately because the system deletes the route table in the background. You can call the **ListTransitRouterRouteTables** operation to query the status of the custom route table.'."\n"
."\n"
.' - If a custom route table is in the Deleting state, the route table is being deleted. In this state, you can only query the route table. You cannot perform other operations.'."\n"
."\n"
.' - If the specified custom route table cannot be found, the route table has been deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterRouteTable'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EAB2F133-8556-4D7C-9E91-7EE4FE9CC7D2\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterVbrAttachment' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Use the client to generate the token, but you must make sure that the token is unique among requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> When left empty, the system automatically uses the **RequestId** as the **ClientToken**. The **RequestId** is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-9nlnjv7by7n7a****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run to check permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): sends a request and deletes the VBR connection.'."\n"
."\n"
.'- **true**: sends a check request without deleting the VBR connection. The system checks the required parameters and request syntax. If the request fails the dry run, an error code is returned. If the request passes the dry run, a request ID is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Force',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcibly delete the VBR connection. Valid values:'."\n"
."\n"
.'- **false** (default): The system checks resources, such as forwarding associations or route learning. If there are such resources, the VBR connection is not deleted and an error code is returned.'."\n"
."\n"
.'- **true**: When the VBR connection is deleted, all associated resources are also deleted.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned result.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3EDA94DE-0AE5-41FC-A91E-7170E408E0FD', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.RouteTableAssociationExist', 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists', 'description' => 'The error message returned because you cannot perform the operation when the connection is associated with a route table.'],
['errorCode' => 'OperationFailed.RouteEntryExist', 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.', 'description' => ''],
['errorCode' => 'OperationFailed.RouteTablePropagationExist', 'errorMessage' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.', 'description' => 'The error message returned because you cannot perform the operation when a route learning correlation is configured for the network instance connection. Disassociate from the route learning correlation and try again.'],
['errorCode' => 'OperationFailed.VbrAttachedVbrHa', 'errorMessage' => ' The operation is failed because of VbrAttachedVbrHa.', 'description' => ''],
['errorCode' => 'OperationFailed.FlowLogExistOrNisOpened', 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.', 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'InstanceReferenced.VpcRouteEntry', 'errorMessage' => 'The specified attachment is referenced by vpc route entry.', 'description' => 'The error message returned because the next hop of a VPC route is the specified attachment.'],
['errorCode' => 'OperationFailed.NotSupportForceDelete', 'errorMessage' => 'Not support force delete attachment.', 'description' => 'The error message returned because the specified resource cannot be forcefully deleted.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'The TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the specified transit router attachment ID (TransitRouterAttachmentId) does not exist.'],
['errorCode' => 'OperationFailed.PrefixListExist', 'errorMessage' => 'Operation failed because PrefixList exists.', 'description' => 'The error message returned because a prefix list exists.'],
['errorCode' => 'OperationFailed.VbrWithAllowPrefixes', 'errorMessage' => 'Operation failed because allow prefixes referenced by vbr exists.', 'description' => 'A route prefix on the VBR is assigned the Allow action, which causes the operation to fail.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InstanceReferenced.VbrRouteEntry', 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.', 'description' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.'],
['errorCode' => 'OperationNotPermitted.AttachmentManagedByCloudService', 'errorMessage' => 'The specified Attachment managed by cloud service can only be deleted through cloud service.', 'description' => ''],
],
],
'title' => 'DeleteTransitRouterVbrAttachment',
'summary' => 'Deletes a virtual border router (VBR) connection for an Enterprise Edition transit router.',
'description' => 'The **DeleteTransitRouterVbrAttachment** operation is asynchronous. The system returns a **RequestId**, while running the deletion task in the background. You can call the **ListTransitRouterVbrAttachments** operation to query the status of the VBR connection.'."\n"
."\n"
.'- When the VBR connection is in the **Detaching** state, the VBR is being deleted. You can only query the VBR connection but cannot perform other operations.'."\n"
."\n"
.'- If a VBR connection cannot be found, the VBR connection is deleted.'."\n"
."\n"
.'Before you call the DeleteTransitRouterVbrAttachment operation, make sure that all request parameters are valid. If a parameter is invalid, the system returns a request ID and does not delete the VBR connection.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-02T07:46:06.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-09-08T01:55:46.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-10T12:57:33.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-22T08:10:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-01T17:08:05.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'DeleteTransitRouterVbrAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterVbrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3EDA94DE-0AE5-41FC-A91E-7170E408E0FD\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterVpcAttachment' => [
'summary' => 'Deletes a virtual private cloud (VPC) connection from an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72332',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among all requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-attach-ia340z7xis7t5s****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Default values:'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.'."\n"
.'- **true**: performs a dry run. The system checks the required parameters and request syntax. If the request fails the dry run, an error message is returned. If the request passes the dry run, the system returns the ID of the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'Force',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcefully delete the VPC connection. Valid values:'."\n"
."\n"
.'- **false** (default): checks resources such as associated forwarding correlations and route learning policies that are related to the VPC connection before it is deleted. If such a resource exists, the VPC connection is not deleted and an error message is returned.'."\n"
.'- **true**: deletes the VPC connection and all resources that are related to the VPC connection.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'title' => '', 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '7E61D334-4025-41EF-9145-FC327B35301D'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.AttachmentReferencedVpcRouteEntryExisted', 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.', 'description' => 'The error message returned because this operation is not supported when a route points to an attachment.'],
['errorCode' => 'OperationFailed.RouteTablePropagationExist', 'errorMessage' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.', 'description' => 'The error message returned because you cannot perform the operation when a route learning correlation is configured for the network instance connection. Disassociate from the route learning correlation and try again.'],
['errorCode' => 'OperationFailed.MulticastDomainAssociationExist', 'errorMessage' => 'The specified TransitRouterAttachment has configured MulticastDomainAssociation. Please remove the configuration first.', 'description' => 'The error message returned because the specified transit router attachment (TransitRouterAttachment) is added to a multicast domain. Remove the attachment from the multicast domain and try again.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'OperationFailed.PrefixListExist', 'errorMessage' => 'Operation failed because PrefixList exists.', 'description' => 'The error message returned because a prefix list exists.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'IncorrectStatus.VpcRouteEntry', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC route entry does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.VpcSwitch', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the vSwitch does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['errorCode' => 'OperationFailed.NotSupportForceDelete', 'errorMessage' => 'Not support force delete attachment.', 'description' => 'The error message returned because the specified resource cannot be forcefully deleted.'],
['errorCode' => 'IncorrectStatus.VpcRouteTable', 'errorMessage' => 'The VPC route table is not in a desired state.', 'description' => 'The error message returned because the VPC route table is in an unstable state. Try again later.'],
['errorCode' => 'OperationFailed.RouteEntryExist', 'errorMessage' => 'Failed to delete the instance because a route table entry points to the instance.', 'description' => 'Failed to delete the instance because one or more routes point to the instance. Delete the routes and try again.'],
['errorCode' => 'OperationFailed.RouteTableAssociationExist', 'errorMessage' => 'Operation failed because there is associated routing table.', 'description' => 'The network connection deletion failed because there is an associated routing table.'],
['errorCode' => 'IncorrectStatus.VpcResource', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because this operation is not supported when the specified VPC is in an unstable state. Wait until all operations related to the VPC are completed.'],
['errorCode' => 'OperationFailed.FlowLogExistOrNisOpened', 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.', 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'OperationNotPermitted.AttachmentManagedByCloudService', 'errorMessage' => 'The specified Attachment managed by cloud service can only be deleted through cloud service.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterVpcAttachments', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeleteTransitRouterVpcAttachment',
'description' => '**DeleteTransitRouterVpcAttachment** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTransitRouterVpcAttachments** operation to query the status of a VPC connection.'."\n"
."\n"
.'- If a VPC connection is in the **Detaching** state, the VPC connection is being deleted. You can query the VPC connection but cannot perform other operations.'."\n"
.'- If a VPC connection cannot be found, it is deleted.'."\n"
."\n"
.'## Prerequisites'."\n"
."\n"
.'Before you delete a VPC connection, make sure that the following requirements are met:'."\n"
."\n"
.'- No associated forwarding correlation is established between the VPC connection and the route tables of the Enterprise Edition transit router. For more information about how to delete an associated forwarding correlation, see [DissociateTransitRouterAttachmentFromRouteTable](~~260944~~).'."\n"
.'- No route learning correlation is established between the VPC connection and the route tables of the Enterprise Edition transit router. For more information about how to delete a route learning correlation, see [DisableTransitRouterRouteTablePropagation](~~260945~~).'."\n"
.'- The route table of the VPC does not contain routes that point to the VPC connection. For more information about how to delete routes from a VPC route table, see [DeleteRouteEntry](~~36013~~).'."\n"
.'- The route tables of the Enterprise Edition transit router do not contain a custom route entry whose next hop is the network instance connection. For more information about how to delete custom routes from the route tables of an Enterprise Edition transit router, see [DeleteTransitRouterRouteEntry](~~261240~~).'."\n"
.'- The route tables of the Enterprise Edition transit router do not contain a route that is generated from a prefix list and the next hop is the VPC connection. You can delete such routes by disassociating the route table from the prefix list. For more information, see [DeleteTransitRouterPrefixListAssociation](~~445486~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-01-02T10:04:09.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-01-26T08:46:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-27T03:26:27.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-09T08:42:54.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2023-01-04T12:44:40.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2022-12-22T08:10:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-01T17:08:05.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-12-15T03:07:43.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterVpcAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterVpcAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7E61D334-4025-41EF-9145-FC327B35301D\\"\\n}","type":"json"}]',
],
'DeleteTransitRouterVpnAttachment' => [
'summary' => 'Deletes a VPN connection.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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 unique.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): sends a normal request. If the request passes the check, the VPN connection is deleted.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-b9xj1dv69600kj****', 'title' => ''],
],
[
'name' => 'Force',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to forcefully delete the VPN connection. Valid values:'."\n"
."\n"
.'- **false** (default): checks for resource dependencies, such as associated forwarding and route learning, before the VPN connection is deleted. If a dependency is found, the deletion fails and an error message is returned.'."\n"
."\n"
.'- **true**: deletes the VPN connection and all its dependencies.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FA43C571-E88B-56C0-8FF8-5646D9B96297', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.RouteTableAssociationExist', 'errorMessage' => 'Operation failed because TransitRouterRouteTable exists.', 'description' => 'The error message returned because a transit router route table (TransitRouterRouteTable) exists.'],
['errorCode' => 'OperationFailed.RouteEntryExist', 'errorMessage' => 'Operation failed because the TransitRouterAttachment exists in RouteTable.', 'description' => ''],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'The TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the specified transit router attachment ID (TransitRouterAttachmentId) does not exist.'],
['errorCode' => 'OperationFailed.NotSupportForceDelete', 'errorMessage' => 'Not support force delete attachment.', 'description' => 'The error message returned because the specified resource cannot be forcefully deleted.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'IncorrectStatus.ResourceStatus', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because this operation is not supported when the specified resource is in an unstable state. Try again later.'],
['errorCode' => 'OperationFailed.RouteTablePropagationExist', 'errorMessage' => 'Operation failed because You are not allowed to delete TransitAttachment with TransitRouter RouteTable Associated.', 'description' => 'The error message returned because the transit route attachment (TransitAttachment) is associated with a route table. Disassociate the attachment from the route table and try again.'],
['errorCode' => 'OperationFailed.PrefixListExist', 'errorMessage' => 'Operation failed because PrefixList exists.', 'description' => 'The error message returned because a prefix list exists.'],
['errorCode' => 'OperationFailed.FlowLogExistOrNisOpened', 'errorMessage' => 'Operation failed because FlowLog exists or Nis opened.', 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DeleteTransitRouterVpnAttachment',
'description' => 'When you call the **DeleteTransitRouterVpnAttachment** operation, ensure that the parameter values are valid. If you specify invalid parameters, the system returns a **RequestId** but does not delete the VPN connection.',
'changeSet' => [
['createdAt' => '2022-12-22T08:10:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-01T17:08:05.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-07-26T11:54:09.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-07-01T18:00:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-06-23T03:08:02.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterVpnAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterVpnAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FA43C571-E88B-56C0-8FF8-5646D9B96297\\"\\n}","type":"json"}]',
],
'DeregisterTransitRouterMulticastGroupMembers' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain to which the multicast member belongs.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
'name' => 'GroupIpAddress',
'in' => 'query',
'schema' => ['description' => 'The IP address of the multicast group to which the multicast member belongs.', 'type' => 'string', 'required' => true, 'example' => '239.XX.XX.2', 'title' => ''],
],
[
'name' => 'NetworkInterfaceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of Elastic Network Interface (ENI) IDs.',
'type' => 'array',
'items' => ['description' => 'The ENI ID.'."\n"
."\n"
.'You can delete multiple ENIs at a time. Make sure that the total number of specified ENIs and inter-region multicast domains does not exceed 5.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'required' => false,
'maxItems' => 1000,
'title' => '',
'example' => '',
],
],
[
'name' => 'PeerTransitRouterMulticastDomains',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of inter-region multicast domain IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of an inter-region multicast domain.'."\n"
."\n"
.'You can delete multiple inter-region multicast domains at a time. Make sure that the total number of specified ENIs and inter-region multicast domains does not exceed 5.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', 'title' => ''],
'required' => false,
'maxItems' => 1000,
'title' => '',
'example' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: Sends a check request without deleting the multicast member. The system checks required parameters, the request format, and service limits. If the check fails, the corresponding error is returned. If the check passes, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): Sends a normal request. After the request passes the check, the multicast member is deleted.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '61D0A553-5E4E-53B5-9DA3-01CBA076A286', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterMulticastDomainId.NotFound', 'errorMessage' => 'The specified TransitRouterMulticastDomainId is not found.', 'description' => 'The error message returned because the specified ID of the multicast domain (TransitRouterMulticastDomainId) on the transit router does not exist.'],
['errorCode' => 'InvalidOperation.MulticastDomainStatus', 'errorMessage' => 'Operation is invalid, due to multicast domain not Active.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation.'],
['errorCode' => 'IncorrectStatus.MulticastGroup', 'errorMessage' => 'The status of MulticastGroup is incorrect.', 'description' => 'The error message returned because the status of the specified multicast group does not support this operation. Try again later.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'OperationUnsupported.NotAllowedDeleteIgmpv2Member', 'errorMessage' => 'You cannot delete a multicast source or multicast member of the igmpv2 type.', 'description' => 'You cannot delete a multicast source or member of the igmpv2 type.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DeregisterTransitRouterMulticastGroupMembers',
'summary' => 'If a multicast member no longer needs to receive multicast traffic, you can call the DeregisterTransitRouterMulticastGroupMembers operation to delete the member from the multicast group.',
'description' => '`DeregisterTransitRouterMulticastGroupMembers` is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the multicast member is not deleted immediately. The deletion task runs in the background. You can call the `ListTransitRouterMulticastGroups` operation to query the status of the multicast member.'."\n"
."\n"
.'- If a multicast member is in the **Deregistering** state, it is being deleted. In this state, you can only query the member. You cannot perform other operations.'."\n"
."\n"
.'- If the `ListTransitRouterMulticastGroups` operation does not find the multicast member in the multicast domain, the member is deleted.'."\n"
."\n"
.'Ensure that you enter correct parameter values when you call the DeregisterTransitRouterMulticastGroupMembers operation. If you enter an incorrect parameter, the operation still returns a RequestId but does not delete the multicast member.',
'changeSet' => [
['createdAt' => '2024-09-25T06:32:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeregisterTransitRouterMulticastGroupMembers'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeregisterTransitRouterMulticastGroupMembers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"61D0A553-5E4E-53B5-9DA3-01CBA076A286\\"\\n}","type":"json"}]',
],
'DeregisterTransitRouterMulticastGroupSources' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129164',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token on your client. Make sure that the token is unique among different requests. The \\`ClientToken\\` parameter can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain that contains the multicast source.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
'name' => 'GroupIpAddress',
'in' => 'query',
'schema' => ['description' => 'The IP address of the multicast group that contains the multicast source.', 'type' => 'string', 'required' => true, 'example' => '239.XX.XX.2', 'title' => ''],
],
[
'name' => 'NetworkInterfaceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of multicast source IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the multicast source.'."\n"
."\n"
.'You can delete a maximum of five multicast sources from a multicast group at a time.'."\n"
."\n"
.'> This parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'required' => false,
'maxItems' => 1000,
'title' => '',
'example' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: Sends a check request without deleting the multicast source. The check includes required parameters, request format, and business limits. If the check fails, the corresponding error is returned. If the check passes, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): Sends a normal request. After the request passes the check, the multicast source is deleted.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterMulticastDomainId.NotFound', 'errorMessage' => 'The specified TransitRouterMulticastDomainId is not found.', 'description' => 'The error message returned because the specified ID of the multicast domain (TransitRouterMulticastDomainId) on the transit router does not exist.'],
['errorCode' => 'InvalidOperation.MulticastDomainStatus', 'errorMessage' => 'Operation is invalid, due to multicast domain not Active.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation.'],
['errorCode' => 'IncorrectStatus.MulticastGroup', 'errorMessage' => 'The status of MulticastGroup is incorrect.', 'description' => 'The error message returned because the status of the specified multicast group does not support this operation. Try again later.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'OperationUnsupported.NotAllowedDeleteIgmpv2Member', 'errorMessage' => 'You cannot delete a multicast source or multicast member of the igmpv2 type.', 'description' => 'You cannot delete a multicast source or member of the igmpv2 type.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastGroups', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DeregisterTransitRouterMulticastGroupSources',
'summary' => 'If a multicast source no longer needs to send multicast traffic, you can call the DeregisterTransitRouterMulticastGroupSources operation to remove the multicast source from the multicast group.',
'description' => '`DeregisterTransitRouterMulticastGroupSources` is an asynchronous operation. After you send a request, the system returns a `RequestId`, but the multicast source is not deleted immediately. The system deletes the multicast source in the background. You can call `ListTransitRouterMulticastGroups` to query the status of the multicast source.'."\n"
."\n"
.'- If a multicast source is in the `Deregistering` state, it is being deleted. In this state, you can only query the multicast source. You cannot perform other operations.'."\n"
."\n"
.'- If you cannot find the multicast source in the multicast domain when you call `ListTransitRouterMulticastGroups`, the multicast source has been deleted.'."\n"
."\n"
.'Ensure that you specify correct parameter values when you call the DeregisterTransitRouterMulticastGroupSources operation. If you specify an incorrect parameter, the operation returns a RequestId but does not delete the multicast source.',
'changeSet' => [
['createdAt' => '2024-09-25T06:32:46.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeregisterTransitRouterMulticastGroupSources'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeregisterTransitRouterMulticastGroupSources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"53E7E8BE-7F4E-5458-ACCA-9B5C1D6A642D\\"\\n}","type":"json"}]',
],
'DescribeCenAttachedChildInstanceAttribute' => [
'summary' => 'Queries the information about a network instance, such as a virtual private cloud (VPC), a virtual border router, or a Cloud Connect Network (CCN) instance, that is attached to a Cloud Enterprise Network (CEN) instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-5mv960yjhja0dh****'],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance that is attached to the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vpc-2zebdboka7d7t37vo****'],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC)'."\n"
.'- **VBR**: virtual border router (VBR)'."\n"
.'- **CCN**: Cloud Connect Network (CCN) instance', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'VPC'],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the network instance.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-beijing'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'Indicates whether the network instance is attached to the CEN instance.'."\n"
."\n"
.'- **Attaching**: The network instance is being attached to the CEN instance.'."\n"
.'- **Attached**: The network instance is attached to the CEN instance.'."\n"
.'- **Detaching**: The network instance is being detached from the CEN instance.', 'type' => 'string', 'title' => '', 'example' => 'Attached'],
'ChildInstanceType' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
.'- **VBR**: VBR'."\n"
.'- **CCN**: CCN instance', 'type' => 'string', 'title' => '', 'example' => 'VPC'],
'ChildInstanceRegionId' => ['description' => 'The region ID of the network instance.', 'type' => 'string', 'title' => '', 'example' => 'cn-beijing'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'ADD98358-D265-4060-87CB-A2427F5A8944'],
'ChildInstanceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1688000000000000'],
'ChildInstanceId' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'title' => '', 'example' => 'vpc-2zebdboka7d7t37vo****'],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'title' => '', 'example' => 'cen-5mv960yjhja0dh****'],
'ManagedService' => ['type' => 'string', 'description' => 'The cloud service that the network instance belongs to. Its standard code is only returned when the VPC is connected to the transit router. For self-managed VPCs, no code is returned.', 'title' => '', 'example' => 'swas'],
'ChildInstanceAttachTime' => ['description' => 'The time when the network instance was attached to the CEN instance.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mmZ format. The time is displayed in UTC.', 'type' => 'string', 'title' => '', 'example' => '2018-07-30T07:53Z'],
'ChildInstanceAttributes' => [
'description' => 'The details about the network instance.',
'type' => 'object',
'properties' => [
'CidrBlock' => ['description' => 'The IPv4 CIDR block of the VPC.', 'type' => 'string', 'title' => '', 'example' => '192.168.0.0/16'],
'SecondaryCidrBlocks' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'secondaryCidrBlock' => [
'description' => 'The information about the VPC secondary CIDR block.',
'type' => 'array',
'items' => ['description' => 'The secondary IPv4 CIDR block of the VPC.', 'type' => 'string', 'title' => '', 'example' => '192.168.20.0/24'],
'title' => '',
],
],
'description' => '',
'title' => '',
],
'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR block of the VPC.', 'type' => 'string', 'title' => '', 'example' => '2408:XXXX:0:a600::/56'],
'Ipv6CidrBlocks' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'ipv6CidrBlock' => [
'description' => 'The IPv6 CIDR blocks of the VPC.',
'type' => 'array',
'items' => [
'description' => 'The IPv6 CIDR blocks of the VPC.',
'type' => 'object',
'properties' => [
'Ipv6Isp' => ['description' => 'The type of the IPv6 CIDR block of the VPC. Valid values:'."\n"
."\n"
.'- BGP (default): Alibaba Cloud Border Gateway Protocol (BGP) IPv6'."\n"
.'- ChinaMobile: China Mobile (single line)'."\n"
.'- ChinaUnicom: China Unicom (single line)'."\n"
.'- ChinaTelecom: China Telecom (single line)'."\n"
."\n"
.'> If you are on the whitelist of single-line bandwidth, you can set this parameter to ChinaTelecom, ChinaUnicom, or ChinaMobile.', 'type' => 'string', 'title' => '', 'example' => 'BGP'],
'Ipv6CidrBlock' => ['description' => 'The IPv6 CIDR blocks of the VPC.', 'type' => 'string', 'title' => '', 'example' => '2408:XXXX:0:6a::/56'],
],
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'title' => '',
],
'ChildInstanceName' => ['description' => 'The name of the network instance.', 'type' => 'string', 'title' => '', 'example' => 'defaultvpc'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy. Please try again later.', 'description' => 'The error message returned because the system is unavailable. Try again later.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'ParameterError', 'errorMessage' => 'The parameter is error.', 'description' => ''],
],
],
'title' => 'DescribeCenAttachedChildInstanceAttribute',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-04-27T09:43:48.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenAttachedChildInstanceAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenAttachedChildInstanceAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Attached\\",\\n \\"ChildInstanceType\\": \\"VPC\\",\\n \\"ChildInstanceRegionId\\": \\"cn-beijing\\",\\n \\"RequestId\\": \\"ADD98358-D265-4060-87CB-A2427F5A8944\\",\\n \\"ChildInstanceOwnerId\\": 1688000000000000,\\n \\"ChildInstanceId\\": \\"vpc-2zebdboka7d7t37vo****\\",\\n \\"CenId\\": \\"cen-5mv960yjhja0dh****\\",\\n \\"ManagedService\\": \\"swas\\",\\n \\"ChildInstanceAttachTime\\": \\"2018-07-30T07:53Z\\",\\n \\"ChildInstanceAttributes\\": {\\n \\"CidrBlock\\": \\"192.168.0.0/16\\",\\n \\"SecondaryCidrBlocks\\": {\\n \\"secondaryCidrBlock\\": [\\n \\"192.168.20.0/24\\"\\n ]\\n },\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:a600::/56\\",\\n \\"Ipv6CidrBlocks\\": {\\n \\"ipv6CidrBlock\\": [\\n {\\n \\"Ipv6Isp\\": \\"BGP\\",\\n \\"Ipv6CidrBlock\\": \\"2408:XXXX:0:6a::/56\\"\\n }\\n ]\\n }\\n },\\n \\"ChildInstanceName\\": \\"defaultvpc\\"\\n}","type":"json"}]',
],
'DescribeCenAttachedChildInstances' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'title' => '', 'example' => '10'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-j3jzhw1zpau2km****'],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC)'."\n"
.'- **VBR**: virtual border router (VBR)'."\n"
.'- **CCN**: Cloud Connect Network (CCN) instance', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'VPC'],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-zhangjiakou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'B2063B16-852B-5B66-B73D-4ED4D1A5E5C2'],
'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'],
'ChildInstances' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'ChildInstance' => [
'description' => 'The information about the network instances.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ChildInstanceType' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
.'- **VBR**: VBR'."\n"
.'- **CCN**: CCN instance', 'type' => 'string', 'title' => '', 'example' => 'VPC'],
'Status' => ['description' => 'The status of the network instance. Valid values:'."\n"
."\n"
.'- **Attaching**: The network instance is being created on the transit router.'."\n"
.'- **Attached**: The network instance has been created on the transit router.'."\n"
.'- **Detaching**: The network instance is being deleted from the transit router.', 'type' => 'string', 'title' => '', 'example' => 'Attached'],
'ChildInstanceRegionId' => ['description' => 'The ID of the region where the network instance is deployed.', 'type' => 'string', 'title' => '', 'example' => 'cn-zhangjiakou'],
'ChildInstanceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => '1688000000000000'],
'ChildInstanceId' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'title' => '', 'example' => 'vpc-8vb1lu55yt9rlwgxl****'],
'ManagedService' => ['description' => 'The cloud service that the network instance belongs to. Its standard code is only returned when the VPC is connected to the transit router. For self-managed VPCs, no code is returned.', 'type' => 'string', 'title' => '', 'example' => 'swas'],
'ChildInstanceAttachTime' => ['description' => 'The time when the network instance was attached to the CEN instance.'."\n"
."\n"
.'The time follows the ISO8601 standard in the YYYY-MM-DDThh:mmZ format. The time is displayed in UTC.', 'type' => 'string', 'title' => '', 'example' => '2021-08-10T06:27Z'],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'title' => '', 'example' => 'cen-j3jzhw1zpau2km****'],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenAttachedChildInstances',
'summary' => 'Queries the network instances that are attached to a CEN instance.',
'description' => 'You can use one of the following methods to query the information about the network instances that are attached to a CEN instance:'."\n"
."\n"
.'- You can query all the network instances that are attached to a CEN instance by setting the `CenId` parameter.'."\n"
.'- You can query the network instances that are attached to a CEN instance in a specified region by setting the `CenId` and `ChildInstanceRegionId` parameters.'."\n"
.'- You can query a specified type of network instances that are attached to a CEN instance by setting the `CenId` and `ChildInstanceType` parameters.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenAttachedChildInstances'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenAttachedChildInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B2063B16-852B-5B66-B73D-4ED4D1A5E5C2\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"ChildInstances\\": {\\n \\"ChildInstance\\": [\\n {\\n \\"ChildInstanceType\\": \\"VPC\\",\\n \\"Status\\": \\"Attached\\",\\n \\"ChildInstanceRegionId\\": \\"cn-zhangjiakou\\",\\n \\"ChildInstanceOwnerId\\": 1688000000000000,\\n \\"ChildInstanceId\\": \\"vpc-8vb1lu55yt9rlwgxl****\\",\\n \\"ManagedService\\": \\"swas\\",\\n \\"ChildInstanceAttachTime\\": \\"2021-08-10T06:27Z\\",\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCenBandwidthPackages' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'IncludeReservationData',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to include renewal data. Valid values:'."\n"
."\n"
.'* **true**'."\n"
.'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'default' => '10', 'title' => ''],
],
[
'name' => 'IsOrKey',
'in' => 'query',
'schema' => ['description' => 'The logical operator between the filter conditions. Valid values:'."\n"
."\n"
.'* **false** (default): **AND** Bandwidth plans that meet all filter conditions are returned.'."\n"
.'* **true**: **OR** Bandwidth plans that meet one of the filter conditions are returned.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-acfnwjeo4tv****', 'title' => ''],
],
[
'name' => 'Filter',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The filter configurations.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The filter conditions. You can use filter conditions to filter the bandwidth plans that you want to query. The following filter conditions are supported:'."\n"
."\n"
.'* **CenId**: CEN instance ID'."\n"
."\n"
.'* **Status**: bandwidth plan status. Valid values:'."\n"
."\n"
.' * **Idle**: not associated with a CEN instance.'."\n"
.' * **InUse**: associated with a CEN instance.'."\n"
."\n"
.'* **CenBandwidthPackageId**: bandwidth plan ID'."\n"
."\n"
.'* **Name**: bandwidth plan name You can specify one or more filter conditions. The maximum value of **N** is **5**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'CenId', 'title' => ''],
'Value' => [
'description' => 'Specify a filter value based on the **Key** parameter. You can specify multiple filter values for each **Key**. The logical operator between filter values is **OR**. If one filter value is matched, the filter condition is matched.'."\n",
'type' => 'array',
'items' => ['description' => 'Specify a filter value based on the **Key** parameter. You can specify multiple filter values for each **Key**. The logical operator between filter values is **OR**. If a bandwidth plan matches one of the filter values, the bandwidth plan is a match.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cen-xxjsjfkffkfkfjkf****', 'title' => ''],
'required' => false,
'example' => 'Idle',
'maxItems' => 5,
'title' => '',
],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the tags.'."\n"
."\n"
.'You can specify at most 20 tags in each call.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'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.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag values.'."\n"
."\n"
.'The tag values can be 0 to 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'The tag value of each tag key must be unique. You can specify at most 20 tag values in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9D7E2400-2755-4AF5-9B73-12565E4F73A0', 'title' => ''],
'PageNumber' => ['description' => 'The number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'CenBandwidthPackages' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenBandwidthPackage' => [
'description' => 'The details about the bandwidth plan.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ReservationActiveTime' => ['description' => 'The expiration time of the temporary upgrade.'."\n", 'type' => 'string', 'example' => '2021-08-30T16:00Z', 'title' => ''],
'Status' => ['description' => 'Indicates whether the bandwidth plan is associated with a CEN instance.'."\n"
."\n"
.'* **Idle**'."\n"
.'* **InUse**'."\n", 'type' => 'string', 'example' => 'InUse', 'title' => ''],
'CreationTime' => ['description' => 'The time when the bandwidth plan was created. The time is displayed in the ISO8601 standard in the YYYY-MM-DDThh:mmZ format.'."\n", 'type' => 'string', 'example' => '2021-02-01T11:14Z', 'title' => ''],
'ReservationOrderType' => ['description' => 'The renewal method.'."\n"
."\n"
.'* **TEMP_UPGRADE**: temporary upgrade'."\n"
.'* **UPGRADE**: upgrade'."\n", 'type' => 'string', 'example' => 'UPGRADE', 'title' => ''],
'BandwidthPackageChargeType' => ['description' => 'The billing method of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'PREPAY', 'title' => ''],
'CenBandwidthPackageId' => ['description' => 'The ID of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'cenbwp-4c2zaavbvh5x****', 'title' => ''],
'ReservationInternetChargeType' => ['description' => 'The new billing method.'."\n", 'type' => 'string', 'example' => 'PREPAY', 'title' => ''],
'GeographicRegionAId' => ['description' => 'The ID of the area that you want to query. Valid values:'."\n"
."\n"
.'* **china**: Chinese mainland.'."\n"
.'* **asia-pacific**: Asia Pacific'."\n"
.'* **europe**: Europe'."\n"
.'* **north-america**: North America', 'type' => 'string', 'example' => 'china', 'title' => ''],
'Bandwidth' => ['description' => 'The maximum bandwidth of the bandwidth plan.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
'Description' => ['description' => 'The description of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'cen', 'title' => ''],
'ExpiredTime' => ['description' => 'The time when the bandwidth plan expires.'."\n", 'type' => 'string', 'example' => '2021-09-08T16:00Z', 'title' => ''],
'ReservationBandwidth' => ['description' => 'The bandwidth value to which the bandwidth plan is restored when the temporary upgrade ends.'."\n", 'type' => 'string', 'example' => '10', 'title' => ''],
'GeographicSpanId' => ['description' => 'The ID of the connected area.'."\n", 'type' => 'string', 'example' => 'north-america_china', 'title' => ''],
'GeographicRegionBId' => ['description' => 'The ID of the other area connected by the bandwidth plan. Valid values:'."\n"
."\n"
.'* **china**: Chinese mainland.'."\n"
.'* **asia-pacific**: Asia Pacific'."\n"
.'* **europe**: Europe'."\n"
.'* **north-america**: North America', 'type' => 'string', 'example' => 'north-america', 'title' => ''],
'ResourceGroupId' => ['description' => 'The ID of the resource group to which the ACL belongs.'."\n", 'type' => 'string', 'example' => 'rg-aekzoyr5k36****', 'title' => ''],
'IsCrossBorder' => ['description' => 'Indicates whether the bandwidth plan supports cross-border communication.'."\n"
."\n"
.'* **false**'."\n"
.'* **true**'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'BusinessStatus' => ['description' => 'The status of the bandwidth plan. Valid values:'."\n"
."\n"
.'* **Normal**: running as expected.'."\n"
.'* **FinancialLocked**: locked due to overdue payments.'."\n"
.'* **SecurityLocked**: locked due to security reasons'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''],
'Name' => ['description' => 'The name of the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
'HasReservationData' => ['description' => 'Indicates whether renewal data is included.'."\n"
."\n"
.'* **true**'."\n"
.'* **false**'."\n"
."\n"
.'> This parameter returns **true** only when the **IncludeReservationData** parameter is set to **true** and a pending order exists.'."\n", 'type' => 'string', 'example' => 'false', 'title' => ''],
'OrginInterRegionBandwidthLimits' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'OrginInterRegionBandwidthLimit' => [
'description' => 'The details about the connected regions.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'BandwidthLimit' => ['description' => 'The maximum bandwidth value for the inter-region connection.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
'OppositeRegionId' => ['description' => 'The ID of the peer region.'."\n", 'type' => 'string', 'example' => 'us-west-1', 'title' => ''],
'GeographicSpanId' => ['description' => 'The connected regions.'."\n", 'type' => 'string', 'example' => 'north-america_china', 'title' => ''],
'LocalRegionId' => ['description' => 'The ID of the local region.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
'description' => 'The tags of the bandwidth plan.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'TagValue', 'title' => ''],
],
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
'CenIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenId' => [
'description' => 'A list of CEN instances that are associated with the bandwidth plan.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the CEN instance that is associated with the bandwidth plan.'."\n", 'type' => 'string', 'example' => 'cen-xxjsjfkffkfkfjkf****', 'title' => ''],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenBandwidthPackages',
'summary' => 'Queries the information about bandwidth plans.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-03-08T06:51:10.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'],
['createdAt' => '2022-12-16T07:48:27.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-17T06:58:38.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenBandwidthPackages'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenBandwidthPackages',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 2,\\n \\"RequestId\\": \\"9D7E2400-2755-4AF5-9B73-12565E4F73A0\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"CenBandwidthPackages\\": {\\n \\"CenBandwidthPackage\\": [\\n {\\n \\"ReservationActiveTime\\": \\"2021-08-30T16:00Z\\",\\n \\"Status\\": \\"InUse\\",\\n \\"CreationTime\\": \\"2021-02-01T11:14Z\\",\\n \\"ReservationOrderType\\": \\"UPGRADE\\",\\n \\"BandwidthPackageChargeType\\": \\"PREPAY\\",\\n \\"CenBandwidthPackageId\\": \\"cenbwp-4c2zaavbvh5x****\\",\\n \\"ReservationInternetChargeType\\": \\"PREPAY\\",\\n \\"GeographicRegionAId\\": \\"china\\",\\n \\"Bandwidth\\": 2,\\n \\"Description\\": \\"cen\\",\\n \\"ExpiredTime\\": \\"2021-09-08T16:00Z\\",\\n \\"ReservationBandwidth\\": \\"10\\",\\n \\"GeographicSpanId\\": \\"north-america_china\\",\\n \\"GeographicRegionBId\\": \\"north-america\\",\\n \\"ResourceGroupId\\": \\"rg-aekzoyr5k36****\\",\\n \\"IsCrossBorder\\": false,\\n \\"BusinessStatus\\": \\"Normal\\",\\n \\"Name\\": \\"test\\",\\n \\"HasReservationData\\": \\"false\\",\\n \\"OrginInterRegionBandwidthLimits\\": {\\n \\"OrginInterRegionBandwidthLimit\\": [\\n {\\n \\"BandwidthLimit\\": \\"1\\",\\n \\"OppositeRegionId\\": \\"us-west-1\\",\\n \\"GeographicSpanId\\": \\"north-america_china\\",\\n \\"LocalRegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n },\\n \\"CenIds\\": {\\n \\"CenId\\": [\\n \\"cen-xxjsjfkffkfkfjkf****\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n 9D7E2400-2755-4AF5-9B73-12565E4F73A0\\n 1\\n 2\\n \\n 2021-08-30T16:00Z\\n InUse\\n 2021-02-01T11:14Z\\n UPGRADE\\n PREPAY\\n cenbwp-4c2zaavbvh5x****\\n PREPAY\\n china\\n 2\\n cen\\n 2021-09-08T16:00Z\\n 10\\n north-america_china\\n north-america\\n false\\n Normal\\n test\\n false\\n \\n 1\\n us-west-1\\n north-america_china\\n cn-hangzhou\\n \\n cen-xxjsjfkffkfkfjkf****\\n \\n","errorExample":""}]',
],
'DescribeCenChildInstanceRouteEntries' => [
'summary' => 'Queries the routes of a network instance that is attached to a Cloud Enterprise Network (CEN) instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '72350',
'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp18sth14qii3pnvo****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => [
'description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'* **VPC**: virtual private cloud (VPC)'."\n"
.'* **VBR**: virtual border router (VBR)'."\n"
.'* **CCN**: Cloud Connect Network (CCN) instance'."\n"
.'* **ECR**: Express Connect Router (ECR)'."\n",
'type' => 'string',
'required' => true,
'docRequired' => true,
'example' => 'VPC',
'enum' => ['VPC', 'VBR', 'CCN', 'VPN', 'ECR'],
'title' => '',
],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the route. Valid values:'."\n"
."\n"
.'* **Active**: available'."\n"
.'* **Candidate**: standby'."\n"
.'* **Rejected**: rejected'."\n"
.'* **Prohibited**: prohibited'."\n"
.'* **All** (default): all routes'."\n", 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **500**. Default value: **10**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance. If you do not specify a route table ID, the system queries the routes in the system route tables of the VPCs by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vtb-p0wxx3apzgn6uqp3r****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '17A57456-EF48-419D-9AE6-9B03D9996018', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'CenRouteEntries' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenRouteEntry' => [
'description' => 'The information about the route.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The route status. Valid values:'."\n"
."\n"
.'* **Active**: available routes'."\n"
.'* **Candidate**: standby routes'."\n"
.'* **Rejected**: rejected routes'."\n"
.'* **Prohibited**: prohibited routes'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''],
'Type' => ['description' => 'The route type. Valid values:'."\n"
."\n"
.'* **CEN**: route that is advertised through CEN'."\n"
.'* **System**: system route'."\n"
.'* **Custom**: custom route'."\n", 'type' => 'string', 'example' => 'CEN', 'title' => ''],
'PublishStatus' => ['description' => 'Indicates whether the route is advertised to the CEN instance. Valid values:'."\n"
."\n"
.'* **Published**'."\n"
.'* **NonPublished**'."\n", 'type' => 'string', 'example' => 'Published', 'title' => ''],
'NextHopType' => ['description' => 'The type of the instance specified as the next hop in the route. Valid values:'."\n"
."\n"
.'* **Instance**: an ECS instance'."\n"
.'* **HaVip**: an HAVIP'."\n"
.'* **RouterInterface**: a router interface'."\n"
.'* **NetworkInterface**: an ENI'."\n"
.'* **VpnGateway**: a VPN gateway'."\n"
.'* **IPv6Gateway**: an IPv6 gateway'."\n"
.'* **Ipv4Gateway**: an IPv4 gateway'."\n"
.'* **NatGateway**: a NAT gateway'."\n"
.'* **Attachment**: a network instance connection'."\n"
.'* **service**: a cloud service'."\n"
.'* **VBR**: a VBR'."\n"
.'* **CCN**: a CCN instance'."\n"
.'* **VPC**: a VPC'."\n"
.'* **local**: a system route (no next hop is specified)'."\n"
.'* **TR**: a transit router'."\n"
.'* **BlackHole**: a blackhole route (no next hop is specified)'."\n"
.'* **EcRouterInterface**: a router interface for Express Connect'."\n"
.'* **HealthCheck**: a health check'."\n"
.'* **AS**: an access gateway for CCN'."\n"
.'* **classic**: a classic network-type instance'."\n"
.'* **GatewayEndpoint**: a gateway endpoint'."\n"
.'* **CPE**: a data center connected to a VBR'."\n", 'type' => 'string', 'example' => 'VBR', 'title' => ''],
'OperationalMode' => ['description' => 'Indicates whether the route is allowed to be advertised to or withdrawn from the CEN instance. Valid values:'."\n"
."\n"
.'* **true**'."\n"
.'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'NextHopRegionId' => ['description' => 'The region ID of the instance specified as the next hop in the route.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'NextHopInstanceId' => ['description' => 'The ID of the instance specified as the next hop in the route.'."\n", 'type' => 'string', 'example' => 'vbr-bp13gtbhdp0pfqg6s****', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route.'."\n", 'type' => 'string', 'example' => '10.0.0.0/24', 'title' => ''],
'RouteTableId' => ['description' => 'The route table ID.'."\n", 'type' => 'string', 'example' => 'vtb-bp1r9pvl4xen8s9ju****', 'title' => ''],
'CenRouteMapRecords' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenRouteMapRecord' => [
'description' => 'The routing policy that the routes match.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RouteMapId' => ['description' => 'The routing policy ID.'."\n", 'type' => 'string', 'example' => 'cenrmap-w4yf7toozfol3q****', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the routing policy.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
'Conflicts' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Conflict' => [
'description' => 'A list of overlapping routes.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The cause of the route error. Valid values:'."\n"
."\n"
.'* **conflict**: The routes have the same destination CIDR block.'."\n"
.'* **overflow**: The number of routes in the route table configured on another network instance has reached the upper limit.'."\n", 'type' => 'string', 'example' => 'conflict', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the overlapping route.'."\n", 'type' => 'string', 'example' => '192.168.1.0/24', 'title' => ''],
'InstanceId' => ['description' => 'The ID of the peer network instance on which the overlapping routes are found.'."\n", 'type' => 'string', 'example' => 'ccn-0q3b7oviikmm9h****', 'title' => ''],
'InstanceType' => ['description' => 'The type of the peer network instance on which the overlapping routes are found. Valid values:'."\n"
."\n"
.'* **VPC**: VPC'."\n"
.'* **VBR**: VBR'."\n"
.'* **CCN**: CCN instance'."\n"
.'* **ECR**: ECR'."\n", 'type' => 'string', 'example' => 'CCN', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the peer network instance on which the overlapping routes are found.'."\n", 'type' => 'string', 'example' => 'ccn-cn-shanghai', 'title' => ''],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
'Communities' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Community' => [
'description' => 'The community attributes of the route entries.'."\n",
'type' => 'array',
'items' => ['description' => 'The route community value.'."\n", 'type' => 'string', 'example' => '65501:1', 'title' => ''],
'title' => '',
],
],
'description' => '',
'title' => '',
],
'AsPaths' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AsPath' => [
'description' => 'The AS paths of the routes.'."\n",
'type' => 'array',
'items' => ['description' => 'The route AS path value.'."\n", 'type' => 'string', 'example' => '65501', 'title' => ''],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
'title' => 'DescribeCenChildInstanceRouteEntries',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-10-25T02:44:44.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-12-26T02:48:18.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCenChildInstanceRouteEntries'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenChildInstanceRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"17A57456-EF48-419D-9AE6-9B03D9996018\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 4,\\n \\"CenRouteEntries\\": {\\n \\"CenRouteEntry\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"Type\\": \\"CEN\\",\\n \\"PublishStatus\\": \\"Published\\",\\n \\"NextHopType\\": \\"VBR\\",\\n \\"OperationalMode\\": true,\\n \\"NextHopRegionId\\": \\"cn-hangzhou\\",\\n \\"NextHopInstanceId\\": \\"vbr-bp13gtbhdp0pfqg6s****\\",\\n \\"DestinationCidrBlock\\": \\"10.0.0.0/24\\",\\n \\"RouteTableId\\": \\"vtb-bp1r9pvl4xen8s9ju****\\",\\n \\"CenRouteMapRecords\\": {\\n \\"CenRouteMapRecord\\": [\\n {\\n \\"RouteMapId\\": \\"cenrmap-w4yf7toozfol3q****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"Conflicts\\": {\\n \\"Conflict\\": [\\n {\\n \\"Status\\": \\"conflict\\",\\n \\"DestinationCidrBlock\\": \\"192.168.1.0/24\\",\\n \\"InstanceId\\": \\"ccn-0q3b7oviikmm9h****\\",\\n \\"InstanceType\\": \\"CCN\\",\\n \\"RegionId\\": \\"ccn-cn-shanghai\\"\\n }\\n ]\\n },\\n \\"Communities\\": {\\n \\"Community\\": [\\n \\"65501:1\\"\\n ]\\n },\\n \\"AsPaths\\": {\\n \\"AsPath\\": [\\n \\"65501\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n 17A57456-EF48-419D-9AE6-9B03D9996018\\n 1\\n 4\\n \\n Active\\n CEN\\n Published\\n VBR\\n true\\n cn-hangzhou\\n vbr-bp13gtbhdp0pfqg6s****\\n 10.0.0.0/24\\n vtb-bp1r9pvl4xen8s9ju****\\n \\n cenrmap-w4yf7toozfol3q****\\n cn-hangzhou\\n \\n \\n conflict\\n 192.168.1.0/24\\n ccn-0q3b7oviikmm9h****\\n CCN\\n ccn-cn-shanghai\\n \\n 65501:1\\n 65501\\n \\n","errorExample":""}]',
],
'DescribeCenGeographicSpanRemainingBandwidth' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. The default value is **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the bandwidth plan is attached.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-nh98vzx8gfhlwn****', 'title' => ''],
],
[
'name' => 'GeographicRegionAId',
'in' => 'query',
'schema' => ['description' => 'The ID of a connected area of the bandwidth plan. Valid values:'."\n"
."\n"
.'- **China**: the Chinese mainland.'."\n"
."\n"
.'- **North-America**: North America.'."\n"
."\n"
.'- **Asia-Pacific**: Asia Pacific.'."\n"
."\n"
.'- **Europe**: Europe.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'China', 'title' => ''],
],
[
'name' => 'GeographicRegionBId',
'in' => 'query',
'schema' => ['description' => 'The ID of the other connected area of the bandwidth plan. Valid values:'."\n"
."\n"
.'- **China**: the Chinese mainland.'."\n"
."\n"
.'- **North-America**: North America.'."\n"
."\n"
.'- **Asia-Pacific**: Asia Pacific.'."\n"
."\n"
.'- **Europe**: Europe.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'North-America', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RemainingBandwidth' => ['description' => 'The remaining bandwidth of the bandwidth plan. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenGeographicSpanRemainingBandwidth',
'summary' => 'Queries the remaining bandwidth of a specified bandwidth plan.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenGeographicSpanRemainingBandwidth'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenGeographicSpanRemainingBandwidth',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RemainingBandwidth\\": 2,\\n \\"RequestId\\": \\"E4B345CD-2CBA-4881-AF6D-E5D9BAE1CA7B\\"\\n}","type":"json"}]',
],
'DescribeCenGeographicSpans' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72352',
'abilityTreeNodes' => ['FEATUREcbn7IORX8'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'GeographicSpanId',
'in' => 'query',
'schema' => ['description' => 'The ID of the geographic span.'."\n"
."\n"
.'> If you do not specify this parameter, the system queries all geographic spans that are supported by Cloud Enterprise Network (CEN).', 'type' => 'string', 'required' => false, 'example' => 'china_asia-pacific', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '09780287-BC24-4164-8334-773432E32696', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'GeographicSpanModels' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'GeographicSpanModel' => [
'description' => 'A list of geographic spans.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'LocalGeoRegionId' => ['description' => 'The ID of the local area.', 'type' => 'string', 'example' => 'asia-pacific', 'title' => ''],
'GeographicSpanId' => ['description' => 'The ID of the geographic span.', 'type' => 'string', 'example' => 'china_asia-pacific', 'title' => ''],
'OppositeGeoRegionId' => ['description' => 'The ID of the peer area.', 'type' => 'string', 'example' => 'china', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeCenGeographicSpans',
'summary' => 'You can call the DescribeCenGeographicSpans operation to query the connected areas supported by Cloud Enterprise Network (CEN).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-20T02:38:30.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenGeographicSpans'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"09780287-BC24-4164-8334-773432E32696\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"GeographicSpanModels\\": {\\n \\"GeographicSpanModel\\": [\\n {\\n \\"LocalGeoRegionId\\": \\"asia-pacific\\",\\n \\"GeographicSpanId\\": \\"china_asia-pacific\\",\\n \\"OppositeGeoRegionId\\": \\"china\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCenInterRegionBandwidthLimits' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
],
[
'name' => 'TrRegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the transit router.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to query information about regions.', 'type' => 'string', 'required' => false, 'example' => 'ccn-cn-shanghai', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7A30C665-8766-5AAA-9274-C97380E2D850', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'CenInterRegionBandwidthLimits' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenInterRegionBandwidthLimit' => [
'description' => 'A list of inter-region communication bandwidths.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the inter-region communication bandwidth. Valid values:'."\n"
."\n"
.'- **Active**: Running.'."\n"
."\n"
.'- **Modifying**: Being modified.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'BandwidthPackageId' => ['description' => 'The ID of the bandwidth plan instance.', 'type' => 'string', 'example' => 'cenbwp-uenczwb592fnvv****', 'title' => ''],
'OppositeRegionId' => ['description' => 'The ID of the peer region.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'GeographicSpanId' => ['description' => 'The ID of the geographic span.', 'type' => 'string', 'example' => 'china_china', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
'LocalRegionId' => ['description' => 'The ID of the local region.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to query information about regions.', 'type' => 'string', 'example' => 'ccn-cn-shanghai', 'title' => ''],
'BandwidthLimit' => ['description' => 'The inter-region communication bandwidth between the two regions. Unit: Mbit/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
'BandwidthType' => ['description' => 'The method used to allocate bandwidth. Valid values:'."\n"
."\n"
.'- **BandwidthPackage**: Bandwidth is allocated from a bandwidth plan.'."\n"
."\n"
.'- **DataTransfer**: No bandwidth is allocated for the inter-region connection. This is a pay-by-traffic connection.', 'type' => 'string', 'example' => 'BandwidthPackage', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenInterRegionBandwidthLimits',
'summary' => 'Call the DescribeCenInterRegionBandwidthLimits operation to query the bandwidth limits for inter-region communication.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-05-17T03:08:37.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-07-07T02:53:55.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-12-06T02:55:38.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenInterRegionBandwidthLimits'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenInterRegionBandwidthLimits',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"7A30C665-8766-5AAA-9274-C97380E2D850\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"CenInterRegionBandwidthLimits\\": {\\n \\"CenInterRegionBandwidthLimit\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"BandwidthPackageId\\": \\"cenbwp-uenczwb592fnvv****\\",\\n \\"OppositeRegionId\\": \\"cn-hangzhou\\",\\n \\"GeographicSpanId\\": \\"china_china\\",\\n \\"CenId\\": \\"cen-pfa6ugf3xl0qsd****\\",\\n \\"LocalRegionId\\": \\"ccn-cn-shanghai\\",\\n \\"BandwidthLimit\\": 1,\\n \\"BandwidthType\\": \\"BandwidthPackage\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCenPrivateZoneRoutes' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc**** ', 'title' => ''],
],
[
'name' => 'AccessRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where you access the PrivateZone service.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the PrivateZone service is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '461EC1B5-04A8-4706-8764-8F5BCEF48A6F', 'title' => ''],
'PrivateZoneDnsServers' => ['description' => 'The IP addresses of the DNS servers for the PrivateZone service.', 'type' => 'string', 'example' => '100.100.XX.XX/32,100.100.XX.XX/32', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-7qthudw0ll6jmc**** ', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'PrivateZoneInfos' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'PrivateZoneInfo' => [
'description' => 'The detailed configurations of the PrivateZone service.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the PrivateZone service.'."\n"
."\n"
.'- **Creating**: The service is being created.'."\n"
."\n"
.'- **Active**: The service is active.'."\n"
."\n"
.'- **Deleting**: The service is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'AccessRegionId' => ['description' => 'The ID of the region where you access the PrivateZone service.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'HostRegionId' => ['description' => 'The ID of the region where the PrivateZone service is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'HostVpcId' => ['description' => 'The ID of the VPC that is associated with the PrivateZone service.', 'type' => 'string', 'example' => 'vpc-bp18sth14qii3pnvo****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenPrivateZoneRoutes',
'summary' => 'Queries the PrivateZone service configurations of a Cloud Enterprise Network (CEN) instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenPrivateZoneRoutes'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenPrivateZoneRoutes',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"461EC1B5-04A8-4706-8764-8F5BCEF48A6F\\",\\n \\"PrivateZoneDnsServers\\": \\"100.100.XX.XX/32,100.100.XX.XX/32\\",\\n \\"CenId\\": \\"cen-7qthudw0ll6jmc****\\\\t\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 2,\\n \\"PrivateZoneInfos\\": {\\n \\"PrivateZoneInfo\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"AccessRegionId\\": \\"cn-hangzhou\\",\\n \\"HostRegionId\\": \\"cn-hangzhou\\",\\n \\"HostVpcId\\": \\"vpc-bp18sth14qii3pnvo****\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCenRegionDomainRouteEntries' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '72355',
'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6j****', 'title' => ''],
],
[
'name' => 'CenRegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n"
."\n"
.'Call [DescribeChildInstanceRegions](~~132080~~) to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **10**. Valid values: **1** to **500**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => [
'description' => 'The status of the route entry. Valid values:'."\n"
."\n"
.'- **Active** (default): active.'."\n"
."\n"
.'- **Candidate**: backup.'."\n"
."\n"
.'- **Rejected**: rejected.'."\n"
."\n"
.'- **Prohibited**: disabled.'."\n"
."\n"
.'- **All**: all route entries in the current region, regardless of their status.',
'type' => 'string',
'required' => false,
'default' => 'Active',
'enum' => ['Active', 'Rejected', 'Prohibited', 'Candidate', 'Standby', 'All'],
'example' => 'Active',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '004E99FB-E996-5777-888E-BA1D8F215407', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'CenRouteEntries' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenRouteEntry' => [
'description' => 'A list of route entries.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ToOtherRegionStatus' => ['description' => 'The status of the route entry that is advertised to another region.'."\n"
."\n"
.'- **Active**: active.'."\n"
."\n"
.'- **Prohibited**: disabled.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'Type' => ['description' => 'The type of the route entry.'."\n"
."\n"
.'- **CEN**: The route is advertised through CEN.'."\n"
."\n"
.'- **Custom**: The route is a custom route.'."\n"
."\n"
.'- **System**: The route is a system route.', 'type' => 'string', 'example' => 'CEN', 'title' => ''],
'Status' => ['description' => 'The status of the route entry.'."\n"
."\n"
.'- **Active**: active.'."\n"
."\n"
.'- **Candidate**: backup.'."\n"
."\n"
.'- **Rejected**: rejected.'."\n"
."\n"
.'- **Prohibited**: disabled.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'NextHopType' => ['description' => 'The next hop type of the route entry.'."\n"
."\n"
.'- **VPC**: virtual private cloud.'."\n"
."\n"
.'- **VBR**: virtual border router.'."\n"
."\n"
.'- **CCN**: Cloud Connect Network.'."\n"
."\n"
.'- **local\\_service**: The route entry is a system route for an Alibaba Cloud service and has no next hop.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'NextHopInstanceId' => ['description' => 'The ID of the network instance that is associated with the next hop.', 'type' => 'string', 'example' => 'vpc-bp1j8728mm6pweeod****', 'title' => ''],
'NextHopRegionId' => ['description' => 'The region ID of the network instance that is associated with the next hop.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry.', 'type' => 'string', 'example' => '192.168.1.0/24', 'title' => ''],
'Preference' => ['description' => 'The priority of the route entry.'."\n"
."\n"
.'A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
'CenRouteMapRecords' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenRouteMapRecord' => [
'description' => 'The routing policy that the route entry matches in the Ingress direction.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RouteMapId' => ['description' => 'The routing policy ID.', 'type' => 'string', 'example' => 'cenrmap-cz5axczdxb7yfu****', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the routing policy is applied.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'CenOutRouteMapRecords' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenOutRouteMapRecord' => [
'description' => 'The routing policy that the route entry matches in the Egress direction.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RouteMapId' => ['description' => 'The routing policy ID.', 'type' => 'string', 'example' => 'cenrmap-dbarzidzp7ek4k****', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the routing policy is applied.', 'type' => 'string', 'example' => 'ccn-cn-shanghai', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'Communities' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Community' => [
'description' => 'A list of community attributes of the route entry.',
'type' => 'array',
'items' => ['description' => 'The community attribute of the route entry.', 'type' => 'string', 'example' => '65501:1', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'AsPaths' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AsPath' => [
'description' => 'A list of AS-Path attributes of the route entry.',
'type' => 'array',
'items' => ['description' => 'The AS-Path attribute of the route entry.', 'type' => 'string', 'example' => '65501', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenRegionDomainRouteEntries',
'summary' => 'Queries route entries in a specified region of a Cloud Enterprise Network (CEN) instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-12-03T08:43:19.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenRegionDomainRouteEntries'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenRegionDomainRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"004E99FB-E996-5777-888E-BA1D8F215407\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 4,\\n \\"CenRouteEntries\\": {\\n \\"CenRouteEntry\\": [\\n {\\n \\"ToOtherRegionStatus\\": \\"Active\\",\\n \\"Type\\": \\"CEN\\",\\n \\"Status\\": \\"Active\\",\\n \\"NextHopType\\": \\"VPC\\",\\n \\"NextHopInstanceId\\": \\"vpc-bp1j8728mm6pweeod****\\",\\n \\"NextHopRegionId\\": \\"cn-hangzhou\\",\\n \\"DestinationCidrBlock\\": \\"192.168.1.0/24\\",\\n \\"Preference\\": 50,\\n \\"CenRouteMapRecords\\": {\\n \\"CenRouteMapRecord\\": [\\n {\\n \\"RouteMapId\\": \\"cenrmap-cz5axczdxb7yfu****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"CenOutRouteMapRecords\\": {\\n \\"CenOutRouteMapRecord\\": [\\n {\\n \\"RouteMapId\\": \\"cenrmap-dbarzidzp7ek4k****\\",\\n \\"RegionId\\": \\"ccn-cn-shanghai\\"\\n }\\n ]\\n },\\n \\"Communities\\": {\\n \\"Community\\": [\\n \\"65501:1\\"\\n ]\\n },\\n \\"AsPaths\\": {\\n \\"AsPath\\": [\\n \\"65501\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCenRouteMaps' => [
'summary' => 'You can call the DescribeCenRouteMaps operation to query the configurations of routing policies.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72356',
'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-wx12mmlt17ld82****', 'title' => ''],
],
[
'name' => 'RouteMapId',
'in' => 'query',
'schema' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'required' => false, 'example' => 'cenrmap-y40mxdvf7joc12****', 'title' => ''],
],
[
'name' => 'CenRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the routing policy is applied.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransmitDirection',
'in' => 'query',
'schema' => ['description' => 'The direction in which the routing policy is applied. Valid values:'."\n"
."\n"
.'- **RegionIn**: Inbound. The routing policy is applied to routes that are advertised to the gateway of a region.'."\n"
."\n"
.'For example, routes are advertised from network instances in the current region to the gateway of the current region, or routes from other regions are advertised to the gateway of the current region.'."\n"
."\n"
.'- **RegionOut**: Outbound. The routing policy is applied to routes that are advertised from the gateway of a region.'."\n"
."\n"
.'For example, routes are advertised from the gateway of the current region to network instances in the current region, or to gateways in other regions.', 'type' => 'string', 'required' => false, 'example' => 'RegionOut', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the transit router that is associated with the routing policy.', 'type' => 'string', 'required' => false, 'example' => 'vtb-gw8nx3515m1mbd1z1****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '24CE1987-D1D1-5324-9BAD-2750B60E6ABB', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RouteMaps' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'RouteMap' => [
'description' => 'A list of routing policies.',
'type' => 'array',
'items' => [
'description' => 'The information about the routing policy.',
'type' => 'object',
'properties' => [
'RouteMapId' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'example' => 'cenrmap-y40mxdvf7joc12****', 'title' => ''],
'Status' => ['description' => 'The status of the routing policy.'."\n"
."\n"
.'- **Creating**: The routing policy is being created.'."\n"
."\n"
.'- **Active**: The routing policy is available.'."\n"
."\n"
.'- **Deleting**: The routing policy is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'TransmitDirection' => ['description' => 'The direction in which the routing policy is applied.', 'type' => 'string', 'example' => 'RegionOut', 'title' => ''],
'SourceInstanceIdsReverseMatch' => ['description' => 'Indicates whether the source instance IDs are excluded.'."\n"
."\n"
.'- **false**: The match is successful if the source instance ID of the route is in the **SourceInstanceIds.N** list.'."\n"
."\n"
.'- **true**: The match is successful if the source instance ID of the route is not in the **SourceInstanceIds.N** list.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'CenRegionId' => ['description' => 'The ID of the region where the routing policy is applied.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-wx12mmlt17ld82****', 'title' => ''],
'Priority' => ['description' => 'The priority of the routing policy. A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '5000', 'title' => ''],
'TransitRouterRouteTableId' => ['description' => 'The ID of the route table of the transit router that is associated with the routing policy.', 'type' => 'string', 'example' => 'vtb-gw8nx3515m1mbd1z1****', 'title' => ''],
'CommunityOperateMode' => ['description' => 'The action to be performed on the community.'."\n"
."\n"
.'- **Additive**: adds the community to the route.'."\n"
."\n"
.'- **Replace**: replaces the original community of the route.'."\n"
."\n"
.'This parameter specifies the action to be performed after a route meets the match conditions.', 'type' => 'string', 'example' => 'Additive', 'title' => ''],
'MapResult' => ['description' => 'The action that is performed after all match conditions are met.'."\n"
."\n"
.'- **Permit**: allows the matched route.'."\n"
."\n"
.'- **Deny**: denies the matched route.', 'type' => 'string', 'example' => 'Deny', 'title' => ''],
'CommunityMatchMode' => ['description' => 'The match mode for the community.'."\n"
."\n"
.'- **Include**: fuzzy match. The match is successful if the community of the route overlaps with the community in the match condition.'."\n"
."\n"
.'- **Complete**: exact match. The match is successful only if the community of the route is the same as the community in the match condition.', 'type' => 'string', 'example' => 'Include', 'title' => ''],
'Description' => ['description' => 'The description of the routing policy.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'AsPathMatchMode' => ['description' => 'The match mode for the AS-path.'."\n"
."\n"
.'- **Include**: fuzzy match. The match is successful if the AS-path of the route overlaps with the AS-path in the match condition.'."\n"
."\n"
.'- **Complete**: exact match. The match is successful only if the AS-path of the route is the same as the AS-path in the match condition.', 'type' => 'string', 'example' => 'Include', 'title' => ''],
'Preference' => ['description' => 'The new priority of the route.'."\n"
."\n"
.'A smaller value indicates a higher priority.'."\n"
."\n"
.'This parameter specifies the action to be performed after a route meets the match conditions.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'DestinationInstanceIdsReverseMatch' => ['description' => 'Indicates whether the destination instance IDs are excluded.'."\n"
."\n"
.'- **false**: The match is successful if the destination instance ID of the route is in the **DestinationInstanceIds.N** list.'."\n"
."\n"
.'- **true**: The match is successful if the destination instance ID of the route is not in the **DestinationInstanceIds.N** list.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'CidrMatchMode' => ['description' => 'The match mode for the prefix list. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. The match is successful if the route prefix in the match condition includes the route prefix of the route.'."\n"
."\n"
.'For example, a policy with the 10.10.0.0/16 route prefix matches the 10.10.1.0/24 route.'."\n"
."\n"
.'- **Complete**: exact match. The match is successful only if the route prefix in the match condition is the same as the route prefix of the route.'."\n"
."\n"
.'For example, a policy with the 10.10.0.0/16 route prefix matches only the 10.10.0.0/16 route.', 'type' => 'string', 'example' => 'Include', 'title' => ''],
'NextPriority' => ['description' => 'The priority of the next routing policy that is associated with the current routing policy.', 'type' => 'integer', 'format' => 'int32', 'example' => '33', 'title' => ''],
'MatchAddressType' => ['description' => 'The IP address family of the route.'."\n"
."\n"
.'- **IPv4**: matches only IPv4 routes.'."\n"
."\n"
.'- **IPv6**: matches only IPv6 routes.'."\n"
."\n"
.'- If this parameter is not returned, both IPv4 and IPv6 routes are matched.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
'SourceRegionIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'SourceRegionId' => [
'description' => 'A list of source region IDs to be matched.',
'type' => 'array',
'items' => ['description' => 'A list of source region IDs to be matched.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'SourceChildInstanceTypes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'SourceChildInstanceType' => [
'description' => 'A list of source instance types to be matched.'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: virtual border router (VBR).'."\n"
."\n"
.'- **CCN**: Cloud Connect Network (CCN).'."\n"
."\n"
.'- **VPN**: IPsec connection.',
'type' => 'array',
'items' => ['description' => 'A list of source instance types to be matched.'."\n"
."\n"
.'- **VPC**: VPC.'."\n"
."\n"
.'- **VBR**: VBR.'."\n"
."\n"
.'- **CCN**: CCN.'."\n"
."\n"
.'- **VPN**: IPsec connection.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'DestinationRouteTableIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DestinationRouteTableId' => [
'description' => 'A list of destination route table IDs to be matched. You can enter up to 32 route table IDs.'."\n"
."\n"
.'> This parameter takes effect only when the routing policy is applied to the outbound direction of the regional gateway and the destination route table belongs to a network instance in the current region.',
'type' => 'array',
'items' => ['description' => 'A list of destination route table IDs to be matched. You can enter up to 32 route table IDs.'."\n"
."\n"
.'> This parameter takes effect only when the routing policy is applied to the outbound direction of the regional gateway and the destination route table belongs to a network instance in the current region.', 'type' => 'string', 'example' => 'vtb-adefrgtr144vf****', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'SourceInstanceIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'SourceInstanceId' => [
'description' => 'A list of source instance IDs to be matched.',
'type' => 'array',
'items' => ['description' => 'A list of source instance IDs to be matched.', 'type' => 'string', 'example' => 'vpc-adeg3544fdf34vf****', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'DestinationCidrBlocks' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DestinationCidrBlock' => [
'description' => 'A list of prefixes to be matched.'."\n"
."\n"
.'Both IPv4 and IPv6 prefixes are supported.',
'type' => 'array',
'items' => ['description' => 'A list of prefixes to be matched.'."\n"
."\n"
.'Both IPv4 and IPv6 prefixes are supported.', 'type' => 'string', 'example' => '10.10.10.0/24', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'DestinationRegionIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DestinationRegionId' => [
'description' => 'A list of destination region IDs.',
'type' => 'array',
'items' => ['description' => 'A list of destination region IDs.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'SourceRouteTableIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'SourceRouteTableId' => [
'description' => 'A list of source route table IDs to be matched.',
'type' => 'array',
'items' => ['description' => 'A list of source route table IDs to be matched.', 'type' => 'string', 'example' => 'vtb-adfr233vf34rvd4****', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'MatchCommunitySet' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'MatchCommunity' => [
'description' => 'The community to be matched.',
'type' => 'array',
'items' => ['description' => 'The community to be matched.', 'type' => 'string', 'example' => '65501:1', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'PrependAsPath' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AsPath' => [
'description' => 'The AS-path that is prepended when the regional gateway receives or advertises a route.'."\n"
."\n"
.'This parameter specifies the action to be performed after a route meets the match conditions.',
'type' => 'array',
'items' => ['description' => 'The AS-path that is prepended when the regional gateway receives or advertises a route.'."\n"
."\n"
.'This parameter specifies the action to be performed after a route meets the match conditions.', 'type' => 'string', 'example' => '65501', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'RouteTypes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'RouteType' => [
'description' => 'A list of route types to be matched.'."\n"
."\n"
.'- **System**: system routes that are automatically generated by the system.'."\n"
."\n"
.'- **Custom**: custom routes that are manually added.'."\n"
."\n"
.'- **BGP**: routes that are advertised through Border Gateway Protocol (BGP).',
'type' => 'array',
'items' => ['description' => 'A list of route types to be matched.'."\n"
."\n"
.'- **System**: system routes that are automatically generated by the system.'."\n"
."\n"
.'- **Custom**: custom routes that are manually added.'."\n"
."\n"
.'- **BGP**: routes that are advertised through BGP.', 'type' => 'string', 'example' => 'System', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'DestinationChildInstanceTypes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DestinationChildInstanceType' => [
'description' => 'A list of destination instance types to be matched.'."\n"
."\n"
.'- **VPC**: VPC.'."\n"
."\n"
.'- **VBR**: VBR.'."\n"
."\n"
.'- **CCN**: CCN.'."\n"
."\n"
.'- **VPN**: IPsec connection.'."\n"
."\n"
.'> This parameter takes effect only when the routing policy is applied to the outbound direction of the regional gateway and the destination instance is in the current region.',
'type' => 'array',
'items' => ['description' => 'A list of destination instance types to be matched.'."\n"
."\n"
.'- **VPC**: VPC.'."\n"
."\n"
.'- **VBR**: VBR.'."\n"
."\n"
.'- **CCN**: CCN.'."\n"
."\n"
.'- **VPN**: IPsec connection.'."\n"
."\n"
.'> This parameter takes effect only when the routing policy is applied to the outbound direction of the regional gateway and the destination instance is in the current region.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'DestinationInstanceIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DestinationInstanceId' => [
'description' => 'A list of destination instance IDs to be matched.'."\n"
."\n"
.'> This parameter takes effect only when the routing policy is applied to the outbound direction of the regional gateway and the destination instance is in the current region.',
'type' => 'array',
'items' => ['description' => 'A list of destination instance IDs to be matched.'."\n"
."\n"
.'> This parameter takes effect only when the routing policy is applied to the outbound direction of the regional gateway and the destination instance is in the current region.', 'type' => 'string', 'example' => 'vpc-afrfs434465fdf****', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'MatchAsns' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'MatchAsn' => [
'description' => 'A list of AS-paths to be matched.',
'type' => 'array',
'items' => ['description' => 'A list of AS-paths to be matched.', 'type' => 'string', 'example' => '65501', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'OperateCommunitySet' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'OperateCommunity' => [
'description' => 'The community to be operated.',
'type' => 'array',
'items' => ['description' => 'The community to be operated.', 'type' => 'string', 'example' => '65501:1', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeCenRouteMaps',
'description' => "\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-18T04:12:38.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-09-10T08:13:54.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-09-10T02:52:25.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-08-05T03:00:55.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-04-21T03:27:40.000Z', 'description' => 'Request parameters changed, Response parameters changed, Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenRouteMaps'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenRouteMaps',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"24CE1987-D1D1-5324-9BAD-2750B60E6ABB\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RouteMaps\\": {\\n \\"RouteMap\\": [\\n {\\n \\"RouteMapId\\": \\"cenrmap-y40mxdvf7joc12****\\",\\n \\"Status\\": \\"Active\\",\\n \\"TransmitDirection\\": \\"RegionOut\\",\\n \\"SourceInstanceIdsReverseMatch\\": false,\\n \\"CenRegionId\\": \\"cn-hangzhou\\",\\n \\"CenId\\": \\"cen-wx12mmlt17ld82****\\",\\n \\"Priority\\": 5000,\\n \\"TransitRouterRouteTableId\\": \\"vtb-gw8nx3515m1mbd1z1****\\",\\n \\"CommunityOperateMode\\": \\"Additive\\",\\n \\"MapResult\\": \\"Deny\\",\\n \\"CommunityMatchMode\\": \\"Include\\",\\n \\"Description\\": \\"desctest\\",\\n \\"AsPathMatchMode\\": \\"Include\\",\\n \\"Preference\\": 20,\\n \\"DestinationInstanceIdsReverseMatch\\": false,\\n \\"CidrMatchMode\\": \\"Include\\",\\n \\"NextPriority\\": 33,\\n \\"MatchAddressType\\": \\"IPv4\\",\\n \\"SourceRegionIds\\": {\\n \\"SourceRegionId\\": [\\n \\"cn-hangzhou\\"\\n ]\\n },\\n \\"SourceChildInstanceTypes\\": {\\n \\"SourceChildInstanceType\\": [\\n \\"VPC\\"\\n ]\\n },\\n \\"DestinationRouteTableIds\\": {\\n \\"DestinationRouteTableId\\": [\\n \\"vtb-adefrgtr144vf****\\"\\n ]\\n },\\n \\"SourceInstanceIds\\": {\\n \\"SourceInstanceId\\": [\\n \\"vpc-adeg3544fdf34vf****\\"\\n ]\\n },\\n \\"DestinationCidrBlocks\\": {\\n \\"DestinationCidrBlock\\": [\\n \\"10.10.10.0/24\\"\\n ]\\n },\\n \\"DestinationRegionIds\\": {\\n \\"DestinationRegionId\\": [\\n \\"cn-beijing\\"\\n ]\\n },\\n \\"SourceRouteTableIds\\": {\\n \\"SourceRouteTableId\\": [\\n \\"vtb-adfr233vf34rvd4****\\"\\n ]\\n },\\n \\"MatchCommunitySet\\": {\\n \\"MatchCommunity\\": [\\n \\"65501:1\\"\\n ]\\n },\\n \\"PrependAsPath\\": {\\n \\"AsPath\\": [\\n \\"65501\\"\\n ]\\n },\\n \\"RouteTypes\\": {\\n \\"RouteType\\": [\\n \\"System\\"\\n ]\\n },\\n \\"DestinationChildInstanceTypes\\": {\\n \\"DestinationChildInstanceType\\": [\\n \\"VPC\\"\\n ]\\n },\\n \\"DestinationInstanceIds\\": {\\n \\"DestinationInstanceId\\": [\\n \\"vpc-afrfs434465fdf****\\"\\n ]\\n },\\n \\"MatchAsns\\": {\\n \\"MatchAsn\\": [\\n \\"65501\\"\\n ]\\n },\\n \\"OperateCommunitySet\\": {\\n \\"OperateCommunity\\": [\\n \\"65501:1\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCenVbrHealthCheck' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-6hpdgj7ni6pz1k****', 'title' => ''],
],
[
'name' => 'VbrInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Virtual Border Router (VBR) is deployed.'."\n"
."\n"
.'For more information, see [DescribeChildInstanceRegions](~~132080~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'VbrInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR.', 'type' => 'string', 'required' => false, 'example' => 'vbr-bp1kznorjeembsuhl****', 'title' => ''],
],
[
'name' => 'VbrInstanceOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account that owns the VBR.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1250123456123456', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B8C9702E-304A-4E18-AC89-BE2D91C2C176', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'VbrHealthChecks' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'VbrHealthCheck' => [
'description' => 'The health check configurations of the VBR.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'HealthCheckTargetIp' => ['description' => 'The destination IP address of the health check.', 'type' => 'string', 'example' => '192.XX.XX.1', 'title' => ''],
'VbrInstanceId' => ['description' => 'The VBR ID.', 'type' => 'string', 'example' => 'vbr-bp1kznorjeembsuhl****', 'title' => ''],
'VbrInstanceRegionId' => ['description' => 'The ID of the region where the VBR is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'CenId' => ['description' => 'The CEN ID.', 'type' => 'string', 'example' => 'cen-6hpdgj7ni6pz1k****', 'title' => ''],
'HealthyThreshold' => ['description' => 'The number of probe packets that are sent during a health check.', 'type' => 'integer', 'format' => 'int32', 'example' => '8', 'title' => ''],
'HealthCheckInterval' => ['description' => 'The interval, in seconds, at which probe packets are sent during a health check.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'HealthCheckSourceIp' => ['description' => 'The source IP address of the health check.', 'type' => 'string', 'example' => '172.XX.XX.1', 'title' => ''],
'HealthCheckOnly' => ['description' => 'Specifies whether to enable the detection-only feature for the health check.'."\n"
."\n"
.'- **true**: The system detects the link status but does not switch routes if the health check fails.'."\n"
."\n"
.' ```'."\n"
.' If this feature is enabled, the system detects the link status but does not switch routes when the health check fails.'."\n"
.' ```'."\n"
."\n"
.'- **false**: If a redundant route is available in the CEN instance, the system switches to the redundant route if the health check fails.'."\n"
."\n"
.' ```'."\n"
.' If this feature is disabled and a redundant route is available in the CEN instance, the system switches to the redundant route when the health check fails.'."\n"
.' ```', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'Description' => ['description' => 'The description of the health check.', 'type' => 'string', 'example' => 'healthcheck_description', 'title' => ''],
],
'description' => 'The health check configuration.',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCenVbrHealthCheck',
'summary' => 'Queries the health check information for a virtual border router (VBR) in a specified region.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-12-13T03:37:45.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-12-01T02:42:53.000Z', 'description' => 'Response parameters changed, Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenVbrHealthCheck'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenVbrHealthCheck',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B8C9702E-304A-4E18-AC89-BE2D91C2C176\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"VbrHealthChecks\\": {\\n \\"VbrHealthCheck\\": [\\n {\\n \\"HealthCheckTargetIp\\": \\"192.XX.XX.1\\",\\n \\"VbrInstanceId\\": \\"vbr-bp1kznorjeembsuhl****\\",\\n \\"VbrInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"CenId\\": \\"cen-6hpdgj7ni6pz1k****\\",\\n \\"HealthyThreshold\\": 8,\\n \\"HealthCheckInterval\\": 2,\\n \\"HealthCheckSourceIp\\": \\"172.XX.XX.1\\",\\n \\"HealthCheckOnly\\": false,\\n \\"Description\\": \\"healthcheck_description\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeCens' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource group to which the CEN instance belongs.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm3unpnuw****', 'title' => ''],
],
[
'name' => 'Filter',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The filter conditions.'."\n"
."\n"
.'You can specify up to five filter conditions.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The filter key. Valid values:'."\n"
."\n"
.'- **CenId**: The ID of the CEN instance.'."\n"
."\n"
.'- **Name**: The name of the CEN instance.'."\n"
."\n"
.'The logical relationship among multiple filter conditions is **AND**. All filter conditions must be met.'."\n"
."\n"
.'You can specify up to five filter conditions.', 'type' => 'string', 'required' => false, 'example' => 'CenId', 'title' => ''],
'Value' => [
'description' => 'The filter value.'."\n"
."\n"
.'Specify the filter value based on the **Key**. You can specify multiple values for a key. The logical relationship among the values is **OR**. A resource is a match if it meets any of the specified values.'."\n"
."\n"
.'You can specify up to five filter values for a filter condition.',
'type' => 'array',
'items' => ['description' => 'The filter value.'."\n"
."\n"
.'Specify the filter value by **Key**. A single **Key** can have multiple filter values. The relationship between multiple values is a logical **OR**, which means that an item is considered a match for the filter condition if it matches any of the specified values.'."\n"
."\n"
.'Each filter condition supports a maximum of 5 filter values.', 'type' => 'string', 'required' => false, 'example' => 'cen-44m0p68spvlrqq****', 'title' => ''],
'required' => false,
'example' => 'cen-0xyeagctz5sfg9****',
'maxItems' => 5,
'title' => '',
],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the resource.'."\n"
."\n"
.'The tag key cannot be an empty string. 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.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value of the resource.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a corresponding tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2BFA6822-240E-4E27-B4C8-AA400EF7474D', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Cens' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Cen' => [
'description' => 'A list of CEN instances.',
'type' => 'array',
'items' => [
'description' => 'The information about the CEN instance.',
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the CEN instance.'."\n"
."\n"
.'- **Creating**: The instance is being created.'."\n"
."\n"
.'- **Active**: The instance is running.'."\n"
."\n"
.'- **Deleting**: The instance is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'CreationTime' => ['description' => 'The time when the CEN instance was created.'."\n"
."\n"
.'The time is displayed in the `YYYY-MM-DDThh:mmZ` format. It is expressed in Coordinated Universal Time (UTC).', 'type' => 'string', 'example' => '2019-10-22T07:44Z', 'title' => ''],
'Ipv6Level' => ['description' => 'Indicates whether IPv6 is enabled for the CEN instance.'."\n"
."\n"
.'- **ENABLE**: IPv6 is enabled.'."\n"
."\n"
.'- **DISABLED**: IPv6 is disabled.', 'type' => 'string', 'example' => 'DISABLED', 'title' => ''],
'Description' => ['description' => 'The description of the CEN instance.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'ResourceGroupId' => ['description' => 'The ID of the resource group to which the CEN instance belongs.', 'type' => 'string', 'example' => 'rg-acfm3unpnuw****', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-0xyeagctz5sfg9****', 'title' => ''],
'ProtectionLevel' => ['description' => 'The level of CIDR block overlap.'."\n"
."\n"
.'**REDUCED**: CIDR blocks can overlap but cannot be the same.', 'type' => 'string', 'example' => 'REDUCED', 'title' => ''],
'Name' => ['description' => 'The name of the CEN instance.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
'description' => 'A list of tags attached to the CEN instance.',
'type' => 'array',
'items' => [
'description' => 'The information about the tag attached to the CEN instance.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'tagtest', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'CenBandwidthPackageIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'CenBandwidthPackageId' => [
'description' => 'A list of bandwidth plans that are attached to the CEN instance.',
'type' => 'array',
'items' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'example' => 'cenbwp-4c2zaavbvh5f42****', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeCens',
'summary' => 'You can call the DescribeCens operation to query information about Cloud Enterprise Network (CEN) instances that belong to your Alibaba Cloud account. This information includes the status of the instances, whether IPv6 is enabled, and a list of attached bandwidth plans.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-03-08T06:51:09.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCens'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCens',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"2BFA6822-240E-4E27-B4C8-AA400EF7474D\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Cens\\": {\\n \\"Cen\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"CreationTime\\": \\"2019-10-22T07:44Z\\",\\n \\"Ipv6Level\\": \\"DISABLED\\",\\n \\"Description\\": \\"desctest\\",\\n \\"ResourceGroupId\\": \\"rg-acfm3unpnuw****\\",\\n \\"CenId\\": \\"cen-0xyeagctz5sfg9****\\",\\n \\"ProtectionLevel\\": \\"REDUCED\\",\\n \\"Name\\": \\"nametest\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"tagtest\\",\\n \\"Value\\": \\"tagtest\\"\\n }\\n ]\\n },\\n \\"CenBandwidthPackageIds\\": {\\n \\"CenBandwidthPackageId\\": [\\n \\"cenbwp-4c2zaavbvh5f42****\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeChildInstanceRegions' => [
'summary' => 'You can call the DescribeChildInstanceRegions operation to query the regions where you can attach network instances to a Cloud Enterprise Network (CEN) instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ProductType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: a virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: a virtual border router (VBR).'."\n"
."\n"
.'- **CCN**: a Cloud Connect Network (CCN) instance.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'AcceptLanguage',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The language of the response. Valid values:', 'type' => 'string', 'required' => false, 'example' => 'zh-CN', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D5CEED59-36AA-47CC-9D81-16F71C46BD80', 'title' => ''],
'Regions' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Region' => [
'description' => 'A list of regions.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Hangzhou)', 'title' => ''],
'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParameter.OwnerIdOrOwnerAccount', 'errorMessage' => 'The input parameter OwnerAccount or OwnerId that is mandatory for processing this request is not supplied', 'description' => 'The error message returned because the OwnerId or OwnerAccount parameter is not set.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D5CEED59-36AA-47CC-9D81-16F71C46BD80\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeChildInstanceRegions',
'description' => 'The regions that CEN supports vary based on the network instance type. You can specify the `ProductType` parameter to query the regions that CEN supports for a specific type of network instance. If you do not specify the `ProductType` parameter, the system queries the regions supported for all network instance types by default.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-09-08T01:53:36.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeChildInstanceRegions'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [],
'translator' => 'manual',
],
'DescribeFlowlogs' => [
'summary' => 'Queries flow logs.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72360',
'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06', 'FEATUREcbnWRIR8E'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the flow log is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FlowLogName',
'in' => 'query',
'schema' => ['description' => 'The name of the flow log.'."\n"
."\n"
.'The name is optional. If you enter a name, it must be 1 to 128 characters in length, and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'myFlowlog', 'title' => ''],
],
[
'name' => 'FlowLogId',
'in' => 'query',
'schema' => ['description' => 'The ID of the flow log.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flowlog-m5evbtbpt****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the flow log.'."\n"
."\n"
.'The description is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'myFlowlog', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'ProjectName',
'in' => 'query',
'schema' => ['description' => 'The name of the project where the flow log is stored.'."\n"
."\n"
.'The name must be 3 to 63 characters in length, and can contain lowercase letters, digits, and hyphens (-). It must start or end with a lowercase letter or a digit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FlowLogProject', 'title' => ''],
],
[
'name' => 'LogStoreName',
'in' => 'query',
'schema' => ['description' => 'The name of the Logstore where the flow log is stored.'."\n"
."\n"
.'The name must be 3 to 63 characters in length, and can contain lowercase letters, digits, underscores (\\_), and hyphens (-). It must start or end with a lowercase letter or a digit.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FlowLogStore', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the flow log. Valid values:'."\n"
."\n"
.'* **Active**: The flow log is enabled.'."\n"
.'* **Inactive**: The flow log is disabled.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the page to return. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Minimum value: **1**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'default' => '20', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The information about the tags.'."\n"
."\n"
.'You can specify at most 20 tags in each call.'."\n",
'type' => 'array',
'items' => [
'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 start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify at most 20 tag keys.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be 0 to 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify at most 20 tag values in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tr-attach-qieks13jnt1cchy****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
[
'name' => 'Interval',
'in' => 'query',
'schema' => ['description' => 'The time window for collecting log data. Unit: seconds Valid values: **60** or **600** Default value: **600**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '600', 'title' => ''],
],
[
'name' => 'FlowLogVersion',
'in' => 'query',
'schema' => ['description' => 'The flow log version.'."\n"
."\n"
.'Flow logs are automatically created in the latest version, which is **3**.'."\n", 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'string', 'example' => '20', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n"
."\n"
.'* **true**: yes'."\n"
.'* **false**: no'."\n", 'type' => 'string', 'example' => 'true', 'title' => ''],
'FlowLogs' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'FlowLog' => [
'description' => 'The information about the flow log.'."\n",
'type' => 'array',
'items' => [
'description' => 'The information about the flow log.'."\n",
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the flow log. Valid values:'."\n"
."\n"
.'* **Active**: The flow log is enabled.'."\n"
.'* **Inactive**: The flow log is disabled.'."\n", 'type' => 'string', 'example' => 'Active', 'title' => ''],
'CreationTime' => ['description' => 'The time when the flow log was created.'."\n"
."\n"
.'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' => '2021-07-24T13:00:52Z', 'title' => ''],
'FlowLogName' => ['description' => 'The name of the flow log.'."\n", 'type' => 'string', 'example' => 'myFlowlog', 'title' => ''],
'Description' => ['description' => 'The description of the flow log.'."\n", 'type' => 'string', 'example' => 'myFlowlog', 'title' => ''],
'ProjectName' => ['description' => 'The name of the project that stores the captured traffic data.'."\n", 'type' => 'string', 'example' => 'FlowLogProject', 'title' => ''],
'CenId' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", 'type' => 'string', 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
'LogStoreName' => ['description' => 'The Logstore that stores the captured traffic data.'."\n", 'type' => 'string', 'example' => 'FlowLogStore', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the flow log.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'FlowLogId' => ['description' => 'The ID of the flow log.'."\n", 'type' => 'string', 'example' => 'flowlog-m5evbtbpt****', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection'."\n", 'type' => 'string', 'example' => 'tr-attach-5x4o4ynzuqbv6g****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'example' => 'tr-bp1g9313sx675zr1lajmj', 'title' => ''],
'LogFormatString' => ['description' => 'The string that defines the format of the flow log. Format:'."\n"
."\n"
.'`${Field 1}${Field 2}${Field 3}`'."\n", 'type' => 'string', 'example' => '${srcaddr}${dstaddr}${bytes}', 'title' => ''],
'FlowLogVersion' => ['description' => 'The flow log version.'."\n"
."\n"
.'Flow logs are automatically created in the latest version, which is **3**.'."\n", 'type' => 'string', 'example' => '3', 'title' => ''],
'Interval' => ['description' => 'The time window for collecting log data. Unit: seconds. Valid values: **60** or **600** Default value: **600**.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '60', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
'description' => 'The tags.'."\n",
'type' => 'array',
'items' => [
'description' => 'Tag N to add to the instance.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'TagValue', 'title' => ''],
],
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'InvalidFlowlogId.NotFound', 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.', 'description' => 'The error message returned because the specified flow log does not exist.'],
['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidParameter.Interval', 'errorMessage' => 'Interval is invalid.', 'description' => 'The specified interval is invalid.'],
['errorCode' => 'InvalidParameter.FlowLogVersion', 'errorMessage' => 'Flowlog version is invalid.', 'description' => 'The specified flowlog version is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeFlowlogs',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-09T06:59:59.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-12-16T07:48:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-01T17:08:04.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-22T08:58:43.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowlogs'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeFlowlogs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/*'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": \\"20\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"Success\\": \\"true\\",\\n \\"FlowLogs\\": {\\n \\"FlowLog\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"CreationTime\\": \\"2021-07-24T13:00:52Z\\",\\n \\"FlowLogName\\": \\"myFlowlog\\",\\n \\"Description\\": \\"myFlowlog\\",\\n \\"ProjectName\\": \\"FlowLogProject\\",\\n \\"CenId\\": \\"cen-7qthudw0ll6jmc****\\",\\n \\"LogStoreName\\": \\"FlowLogStore\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FlowLogId\\": \\"flowlog-m5evbtbpt****\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-5x4o4ynzuqbv6g****\\",\\n \\"TransitRouterId\\": \\"tr-bp1g9313sx675zr1lajmj\\",\\n \\"LogFormatString\\": \\"${srcaddr}${dstaddr}${bytes}\\",\\n \\"FlowLogVersion\\": \\"3\\",\\n \\"Interval\\": 60,\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 20\\n 1\\n F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\n 1\\n true\\n \\n Active\\n 2021-07-24T13:00:52Z\\n myFlowlog\\n myFlowlog\\n FlowLogProject\\n cen-7qthudw0ll6jmc****\\n FlowLogStore\\n cn-hangzhou\\n flowlog-m5evbtbpt****\\n \\n TagKey\\n TagValue\\n \\n \\n","errorExample":""}]',
],
'DescribeGeographicRegionMembership' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'title' => '', 'example' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return per page. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'title' => '', 'example' => '10'],
],
[
'name' => 'GeographicRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the area that you want to query. Valid values:'."\n"
."\n"
.'- **china**: the Chinese mainland'."\n"
.'- **asia-pacific**: Asia Pacific'."\n"
.'- **europe**: Europe'."\n"
.'- **north-america**: North America', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'china '],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'DC9EB0C9-60AF-4A09-A36C-608F70130274'],
'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'],
'RegionIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'RegionId' => [
'description' => 'The list of regions.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RegionId' => ['description' => 'The ID of the region.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'title' => '', 'example' => 'us-west-1'],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeGeographicRegionMembership',
'summary' => 'Queries regions in an area.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-20T02:38:30.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGeographicRegionMembership'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 2,\\n \\"RequestId\\": \\"DC9EB0C9-60AF-4A09-A36C-608F70130274\\",\\n \\"PageNumber\\": 10,\\n \\"TotalCount\\": 2,\\n \\"RegionIds\\": {\\n \\"RegionId\\": [\\n {\\n \\"RegionId\\": \\"us-west-1\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeGrantRulesToCen' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72362',
'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is located.'."\n"
."\n"
.'You can call the [](t2264556.xdita#)operation to query region IDs.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-nye53d7p3hzyu4****', 'title' => ''],
],
[
'name' => 'ProductType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: a virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: a virtual border router (VBR).'."\n"
."\n"
.'- **CCN**: a Cloud Connect Network (CCN) instance.'."\n"
."\n"
.'- **VPN**: an IPsec-VPN connection.'."\n"
."\n"
.'- **ECR**: an Express Connect router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => '- If you omit this parameter, all entries are returned. The **MaxResults** value in the response then indicates the total number of entries.'."\n"
."\n"
.'- If you set this parameter, the response is paginated. The **MaxResults** value specifies the number of entries to return on each page. Valid values: **1** to **100**. The **MaxResults** value in the response indicates the number of entries on the current page. Setting **MaxResults** to **20** is recommended.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token used to retrieve the next page of results.'."\n"
."\n"
.'- Omit this parameter for the first request.'."\n"
."\n"
.'- Set this parameter to the **NextToken** value from the previous response to retrieve the next page of results.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance to query.', 'type' => 'string', 'required' => false, 'example' => 'vpc-rj9gt5nll27onu7****', 'title' => ''],
],
[
'name' => 'ChildInstanceOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account that owns the network instance.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1250123456123456', 'title' => ''],
],
[
'name' => 'EnabledIpv6',
'in' => 'query',
'schema' => ['description' => 'Specifies whether IPv6 is enabled.'."\n"
."\n"
.'1. This parameter applies only when **ProductType** is set to **VPC**.'."\n"
."\n"
.'2. Set to **true** to return only VPCs with IPv6 enabled, or **false** to return only those with IPv6 disabled. If you omit this parameter, the response is not filtered by the IPv6 status.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The data returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4906B209-8613-5C19-9CC9-B7A3FFDA731C', 'title' => ''],
'GrantRules' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'GrantRule' => [
'description' => 'A list of grant rules.',
'type' => 'array',
'items' => [
'description' => 'The details of the network instance.',
'type' => 'object',
'properties' => [
'ChildInstanceType' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: A VPC.'."\n"
."\n"
.'- **VBR**: A VBR.'."\n"
."\n"
.'- **CCN**: A CCN instance.'."\n"
."\n"
.'- **VPN**: An IPsec-VPN connection.'."\n"
."\n"
.'- **ECR**: An ECR.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'ChildInstanceRegionId' => ['description' => 'The region ID of the network instance.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'ChildInstanceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the network instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1250123456123456', 'title' => ''],
'ChildInstanceId' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'example' => 'vpc-bp1rgeww9mdstuuar****', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-nye53d7p3hzyu4****', 'title' => ''],
'OrderType' => ['description' => 'The payer for the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: The account that owns the CEN instance pays the transit router connection and data transfer fees for the network instance.'."\n"
."\n"
.'- **PayByResourceOwner**: The account that owns the network instance pays the transit router connection and data transfer fees for the network instance.', 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
'EffectiveOrderType' => ['description' => 'The effective payer for the network instance.', 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
'CenOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the CEN instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''],
'CreateTime' => ['description' => 'The time when the permission was granted.'."\n"
."\n"
.'The time is in UTC and follows the ISO 8601 standard.', 'type' => 'integer', 'format' => 'int64', 'example' => '2024-01-24T16:27Z', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => '- The maximum number of entries to return per page.'."\n"
."\n"
.'- This value is the same as the **MaxResults** value that you specified in the request.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''],
'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n"
."\n"
.'- If the **NextToken** parameter is empty, no more results are available.'."\n"
."\n"
.'- To retrieve the next page, set the NextToken request parameter to this value.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'MissingParameter', 'errorMessage' => 'Missing parameter.', 'description' => 'The error message returned because one or more required parameters are not set.'],
['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified Region Id is invalid.', 'description' => 'The error message returned because the specified region ID is invalid.'],
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'NextToken is illegal', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'MissingParameter.RegionId', 'errorMessage' => 'Missing RegionId parameter.', 'description' => 'Missing RegionId parameter.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeGrantRulesToCen',
'summary' => 'Queries the cross-account network instances that have been authorized for a Cloud Enterprise Network (CEN) instance.',
'description' => 'Calling the DescribeGrantRulesToCen operation with invalid parameters returns a **RequestId** but provides no information about the cross-account network instances that the CEN instance is permitted to access.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-10T02:52:26.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-07-10T08:04:17.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-08T03:27:42.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-26T02:48:18.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2023-05-05T02:28:35.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-09-23T10:28:21.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-12-01T02:14:20.000Z', 'description' => 'Error codes changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeGrantRulesToCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeGrantRulesToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4906B209-8613-5C19-9CC9-B7A3FFDA731C\\",\\n \\"GrantRules\\": {\\n \\"GrantRule\\": [\\n {\\n \\"ChildInstanceType\\": \\"VPC\\",\\n \\"ChildInstanceRegionId\\": \\"cn-hangzhou\\",\\n \\"ChildInstanceOwnerId\\": 1250123456123456,\\n \\"ChildInstanceId\\": \\"vpc-bp1rgeww9mdstuuar****\\",\\n \\"CenId\\": \\"cen-nye53d7p3hzyu4****\\",\\n \\"OrderType\\": \\"PayByCenOwner\\",\\n \\"EffectiveOrderType\\": \\"PayByCenOwner\\",\\n \\"CenOwnerId\\": 1210123456123456,\\n \\"CreateTime\\": 0\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\"\\n}","type":"json"}]',
],
'DescribeGrantRulesToResource' => [
'summary' => 'Queries the permissions that a network instance has on a Cloud Enterprise Network (CEN) instance owned by another Alibaba Cloud account. This operation returns details such as the main account that owns the CEN instance and the payer for the network instance.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '154918',
'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the network instance.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'example' => 'vpc-p0wfut1iqauelpdpb****', 'title' => ''],
],
[
'name' => 'ProductType',
'in' => 'query',
'schema' => [
'description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: a Virtual Private Cloud (VPC) instance.'."\n"
."\n"
.'- **ExpressConnect**: a Virtual Border Router (VBR) instance.'."\n"
."\n"
.'- **VPN**: an IPsec connection.'."\n"
."\n"
.'- **ECR**: an ExpressConnect Router (ECR) instance.',
'type' => 'string',
'required' => true,
'enum' => ['ExpressConnect', 'VPC', 'VPN', 'ECR'],
'example' => 'VPC',
'title' => '',
],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => '- If you omit this parameter, all entries are returned in a single response. In this case, the **MaxResults** field in the response indicates the total number of entries.'."\n"
."\n"
.'- If you specify the **MaxResults** parameter, the query is paginated. **MaxResults** sets the number of entries per page. The value must be an integer from **1** to **100**. The **MaxResults** value in the response indicates the number of entries on the current page. The recommended value for this parameter is **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '0', 'default' => '20', 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token used to retrieve the next page of results. Valid values:'."\n"
."\n"
.'- Omit this parameter 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' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response object.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token to use in your next request to retrieve a new page of results. Valid values:'."\n"
."\n"
.'- If the **NextToken** parameter is empty, no more results are available.'."\n"
."\n"
.'- If a value is returned for **NextToken**, use it for the next request to get the next page of results.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C6E5992C-A57B-5A6C-9B26-568074DC68BA', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => '- If the **MaxResults** parameter was not included in the request, this field indicates the total number of entries.'."\n"
."\n"
.'- If the **MaxResults** parameter was included in the request, this field indicates the number of entries on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'GrantRules' => [
'description' => 'A list of permission records.',
'type' => 'array',
'items' => [
'description' => 'A permission record.',
'type' => 'object',
'properties' => [
'CenOwnerId' => ['description' => 'The ID of the main account that owns the Cloud Enterprise Network (CEN) instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1250123456123456', 'title' => ''],
'OrderType' => ['description' => 'The payer for the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: The CEN instance owner pays the Transit Router connection and data processing fees for the network instance.'."\n"
."\n"
.'- **PayByResourceOwner**: The network instance owner pays the Transit Router connection and data processing fees for the network instance.', 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
'EffectiveOrderType' => ['type' => 'string', 'example' => 'PayByCenOwner', 'description' => '', 'title' => ''],
'CenId' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'example' => 'cen-44m0p68spvlrqq****', 'title' => ''],
'CreateTime' => ['description' => 'The timestamp when the permission was granted. The value is in UTC and follows the ISO 8601 standard: `YYYY-MM-DDThh:mmZ`.', 'type' => 'string', 'example' => '2024-01-24T16:46Z', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter. ', 'description' => ''],
['errorCode' => 'MissingParameter ', 'errorMessage' => 'Missing parameter.', 'description' => ''],
['errorCode' => 'InvalidParameter.RegionId', 'errorMessage' => 'The specified Region Id is invalid.', 'description' => 'The error message returned because the specified region ID is invalid.'],
['errorCode' => 'MissingParameter.RegionId', 'errorMessage' => 'Missing RegionId parameter.', 'description' => 'Missing RegionId parameter.'],
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'NextToken is illegal', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeGrantRulesToResource',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-08T03:27:42.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-26T02:48:18.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-09-22T15:42:09.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGrantRulesToResource'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeGrantRulesToResource',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#VpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"C6E5992C-A57B-5A6C-9B26-568074DC68BA\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 1,\\n \\"GrantRules\\": [\\n {\\n \\"CenOwnerId\\": 1250123456123456,\\n \\"OrderType\\": \\"PayByCenOwner\\",\\n \\"EffectiveOrderType\\": \\"PayByCenOwner\\",\\n \\"CenId\\": \\"cen-44m0p68spvlrqq****\\",\\n \\"CreateTime\\": \\"2024-01-24T16:46Z\\"\\n }\\n ]\\n}","type":"json"}]',
],
'DescribePublishedRouteEntries' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Default value: **10**. Valid values: **1** to **500**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jm****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp18sth14qii3pnv****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud.'."\n"
."\n"
.'- **VBR**: virtual border router.'."\n"
."\n"
.'- **CCN**: Cloud Connect Network.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'For more information, see [](t2264556.xdita#).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => false, 'example' => 'vtb-bp174d1gje79u1g4****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route that you want to query.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/16', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FF1A7B2A-677F-4F71-96EA-6002B329F437', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'PublishedRouteEntries' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'PublishedRouteEntry' => [
'description' => 'A list of route entries.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'NextHopId' => ['description' => 'The ID of the instance associated with the next hop.', 'type' => 'string', 'example' => ' ecs-bp18sth14qii3pn****', 'title' => ''],
'PublishStatus' => ['description' => 'The advertise status of the route in the CEN instance:'."\n"
."\n"
.'- **Published**: The route is advertised.'."\n"
."\n"
.'- **NonPublished**: The route is not advertised.', 'type' => 'string', 'example' => 'Published', 'title' => ''],
'ChildInstanceRouteTableId' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'example' => 'vtb-il7qut3mjgtlcbpk2****', 'title' => ''],
'NextHopType' => ['description' => 'The type of the instance associated with the next hop.'."\n"
."\n"
.'- **Instance**: an ECS instance.'."\n"
."\n"
.'- **HaVip**: a high-availability virtual IP address (HaVip).'."\n"
."\n"
.'- **RouterInterface**: a router interface.'."\n"
."\n"
.'- **NetworkInterface**: an elastic network interface (ENI).'."\n"
."\n"
.'- **VpnGateway**: a VPN gateway.'."\n"
."\n"
.'- **IPv6Gateway**: an IPv6 gateway.'."\n"
."\n"
.'- **Ipv4Gateway**: an IPv4 gateway.'."\n"
."\n"
.'- **NatGateway**: a NAT gateway.'."\n"
."\n"
.'- **Attachment**: a network instance connection.'."\n"
."\n"
.'- **service**: an Alibaba Cloud service.'."\n"
."\n"
.'- **VBR**: a virtual border router.'."\n"
."\n"
.'- **CCN**: a Cloud Connect Network instance.'."\n"
."\n"
.'- **VPC**: a virtual private cloud.'."\n"
."\n"
.'- **local**: The route is a system route of the network instance and has no next hop.'."\n"
."\n"
.'- **TR**: a transit router.'."\n"
."\n"
.'- **BlackHole**: The route is a blackhole route and has no next hop.'."\n"
."\n"
.'- **EcRouterInterface**: an Express Connect router interface.'."\n"
."\n"
.'- **HealthCheck**: a health check.'."\n"
."\n"
.'- **AS**: an access gateway in a CCN instance.'."\n"
."\n"
.'- **classicLink**: a classic network instance.'."\n"
."\n"
.'- **GatewayEndpoint**: a gateway endpoint.'."\n"
."\n"
.'- **CPE**: a data center connected to a VBR.', 'type' => 'string', 'example' => 'Instance', 'title' => ''],
'OperationalMode' => ['description' => 'Indicates whether the route can be advertised to or withdrawn from the CEN instance.'."\n"
."\n"
.'- **true**: The route can be advertised or withdrawn.'."\n"
."\n"
.'- **false**: The route cannot be advertised or withdrawn.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'example' => '172.16.0.0/16', 'title' => ''],
'RouteType' => ['description' => 'The type of the route.'."\n"
."\n"
.'- **CEN**: a route learned from the CEN instance.'."\n"
."\n"
.'- **System**: a system route.'."\n"
."\n"
.'- **Custom**: a custom route.', 'type' => 'string', 'example' => 'System', 'title' => ''],
'Conflicts' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Conflict' => [
'description' => 'A list of conflicting routes.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The cause of the route conflict.'."\n"
."\n"
.'- **conflict**: The route conflicts with another route that has the same destination CIDR block.'."\n"
."\n"
.'- **overflow**: The number of routes in the route table of another network instance has reached its limit.', 'type' => 'string', 'example' => 'conflict', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the conflicting route.', 'type' => 'string', 'example' => '192.168.20.0/24', 'title' => ''],
'InstanceId' => ['description' => 'The ID of the peer network instance with which the route conflicts.', 'type' => 'string', 'example' => 'ccn-0q3b7oviikmm9h****', 'title' => ''],
'InstanceType' => ['description' => 'The type of the peer network instance with which the route conflicts.'."\n"
."\n"
.'- **VPC**: a virtual private cloud.'."\n"
."\n"
.'- **VBR**: a virtual border router.'."\n"
."\n"
.'- **CCN**: a Cloud Connect Network instance.', 'type' => 'string', 'example' => 'CCN', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the peer network instance with which the route conflicts is deployed.', 'type' => 'string', 'example' => 'ccn-cn-shanghai', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ParameterIllegal.CenInstanceId', 'errorMessage' => 'The parameter of CEN instance id is illegal.', 'description' => ''],
['errorCode' => 'ParameterIllegal.ChildInstanceRegionId', 'errorMessage' => 'The parameter of child instance region id is illegal.', 'description' => ''],
['errorCode' => 'VRC_ERROR', 'errorMessage' => 'VRC error', 'description' => ''],
['errorCode' => 'ParameterIllegal.ChildInstanceType', 'errorMessage' => 'The parameter of child instance type is illegal.', 'description' => ''],
['errorCode' => 'ParameterIllegal', 'errorMessage' => 'The parameter is illegal.', 'description' => 'The error message returned because a parameter is set to an invalid value.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
],
409 => [
['errorCode' => 'InvalidOperation.ChildInstanceStatus', 'errorMessage' => 'The child-instance is not in a valid state for the operation.', 'description' => ''],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the CEN instance does not support this operation.'],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'Internal error.', 'description' => ''],
],
],
'title' => 'DescribePublishedRouteEntries',
'summary' => 'Queries whether the routes of virtual private clouds (VPCs) and virtual border routers (VBRs) are advertised to the Cloud Enterprise Network (CEN) instance to which the VCPs and VBRs are attached, the instance type of the next hop of each route, and whether advertised routes can be withdrawn.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePublishedRouteEntries'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribePublishedRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"FF1A7B2A-677F-4F71-96EA-6002B329F437\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"PublishedRouteEntries\\": {\\n \\"PublishedRouteEntry\\": [\\n {\\n \\"NextHopId\\": \\" ecs-bp18sth14qii3pn****\\",\\n \\"PublishStatus\\": \\"Published\\",\\n \\"ChildInstanceRouteTableId\\": \\"vtb-il7qut3mjgtlcbpk2****\\",\\n \\"NextHopType\\": \\"Instance\\",\\n \\"OperationalMode\\": true,\\n \\"DestinationCidrBlock\\": \\"172.16.0.0/16\\",\\n \\"RouteType\\": \\"System\\",\\n \\"Conflicts\\": {\\n \\"Conflict\\": [\\n {\\n \\"Status\\": \\"conflict\\",\\n \\"DestinationCidrBlock\\": \\"192.168.20.0/24\\",\\n \\"InstanceId\\": \\"ccn-0q3b7oviikmm9h****\\",\\n \\"InstanceType\\": \\"CCN\\",\\n \\"RegionId\\": \\"ccn-cn-shanghai\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeRouteConflict' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance to query.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ccn-0q3b7oviikmm9h****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud.'."\n"
."\n"
.'- **VBR**: virtual border router.'."\n"
."\n"
.'- **CCN**: Cloud Connect Network.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CCN', 'title' => ''],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ccn-cn-shanghai', 'title' => ''],
],
[
'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp174d1gje79u1g4t****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the conflicting route.', 'type' => 'string', 'required' => false, 'example' => '172.16.0.0/16', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EE3A2CC7-41F1-58DB-8306-CFC99D9C747B', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RouteConflicts' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'RouteConflict' => [
'description' => 'Details about the conflicting routes.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The reason for the route conflict.'."\n"
."\n"
.'- **conflict**: The route has the same destination CIDR block as another route.'."\n"
."\n"
.'- **overflow**: The number of routes in the route table of another network instance has reached the upper limit.', 'type' => 'string', 'example' => 'conflict', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the conflicting route.', 'type' => 'string', 'example' => '172.16.0.0/16', 'title' => ''],
'InstanceId' => ['description' => 'The ID of the peer network instance that contains the conflicting route.', 'type' => 'string', 'example' => 'ccn-0q3b7oviikmm9h****', 'title' => ''],
'InstanceType' => ['description' => 'The type of the peer network instance that contains the conflicting route.'."\n"
."\n"
.'- **VPC**: virtual private cloud.'."\n"
."\n"
.'- **VBR**: virtual border router.'."\n"
."\n"
.'- **CCN**: Cloud Connect Network.', 'type' => 'string', 'example' => 'CCN', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the peer network instance is deployed.', 'type' => 'string', 'example' => 'ccn-cn-shanghai', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'InvalidChildInstanceId.NotFound', 'errorMessage' => 'The specified ChildInstanceId is not found.', 'description' => 'The specified child instance ID does not exist.'],
],
],
'title' => 'DescribeRouteConflict',
'summary' => 'The DescribeRouteConflict operation queries conflicting routes in a network instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-10-18T03:03:16.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRouteConflict'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeRouteConflict',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"EE3A2CC7-41F1-58DB-8306-CFC99D9C747B\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"RouteConflicts\\": {\\n \\"RouteConflict\\": [\\n {\\n \\"Status\\": \\"conflict\\",\\n \\"DestinationCidrBlock\\": \\"172.16.0.0/16\\",\\n \\"InstanceId\\": \\"ccn-0q3b7oviikmm9h****\\",\\n \\"InstanceType\\": \\"CCN\\",\\n \\"RegionId\\": \\"ccn-cn-shanghai\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeRouteServicesInCen' => [
'summary' => 'Queries the configurations of Alibaba Cloud services that are configured in a Basic Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **10**. Valid values: **1** to **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
],
[
'name' => 'Host',
'in' => 'query',
'schema' => ['description' => 'The endpoint of the Alibaba Cloud service.'."\n"
."\n"
.'The endpoint can be a domain name, an IP address, or a CIDR block.', 'type' => 'string', 'required' => false, 'example' => '100.118.28.0/24', 'title' => ''],
],
[
'name' => 'HostRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Alibaba Cloud service is deployed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'AccessRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the cloud service is accessed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostVpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC that is associated with the Alibaba Cloud service.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '196C99CA-6997-5951-9721-AE89720DF856', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'RouteServiceEntries' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'RouteServiceEntry' => [
'description' => 'A list of Alibaba Cloud services.',
'type' => 'array',
'items' => [
'description' => 'The configuration of the Alibaba Cloud service.',
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the Alibaba Cloud service.'."\n"
."\n"
.'- **Creating**: The service is being created.'."\n"
."\n"
.'- **Active**: The service is available.'."\n"
."\n"
.'- **Deleting**: The service is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'Host' => ['description' => 'The endpoint of the Alibaba Cloud service.', 'type' => 'string', 'example' => '100.118.28.0/24', 'title' => ''],
'Description' => ['description' => 'The description of the Alibaba Cloud service.', 'type' => 'string', 'example' => 'descname', 'title' => ''],
'HostVpcId' => ['description' => 'The ID of the VPC that is associated with the Alibaba Cloud service.', 'type' => 'string', 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
'AccessRegionId' => ['description' => 'The ID of the region where the cloud service is accessed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'HostRegionId' => ['description' => 'The ID of the region where the Alibaba Cloud service is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'Cidrs' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Cidr' => [
'description' => 'A list of endpoints for the Alibaba Cloud service.',
'type' => 'array',
'items' => ['description' => 'The endpoint of the Alibaba Cloud service.'."\n"
."\n"
.'- If the **Host** parameter is set to an IP address or a CIDR block, **Cidrs** is the IP address or CIDR block.'."\n"
."\n"
.'- If the **Host** parameter is set to a domain name, **Cidrs** is the IP address resolved from the domain name.', 'type' => 'string', 'example' => '100.118.28.0/24', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeRouteServicesInCen',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRouteServicesInCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeRouteServicesInCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"196C99CA-6997-5951-9721-AE89720DF856\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"RouteServiceEntries\\": {\\n \\"RouteServiceEntry\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"Host\\": \\"100.118.28.0/24\\",\\n \\"Description\\": \\"descname\\",\\n \\"HostVpcId\\": \\"vpc-bp1h8vbrbcgohcju5****\\",\\n \\"CenId\\": \\"cen-pfa6ugf3xl0qsd****\\",\\n \\"AccessRegionId\\": \\"cn-hangzhou\\",\\n \\"HostRegionId\\": \\"cn-hangzhou\\",\\n \\"Cidrs\\": {\\n \\"Cidr\\": [\\n \\"100.118.28.0/24\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeTransitRouteTableAggregation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '154264',
'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
'name' => 'TransitRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token from your client to ensure 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 is different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'integer', 'format' => 'int64', 'minimum' => '0', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'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"
."\n"
.'- You must specify the token that is obtained from the previous query as the value of **NextToken**.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'ListTokenResult',
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'Data' => [
'description' => 'A list of aggregate routes.',
'type' => 'array',
'items' => [
'description' => 'The information about the aggregate route.',
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The name of the aggregate route.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'TransitRouteTableAggregationCidr' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'example' => '192.168.10.0/24', 'title' => ''],
'Scope' => ['description' => 'The scope of the aggregate route.'."\n"
."\n"
.'The value is set to **VPC**. This indicates that the aggregate route is advertised to all VPCs that are associated with the route table of the Enterprise Edition transit router and have route synchronization enabled.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'RouteType' => ['description' => 'The type of the aggregate route.'."\n"
."\n"
.'The value is set to **Static**. This indicates that the route is a static route. After the aggregate route is advertised to a VPC, it becomes a custom route entry by default.', 'type' => 'string', 'default' => 'Static', 'example' => 'Static', 'title' => ''],
'Description' => ['description' => 'The description of the aggregate route.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'TrRouteTableId' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
'Status' => ['description' => 'The advertising status of the aggregate route.'."\n"
."\n"
.'- **AllConfigured**: The aggregate route is advertised to all VPCs.'."\n"
."\n"
.'- **Configuring**: The aggregate route is being advertised.'."\n"
."\n"
.'- **ConfigFailed**: The aggregate route failed to be advertised.'."\n"
."\n"
.'- **PartialConfigured**: The aggregate route is advertised to some VPCs.'."\n"
."\n"
.'- **Deleting**: The aggregate route is being deleted.', 'type' => 'string', 'example' => 'AllConfigured', 'title' => ''],
'ScopeList' => [
'description' => 'The list of scopes of the aggregate route.'."\n"
."\n"
.'> You must specify at least one of the Scope and ScopeList properties. We recommend that you specify ScopeList. The elements in ScopeList cannot be the same as the value of Scope.',
'type' => 'array',
'items' => ['description' => 'The list of scopes of the aggregate route.'."\n"
.'Valid values:'."\n"
."\n"
.'- **VPC**: The aggregate route is advertised to all VPCs that are associated with the route table of the Enterprise Edition transit router and have route synchronization enabled.'."\n"
."\n"
.'- **VBR**: The aggregate route is advertised to all VBRs that are attached to the Enterprise Edition transit router.'."\n"
."\n"
.'- **Peer**: The aggregate route is advertised to transit routers that have an inter-region connection with the Enterprise Edition transit router.'."\n"
."\n"
.'- **VPN**: The aggregate route is advertised to all VPN connections that are attached to the Enterprise Edition transit router.'."\n"
."\n"
.'- **ECR**: The aggregate route is advertised to all ECR instances that are attached to the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Count' => ['description' => 'The number of entries returned on each 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 a value is returned for **NextToken**, the value is the token that determines the start point of the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'Total' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParam.transitRouterRouteTableId', 'errorMessage' => 'Missing the parameter transitRouter route table id.', 'description' => 'The error message returned because the transitRouterRouteTableId parameter is not set.'],
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The nextToken is illegal.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'InstanceNotExist.TransitRouterRouteTable', 'errorMessage' => 'The transitRouter route table is not found.', 'description' => ''],
['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeTransitRouteTableAggregation',
'summary' => 'Queries the aggregate routes in the route table of an Enterprise Edition transit router.',
'description' => 'You can specify the **TransitRouteTableId** and **TransitRouteTableAggregationCidr** parameters to query a specific aggregate route. If you specify only the **TransitRouteTableId** parameter, all aggregate routes in the route table of the Enterprise Edition transit router are queried by default.',
'changeSet' => [
['createdAt' => '2025-02-27T01:22:31.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-08-04T05:57:52.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-22T02:57:46.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTransitRouteTableAggregation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": [\\n {\\n \\"Name\\": \\"nametest\\",\\n \\"TransitRouteTableAggregationCidr\\": \\"192.168.10.0/24\\",\\n \\"Scope\\": \\"VPC\\",\\n \\"RouteType\\": \\"Static\\",\\n \\"Description\\": \\"desctest\\",\\n \\"TrRouteTableId\\": \\"vtb-6ehgc262hr170qgyc****\\",\\n \\"Status\\": \\"AllConfigured\\",\\n \\"ScopeList\\": [\\n \\"VPC\\"\\n ]\\n }\\n ],\\n \\"Count\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"Total\\": 1,\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'DescribeTransitRouteTableAggregationDetail' => [
'summary' => 'Queries the configuration details of a specified aggregate route.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '154265',
'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
'name' => 'TransitRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a unique value from your client for each request. 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.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'ListTokenResult',
'description' => 'The response.',
'type' => 'object',
'properties' => [
'Data' => [
'description' => 'The configuration details of the aggregate route.',
'type' => 'array',
'items' => [
'description' => 'The configuration details of the aggregate route.',
'type' => 'object',
'properties' => [
'InstanceId' => ['description' => 'The ID of the VPC instance for which the aggregate route is configured.', 'type' => 'string', 'example' => 'vpc-6eh7fp9hdqa2wv85t****', 'title' => ''],
'Description' => ['description' => 'The message returned if the configuration of the aggregate route fails.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'Status' => ['description' => 'The configuration status of the aggregate route.'."\n"
."\n"
.'- **Configured**: The aggregate route is advertised to the VPC instance.'."\n"
."\n"
.'- **Configuring**: The aggregate route is being advertised.'."\n"
."\n"
.'- **ConfigFailed**: The aggregate route failed to be advertised.'."\n"
."\n"
.'- **PartialConfigured**: The aggregate route was partially advertised.'."\n"
."\n"
.'- **Deleting**: The aggregate route is being deleted.', 'type' => 'string', 'example' => 'Configured', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Count' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'Total' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.TransitRouterRouteTableId', 'errorMessage' => 'The transitRouter route table id is illegal.', 'description' => 'The error message returned because the route table ID of the transit router (TransitRouterRouteTableId) is invalid.'],
['errorCode' => 'IllegalParam.AggregationRouteCidr', 'errorMessage' => 'The aggregation route cidr is illegal.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'InstanceNotExist.TransitRouterRouteTable', 'errorMessage' => 'The transitRouter route table is not exist.', 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DescribeTransitRouteTableAggregationDetail',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-07-07T00:33:41.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTransitRouteTableAggregationDetail'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeTransitRouteTableAggregationDetail',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": [\\n {\\n \\"InstanceId\\": \\"vpc-6eh7fp9hdqa2wv85t****\\",\\n \\"Description\\": \\"desctest\\",\\n \\"Status\\": \\"Configured\\"\\n }\\n ],\\n \\"Count\\": 20,\\n \\"Total\\": 1,\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'DetachCenChildInstance' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72369',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-7qthudw0ll6jmx****'],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance that you want to detach from the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vpc-bp18sth14qii3pnvx****'],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC)'."\n"
."\n"
.'- **VBR**: virtual border router (VBR)'."\n"
."\n"
.'- **CCN**: Cloud Connect Network (CCN) instance', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'VPC'],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'ChildInstanceOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the network instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1699000000000000'],
],
[
'name' => 'CenOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '1688000000000000'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.AttachmentReferencedVpcRouteEntryExisted', 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.', 'description' => 'The error message returned because this operation is not supported when a route points to an attachment.'],
['errorCode' => 'Forbidden.OptimizationCCNExisted', 'errorMessage' => 'Operation Forbidden. CCN with optimization is on, please turn it off firstly.', 'description' => ''],
['errorCode' => 'Forbidden.PrivatezoneRouteExisted', 'errorMessage' => 'Operation Forbidden. There is a Privatezone Route associated with the instance, please dessociate it firstly.', 'description' => 'The error message returned because the PrivateZone route already exists. Delete the route and relevant configurations and try again.'],
['errorCode' => 'Forbidden.TypeInvalid', 'errorMessage' => 'The specified ChildInstanceType or TransitRouterType is not supported by this operation.', 'description' => 'The error message returned because the ChildInstanceType or TransitRouterType parameter does not support this operation.'],
['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['errorCode' => 'OperationFailed.VbrAttachedVbrHa', 'errorMessage' => ' The operation is failed because of VbrAttachedVbrHa.', 'description' => ''],
['errorCode' => 'OperationFailed.RIInstanceExist', 'errorMessage' => 'Operation is failed because RI exists.', 'description' => 'The error message returned because this operation is not supported when an RI instance exists.'],
['errorCode' => 'IncorrectStatus.VpcRouteTable', 'errorMessage' => 'The VPC route table is not in a desired state.', 'description' => 'The error message returned because the VPC route table is in an unstable state. Try again later.'],
['errorCode' => 'OperationFailed.CenReferencedVpcRouteEntryExisted', 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified cen.', 'description' => ''],
['errorCode' => 'InvalidOperation.BondVbrAssociated', 'errorMessage' => 'Illegal operation due to associated BondVBR.', 'description' => 'Illegal operation due to associated BondVBR.'],
['errorCode' => 'OperationFailed.VbrWithAllowPrefixes', 'errorMessage' => 'Operation failed because allow prefixes referenced by vbr exists.', 'description' => 'A route prefix on the VBR is assigned the Allow action, which causes the operation to fail.'],
['errorCode' => 'InvalidOperation.CustomRegionDomainRouteEntryExist', 'errorMessage' => 'Operation is invalid because custom region-domain route entry exist.', 'description' => 'Operation is invalid because custom region-domain route entry exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'OperationNotPermitted.AttachmentManagedByCloudService', 'errorMessage' => 'The specified Attachment managed by cloud service can only be deleted through cloud service.', 'description' => ''],
['errorCode' => 'InvalidStatus.ResourceStatus', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the specified resource does not support this operation. Try again later.'],
],
404 => [
['errorCode' => 'Bid.NotFound', 'errorMessage' => 'Not found Bid by specified AliUid.', 'description' => 'The error message returned because the BID does not exist.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCenAttachedChildInstanceAttribute', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DetachCenChildInstance',
'summary' => 'Detaches a network instance from a Cloud Enterprise Network (CEN) transit router.',
'description' => 'The transit router must be a Basic Edition transit router.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-21T08:00:53.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2025-02-28T05:07:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-08-04T05:34:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-21T02:45:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-30T08:45:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T07:55:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-15T03:07:43.000Z', 'description' => 'Error codes changed, Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachCenChildInstance'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DetachCenChildInstance',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'DisableCenVbrHealthCheck' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'docRequired' => true, 'required' => true, 'type' => 'string', 'title' => '', 'example' => 'cen-sjfoejfghhjgghjghkg****'],
],
[
'name' => 'VbrInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the VBR is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'docRequired' => true, 'required' => true, 'type' => 'string', 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'VbrInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR.', 'docRequired' => true, 'required' => true, 'type' => 'string', 'title' => '', 'example' => 'vbr-wz95o9aylj181n5****'],
],
[
'name' => 'VbrInstanceOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.'."\n"
."\n"
.'> This parameter is required if the VBR and the CEN instance belong to different Alibaba Cloud accounts.', 'format' => 'int64', 'required' => false, 'type' => 'integer', 'title' => '', 'example' => '1250123456123456'],
],
],
'responses' => [
200 => [
'schema' => [
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A'],
],
'type' => 'object',
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'DisableCenVbrHealthCheck',
'summary' => 'Disables the health check feature for a virtual border router (VBR).',
'description' => '**DisableCenVbrHealthCheck** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **DescribeCenVbrHealthCheck** operation to query the status of health check configurations. If the health check configurations cannot be found, the health check configurations are deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableCenVbrHealthCheck'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DisableCenVbrHealthCheck',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A278B8A6-A5B8-4FDE-9F70-95F0F6A1D68A\\"\\n}","type":"json"}]',
],
'DisableTransitRouterRouteTablePropagation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-attach-vx6iwhjr1x1j78****'],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vtb-bp1dudbh2d5na6b50****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Default values:'."\n"
."\n"
.'- **false** (default): performs a dry run and performs the actual request.'."\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.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => ''],
['errorCode' => 'IncorrectStatus.AttachmentOrRouteTable', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because this operation is not supported when the specified attachment or route table is in an unstable state. Try again later.'],
['errorCode' => 'OperationUnsupported.DisablePropagation', 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.', 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.TransitRouterRouteTableId', 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.TransitRouterAttachmentId', 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
'title' => 'DisableTransitRouterRouteTablePropagation',
'summary' => 'Deletes a route learning correlation.',
'description' => '**DisableTransitRouterRouteTablePropagation** is an synchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTransitRouterRouteTablePropagations** operation to query the status of a route learning correlation.'."\n"
."\n"
.'- If a route learning correlation is in the **Disabling** state, the route learning correlation is being deleted. You can query the route learning correlation but cannot perform other operations.'."\n"
.'- If a route learning correlation cannot be found, the route learning correlation is deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-01-23T10:33:55.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-04T12:44:40.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T05:33:34.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableTransitRouterRouteTablePropagation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DisableTransitRouterRouteTablePropagation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A7C43F99-B1E5-4A53-AB64-4BAE8AF4484E\\"\\n}","type":"json"}]',
],
'DisassociateTransitRouterMulticastDomain' => [
'summary' => 'Call the DisassociateTransitRouterMulticastDomain operation to dissociate a vSwitch from a multicast domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129159',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection.'."\n"
."\n"
.'The VPC connection is created after the Virtual Private Cloud (VPC) to which the vSwitch belongs is connected to the transit router.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-g3kz2k3u76amsk****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): performs a normal request. If the request passes the check, the vSwitch is dissociated from the multicast domain.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of vSwitch IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch.'."\n"
."\n"
.'You can dissociate a multicast domain from up to 5 vSwitches at a time.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
'required' => false,
'docRequired' => true,
'maxItems' => 1000,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6F6B3FF0-45D1-5416-B189-C45A42A0222B', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidMulticastDomainId.NotFound', 'errorMessage' => 'The specified MulticastDomainId is not found.', 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['errorCode' => 'IncorrectStatus.MulticastDomain', 'errorMessage' => 'The status of MulticastDomain is incorrect.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'InstanceStatusNotSupport', 'errorMessage' => 'The status of instance not support the operation.', 'description' => 'The error message returned because the operation is not supported while the instance is in the current state.'],
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => ''],
['errorCode' => 'IncorrectStatus.Attachment', 'errorMessage' => 'The status of Attachment is incorrect.', 'description' => 'The error message returned because the status of the attachment does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.AttachmentId', 'errorMessage' => 'The specified AttachmentId is illegal.', 'description' => 'The error message returned because the specified attachment ID is invalid.'],
['errorCode' => 'InvalidOperation.MulticastGroupExist', 'errorMessage' => 'Operation is invalid because multicast groups exist.', 'description' => 'The error message returned because this operation is not supported when a multicast domain group exists.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastDomainAssociations', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'DisassociateTransitRouterMulticastDomain',
'description' => '- Before you dissociate a vSwitch from a multicast domain, make sure that no multicast source or member exists on the vSwitch. For more information about how to delete a multicast source and a multicast member, see [DeregisterTransitRouterMulticastGroupSources](~~468416~~) and [DeregisterTransitRouterMulticastGroupMembers](~~468409~~).'."\n"
."\n"
.'- If you provide invalid parameters, the system returns a request ID but does not dissociate the vSwitch from the multicast domain.'."\n"
."\n"
.'- **DisassociateTransitRouterMulticastDomain** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the vSwitch is not immediately dissociated from the multicast domain. The system runs the dissociation task in the background. You can call the **ListTransitRouterMulticastDomainAssociations** operation to query the association status of the vSwitch and the multicast domain.'."\n"
."\n"
.' - If the association status is **Dissociating**, the vSwitch is being dissociated from the multicast domain. In this state, you can only query the vSwitch. You cannot perform other operations.'."\n"
."\n"
.' - If the vSwitch cannot be found in the multicast domain, the vSwitch has been successfully dissociated from the multicast domain.',
'changeSet' => [
['createdAt' => '2024-08-22T03:58:07.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisassociateTransitRouterMulticastDomain'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DisassociateTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6F6B3FF0-45D1-5416-B189-C45A42A0222B\\"\\n}","type":"json"}]',
],
'DissociateTransitRouterAttachmentFromRouteTable' => [
'summary' => 'Dissociates a network instance connection from a route table.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token that ensures the idempotence of the request.'."\n"
."\n"
.'Generate a unique token on 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** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. If the request passes the check, the network instance connection is dissociated from the route table.'."\n"
."\n"
.'- **true**: Sends a dry run request to check the required parameters, request format, and permissions. An error message is returned if the request fails the dry run. The corresponding request ID is returned if the request passes the dry run.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.AttachmentOrRouteTable', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because this operation is not supported when the specified attachment or route table is in an unstable state. Try again later.'],
['errorCode' => 'OperationUnsupported.dissociateRouteTable', 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.', 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['errorCode' => 'IncorrectStatus.TransitRouterConnectPeer', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because this operation is not supported when the connect peer is in an unstable state.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.TransitRouterAttachmentId', 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.TransitRouterRouteTableId', 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => 'The error message returned because the specified network instance connection ID does not exist.'],
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","type":"json"}]',
'title' => 'DissociateTransitRouterAttachmentFromRouteTable',
'description' => '**DissociateTransitRouterAttachmentFromRouteTable** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the operation runs in the background. The network instance connection is not immediately dissociated from the route table. To query the status of the association, call the **ListTransitRouterRouteTableAssociations** operation.'."\n"
."\n"
.'- If the association status is **Dissociating**, the network instance connection is being dissociated from the route table. In this state, you can only query the association. You cannot perform other operations.'."\n"
."\n"
.'- If the **ListTransitRouterRouteTableAssociations** operation does not return information about the association, the network instance connection has been dissociated.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-01-23T10:33:54.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-04T12:44:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DissociateTransitRouterAttachmentFromRouteTable'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DissociateTransitRouterAttachmentFromRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
],
'EnableCenVbrHealthCheck' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-hahhfskfkseig****', 'title' => ''],
],
[
'name' => 'VbrInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the VBR instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shenzhen', 'title' => ''],
],
[
'name' => 'VbrInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vbr-wz95o9aylj181n5mzk****', 'title' => ''],
],
[
'name' => 'HealthCheckSourceIp',
'in' => 'query',
'schema' => ['description' => 'The source IP address for the health check. You can configure the source IP address in one of the following ways:'."\n"
."\n"
.'- **Automatic IP address** (recommended): The system automatically assigns an IP address from the 100.96.0.0/16 CIDR block.'."\n"
."\n"
.'- **Custom IP address**: You can specify an unused IP address from the 10.0.0.0/8, 192.168.0.0/16, or 172.16.0.0/12 CIDR block. The specified IP address cannot conflict with an IP address that is used for communication in the CEN instance. The specified IP address also cannot conflict with the Alibaba Cloud-side or client-side IP address of the VBR instance.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '192.XX.XX.1', 'title' => ''],
],
[
'name' => 'HealthCheckTargetIp',
'in' => 'query',
'schema' => ['description' => 'The destination IP address for the health check.'."\n"
."\n"
.'The destination IP address is the client-side IP address of the VBR instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '10.XX.XX.1', 'title' => ''],
],
[
'name' => 'VbrInstanceOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR instance belongs.'."\n"
."\n"
.'> This parameter is required if the VBR instance and the CEN instance belong to different Alibaba Cloud accounts.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1250123456123456', 'title' => ''],
],
[
'name' => 'HealthCheckInterval',
'in' => 'query',
'schema' => ['description' => 'The time interval at which probe packets are sent during a health check. Unit: seconds. Default value: 2. Valid values: **2** to **3**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3', 'minimum' => '1', 'example' => '2', 'title' => ''],
],
[
'name' => 'HealthyThreshold',
'in' => 'query',
'schema' => ['description' => 'The number of probe packets that are sent during a health check. Unit: packets. Valid values: 3 to **8**. Default value: **8**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '8', 'minimum' => '3', 'example' => '8', 'title' => ''],
],
[
'name' => 'HealthCheckOnly',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable only the detection feature. Valid values:'."\n"
."\n"
.'- **true**: Yes.'."\n"
."\n"
.' ```'."\n"
.' If you enable only the detection feature, the system performs a health check but does not switch routes when the Express Connect circuit is down.'."\n"
."\n"
.' > Make sure that you have another way to ensure link redundancy. Otherwise, network interruptions may occur.'."\n"
.' ```'."\n"
."\n"
.'- **false** (default): No.'."\n"
."\n"
.' ```'."\n"
.' This feature is disabled by default. If the health check detects a link failure and a redundant route is available in the CEN instance, the system immediately switches to the available route.'."\n"
.' ```', 'type' => 'boolean', 'default' => 'fasle', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The description.'."\n"
."\n"
.'The description must be 1 to 256 characters in length and cannot start with `http:// `or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1F59F19C-EFD2-40B1-94D5-65B40CA8E34A', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'RouteConflict', 'errorMessage' => 'The specified route already exists.', 'description' => 'The specified route already exists.'],
['errorCode' => 'Illegal.SourceIpOrTargetIp', 'errorMessage' => 'The specified source IP address or destination IP address is invalid.', 'description' => 'The error message returned because the specified source or destination IP address is invalid.'],
['errorCode' => 'OperationFailed.StatusNotSupport', 'errorMessage' => 'The VBR or VPC instance to CBN attachment is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the VBR or VPC does not support this operation. Try again later.'],
['errorCode' => 'OperationFailed.SourceIpUnSupported', 'errorMessage' => 'The specified source IP address is unsupported.', 'description' => 'The error message returned because the specified source IP address is not supported. Enter a valid IP address and try again.'],
['errorCode' => 'InvalidStatus.HealthCheck', 'errorMessage' => 'Can not modify, please delete health check config first.', 'description' => 'You must delete the health check configurations before you can make the modifications.'],
['errorCode' => 'OperationFailed.IpAddressExhausted', 'errorMessage' => 'No IP addresses are available for allocation.', 'description' => 'The operation failed because no IP addresses can be allocated.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'EnableCenVbrHealthCheck',
'summary' => 'Enables the health check feature for a virtual border router (VBR) or modifies the health check configuration of a VBR. Health checks help you promptly detect faulty Express Connect circuits.',
'description' => 'You can configure a health check for a VBR instance to monitor the connection status of the Express Connect circuit between your data center and Alibaba Cloud. This helps you promptly identify issues.'."\n"
."\n"
.'Before you use the health check feature, note the following:'."\n"
."\n"
.'- If your VBR instance uses static routing, create a static route in the data center connected to the VBR instance after you configure the health check. Set the destination CIDR block of the static route to the source IP address of the health check, the subnet mask to 32 bits, and the next hop to the Alibaba Cloud-side IP address of the VBR instance.'."\n"
."\n"
.'- If your VBR instance uses the Border Gateway Protocol (BGP) dynamic routing protocol, you do not need to create a route in the data center.'."\n"
."\n"
.'- **EnableCenVbrHealthCheck** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the health check is not yet created or modified because the task is still running in the background. You can call the **DescribeCenVbrHealthCheck** operation to query the health check configuration. If the configuration is returned, this indicates that the health check is created or modified.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-01-04T05:41:49.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-03-27T03:26:27.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-09T04:04:35.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-31T10:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-01T02:42:53.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableCenVbrHealthCheck'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:EnableCenVbrHealthCheck',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1F59F19C-EFD2-40B1-94D5-65B40CA8E34A\\"\\n}","type":"json"}]',
],
'EnableTransitRouterRouteTablePropagation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tr-attach-nls9fzkfat8934****'],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vtb-bp1dudbh2d5na6b50****'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Default values:'."\n"
."\n"
.'- **false** (default): performs a dry run and performs the actual request.'."\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.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '59CF8BF9-DE61-421E-B903-D56AF46A303C'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.TransitRouterTableId', 'errorMessage' => 'The specified TransitRouterTableId is invalid.', 'description' => 'The error message returned because the TransitRouterTableId parameter is set to an invalid value.'],
['errorCode' => 'OperationFailed.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'IncorrectStatus.AttachmentOrRouteTable', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The error message returned because this operation is not supported when the specified attachment or route table is in an unstable state. Try again later.'],
['errorCode' => 'OperationUnsupported.EnablePropagation', 'errorMessage' => 'The specified attachment or routeTable is not supported by this operation.', 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.TransitRouterRouteTableId', 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.TransitRouterAttachmentId', 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => 'The error message returned because the specified network instance connection ID does not exist.'],
],
],
'title' => 'EnableTransitRouterRouteTablePropagation',
'summary' => 'Creates a route learning correlation.',
'description' => 'After you establish a network instance connection on a transit router, you can create a route learning correlation for the network instance connection. Then, the routes of the connected network instance are automatically advertised to the route table of the transit router. Before you begin, we recommend that you take note of the following rules:'."\n"
."\n"
.'- You can create route learning correlations only on Enterprise Edition transit routers. For more information about the regions and zones that support Enterprise Edition transit routers, see [What is CEN?](~~181681~~)'."\n"
.'- **EnableTransitRouterRouteTablePropagation** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTransitRouterRouteTablePropagations** operation to query the route learning status between a network instance connection and a route table.'."\n"
."\n"
.' - **Enabling** indicates that a route learning correlation is being created between the network instance connection and route table. You can query the route learning correlation but cannot perform other operations.'."\n"
.' - **Active** indicates that the route learning correlation is created between the network instance connection and route table.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-01-04T12:44:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'EnableTransitRouterRouteTablePropagation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:EnableTransitRouterRouteTablePropagation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"59CF8BF9-DE61-421E-B903-D56AF46A303C\\"\\n}","type":"json"}]',
],
'GrantInstanceToTransitRouter' => [
'summary' => 'Grants a transit router permissions on network instances that belong to another Alibaba Cloud account. To connect a transit router of Account B to a network instance of Account A, you must use Account A to grant permissions to the transit router of Account B.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72444',
'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'Enter the ID of the Cloud Enterprise Network (CEN) instance to which the transit router belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-44m0p68spvlrqq****', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
'name' => 'InstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of network instance. Valid values:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **ExpressConnect**: VBR'."\n"
."\n"
.'- **VPN**: IPsec-VPN connection'."\n"
."\n"
.'- **ECR**: ECR', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'CenOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1250123456123456', 'title' => ''],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => [
'description' => 'The entity that pays the fees of the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: the Alibaba Cloud account that owns the CEN instance.'."\n"
."\n"
.'- **PayByResourceOwner**: the Alibaba Cloud account that owns the network instance.',
'type' => 'string',
'default' => 'PayByCenOwner',
'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'required' => false,
'example' => 'PayByCenOwner',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C6E5992C-A57B-5A6C-9B26-568074DC68BA', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'NoPermission.AliyunServiceRoleForCEN', 'errorMessage' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'description' => 'The error message because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRoleForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is invalid.', 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['errorCode' => 'OperationFailed.TaskConflict', 'errorMessage' => 'The operation is too frequent, please wait a moment and try again.', 'description' => 'The error message returned because this operation is performed at a high frequency. Try again later.'],
['errorCode' => 'InvalidVbr.NotFound', 'errorMessage' => 'vbr is not found.', 'description' => ''],
['errorCode' => 'OperationFailed.GrantCrossAccountExist', 'errorMessage' => 'Cross-account authorization already exists.', 'description' => 'Cross-account authorization already exists.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'Forbidden.OperateShareResource', 'errorMessage' => 'You cannot operate shared resources.', 'description' => 'You cannot operate shared resources.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'OperationFailed.CanNotGrantVbrInstanceToCen', 'errorMessage' => 'Grant VBR instance to CEN is not supported for current VBR owner account.', 'description' => 'Grant VBR instance to CEN is not supported for current VBR owner account.'],
],
404 => [
['errorCode' => 'InvalidInstanceId.NotFound ', 'errorMessage' => 'InstanceId is not found.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'GrantInstanceToTransitRouter',
'description' => '- The `GrantInstanceToTransitRouter` operation can be used to grant transit routers permissions on network instances that belong to other Alibaba Cloud accounts, including virtual private clouds (VPCs), virtual border routers (VBRs), IPsec-VPN connections, and Express Connect Router (ECRs).'."\n"
."\n"
.' To grant transit routers permissions on Cloud Connect Network (CCN) instances, call the [GrantInstanceToCbn](~~126141~~) operation.'."\n"
."\n"
.'- Before you call `GrantInstanceToTransitRouter`, take note of the billing rules, permission limits, and prerequisites on permission management of transit routers. For more information, see [Acquire permissions to connect to a network instance that belongs to another account](~~181553~~).'."\n"
."\n"
.'- Before you grant a transit router permissions on a network instance, make sure that the following requirements are met:'."\n"
."\n"
.' The account to which the network instance belongs and the account to which the transit router belongs are of the same type.'."\n"
."\n"
.' The ID of the Alibaba Cloud account to which the transit router belongs is obtained.'."\n"
."\n"
.' The ID of the Cloud Enterprise Network (CEN) instance to which the Enterprise Edition transit router belongs is obtained.'."\n"
."\n"
.' Before you grant a transit router permissions on a VBR, contact your account manager to acquire permissions on the VBR.'."\n"
."\n"
.' Before you grant a transit router permissions on an IPsec-VPN connection, make sure that the IPsec-VPN connection is not associated with a resource.'."\n"
."\n"
.' If the IPsec-VPN connection is attached to a VPN gateway, the IPsec-VPN connection cannot be attached to transit routers within the same account or different accounts.'."\n"
."\n"
.' If the IPsec-VPN connection is attached to a transit router, detach the IPsec-VPN connection from the transit router. For more information, see [Delete a network instance connection](~~181554~~).',
'changeSet' => [
['createdAt' => '2024-11-28T09:10:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-10-28T08:57:14.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-26T02:48:18.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-12-07T07:04:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToTransitRouter'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:GrantInstanceToTransitRouter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C6E5992C-A57B-5A6C-9B26-568074DC68BA\\"\\n}","type":"json"}]',
],
'ListCenChildInstanceRouteEntriesToAttachment' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '50', 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token for the next page of results.'."\n"
."\n"
.'- If this is your first query, leave this parameter empty.'."\n"
."\n"
.'- If a next query is required, set the value to the NextToken value returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-dc4vwznpwbobrl****', 'title' => ''],
],
[
'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'vtb-bp174d1gje79u1g4t****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
'name' => 'RouteFilter',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The filter for the destination CIDR block.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => [
'description' => 'The route matching mode.'."\n"
."\n"
.'- **prefix-exact-match**: exact match',
'type' => 'string',
'enum' => ['prefix-exact-match'],
'required' => false,
'example' => 'prefix-exact-match',
'title' => '',
],
'Value' => [
'description' => 'A list of destination CIDR blocks.',
'type' => 'array',
'items' => ['description' => 'The destination CIDR block.', 'type' => 'string', 'required' => false, 'example' => '10.0.0.0/8', 'title' => ''],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'ServiceType',
'in' => 'query',
'schema' => ['description' => 'The type of the managed routing service. If this parameter is empty, the route is not managed. Set the value to TR. This value indicates that the route is managed by a transit router.', 'type' => 'string', 'required' => false, 'example' => 'TR', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used for the next query.'."\n"
."\n"
.'- If **NextToken** is empty, no subsequent query is sent.'."\n"
."\n"
.'- If a value is returned for **NextToken**, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '530BC816-F575-412A-AAB2-435125D26328', 'title' => ''],
'RouteEntry' => [
'description' => 'The details of the route.',
'type' => 'array',
'items' => [
'description' => 'The details of the route.',
'type' => 'object',
'properties' => [
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-9adwg6ghpq8oq4dp7q', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-y463sghkkv1loe****', 'title' => ''],
'Status' => ['description' => 'The status of the route. Valid values:'."\n"
."\n"
.'- **Available**: The route is active.'."\n"
."\n"
.'- **Pending**: The route is being configured.'."\n"
."\n"
.'- **Modifying**: The route is being modified.', 'type' => 'string', 'example' => 'Available', 'title' => ''],
'ServiceType' => ['description' => 'The type of the managed routing service. If this parameter is empty, the route is not managed. The value TR indicates that the route is managed by a transit router.', 'type' => 'string', 'example' => 'TR', 'title' => ''],
'DestinationCidrBlock' => ['description' => 'The destination CIDR block of the route.', 'type' => 'string', 'example' => '10.0.0.0/8', 'title' => ''],
'ChildInstanceRouteTableId' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'example' => 'vtb-bp1tlaj1c4nxr2t3e****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The parameter NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value. Check the value and try again.'],
['errorCode' => 'MissingParam.TransitRouterAttachmentId', 'errorMessage' => 'The parameter TransitRouterAttachmentId is Missing.', 'description' => 'The error message returned because the TransitRouterAttachmentId parameter is not set.'],
['errorCode' => 'MissingParam.ChildInstanceRouteTableId', 'errorMessage' => 'The parameter ChildInstanceRouteTableId is Missing.', 'description' => ''],
['errorCode' => 'InvalidParam.RouteFilter', 'errorMessage' => 'The parameter RouteFilter is invalid.', 'description' => 'The error message returned because the specified route filter is invalid.'],
['errorCode' => 'ResourceNotFound.TransitRouterAttachment', 'errorMessage' => 'The specified TransitRouterAttachment does not exist.', 'description' => ''],
['errorCode' => 'InvalidParam.RoutFilterKey', 'errorMessage' => 'The specified Key of RouteFilter is invalid.', 'description' => 'The error message returned because the specified route filter key is invalid.'],
['errorCode' => 'InvalidParam.CenId', 'errorMessage' => 'The specified CEN does not exist.', 'description' => ''],
['errorCode' => 'OperationFailed.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation.', 'description' => ''],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListCenChildInstanceRouteEntriesToAttachment',
'summary' => 'Queries the routes that point to a network instance connection. The routes are retrieved from the route table of a network instance that is attached to an Enterprise Edition transit router.',
'description' => 'Ensure that you specify valid parameter values when you call the ListCenChildInstanceRouteEntriesToAttachment operation. If you specify an invalid parameter, the system returns a request ID but does not return the routes of the network instance that is connected to the Enterprise Edition transit router.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCenChildInstanceRouteEntriesToAttachment'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListCenChildInstanceRouteEntriesToAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"530BC816-F575-412A-AAB2-435125D26328\\",\\n \\"RouteEntry\\": [\\n {\\n \\"CenId\\": \\"cen-9adwg6ghpq8oq4dp7q\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-y463sghkkv1loe****\\",\\n \\"Status\\": \\"Available\\",\\n \\"ServiceType\\": \\"TR\\",\\n \\"DestinationCidrBlock\\": \\"10.0.0.0/8\\",\\n \\"ChildInstanceRouteTableId\\": \\"vtb-bp1tlaj1c4nxr2t3e****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListCenInterRegionTrafficQosPolicies' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72383',
'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => false, 'example' => 'qos-rnghap5gc8155x****', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the QoS policy.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the QoS policy.'."\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' => 'desctest', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token for the next page of results. Valid values:'."\n"
."\n"
.'- If this is your first query or no next page exists, do not specify this parameter.'."\n"
."\n"
.'- If a next page exists, set the value to the **NextToken** value returned from the previous call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n"
."\n"
.'- If **NextToken** is empty, no next page exists.'."\n"
."\n"
.'- If a value is returned for **NextToken**, the value is the token that determines the start point of the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '113BFD47-63DF-5D9D-972C-033FB9C360CD', 'title' => ''],
'TotalCount' => ['description' => 'The 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' => ''],
'TrafficQosPolicies' => [
'description' => 'The list of QoS policies.',
'type' => 'array',
'items' => [
'description' => 'The information about the QoS policy.',
'type' => 'object',
'properties' => [
'TrafficQosPolicyName' => ['description' => 'The name of the QoS policy.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'TrafficQosPolicyStatus' => ['description' => 'The status of the QoS policy.'."\n"
."\n"
.'- **Creating**: The policy is being created.'."\n"
."\n"
.'- **Active**: The policy is active.'."\n"
."\n"
.'- **Modifying**: The policy is being modified.'."\n"
."\n"
.'- **Deleting**: The policy is being deleted.', 'type' => 'string', 'example' => 'Creating', 'title' => ''],
'TrafficQosPolicyId' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-rnghap5gc8155x****', 'title' => ''],
'TrafficQosPolicyDescription' => ['description' => 'The description of the QoS policy.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'BandwidthGuaranteeMode' => ['description' => 'The bandwidth guarantee type.'."\n"
."\n"
.'- **byBandwidth**: The QoS queues are configured based on an absolute bandwidth value.'."\n"
."\n"
.'- **byBandwidthPercent**: The QoS queues are configured based on a bandwidth percentage.', 'type' => 'string', 'example' => 'byBandwidthPercent', 'title' => ''],
'TrafficQosQueues' => [
'description' => 'The list of queues.',
'type' => 'array',
'items' => [
'description' => 'The information about the queue.',
'type' => 'object',
'properties' => [
'QosQueueName' => ['description' => 'The name of the queue.', 'type' => 'string', 'example' => 'namtest', 'title' => ''],
'RemainBandwidthPercent' => ['description' => 'The percentage of the inter-region connection bandwidth that is used by the queue. This parameter is returned when the bandwidth guarantee type is byBandwidthPercent.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Bandwidth' => ['description' => 'The bandwidth value allocated to the queue of the inter-region connection. This parameter is returned when the bandwidth guarantee type is byBandwidth.', 'type' => 'string', 'example' => '1', 'title' => ''],
'QosQueueId' => ['description' => 'The ID of the queue.', 'type' => 'string', 'example' => 'qos-queue-njcrmr9fiu1jii****', 'title' => ''],
'QosQueueDescription' => ['description' => 'The description of the queue.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'Dscps' => [
'description' => 'The Differentiated Services Code Point (DSCP) values of the traffic messages that are matched by the queue.',
'type' => 'array',
'items' => ['description' => 'The DSCP value of a traffic message that is matched by the queue.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'title' => '',
'example' => '',
],
'EffectiveBandwidth' => ['description' => 'The actual bandwidth of the queue.', 'type' => 'string', 'example' => '1.35', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'TransitRouterId' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'example' => 'tr-2ze4ta4v32umj0rb***', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-q7ct7c06jpw***', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParam.TransitRouterIdOrTrafficQosPolicyId', 'errorMessage' => 'Either TransitRouterId or TrafficQosPolicyId must be specified. ', 'description' => ''],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListCenInterRegionTrafficQosPolicies',
'summary' => 'You can call the ListCenInterRegionTrafficQosPolicies operation to query Quality of Service (QoS) policies.',
'description' => 'Take note of the following items when you call the **ListCenInterRegionTrafficQosPolicies** operation:'."\n"
."\n"
.'- You must specify at least one of the **TransitRouterId** and **TrafficQosPolicyId** parameters.'."\n"
."\n"
.'- If you do not specify the **TrafficQosPolicyId** parameter, the operation returns information about the QoS policy based on the values of the **TransitRouterId**, **TransitRouterAttachmentId**, **TrafficQosPolicyName**, and **TrafficQosPolicyDescription** parameters. In this case, information about the queues in the policy is not returned, and the **TrafficQosQueues** field is not included in the response.'."\n"
."\n"
.'- If you specify the **TrafficQosPolicyId** parameter, the operation returns information about the QoS policy and its queues. The **TrafficQosQueues** field is included in the response. If the **TrafficQosQueues** field is an empty array, only the default queue exists in the QoS policy.'."\n"
."\n"
.'- Make sure that you enter valid parameter values. If you enter an invalid parameter, the system returns a RequestId but does not return information about the QoS policy.',
'changeSet' => [
['createdAt' => '2024-08-28T06:29:04.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-09T03:13:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-12-02T03:57:37.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListCenInterRegionTrafficQosPolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"113BFD47-63DF-5D9D-972C-033FB9C360CD\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TrafficQosPolicies\\": [\\n {\\n \\"TrafficQosPolicyName\\": \\"nametest\\",\\n \\"TrafficQosPolicyStatus\\": \\"Creating\\",\\n \\"TrafficQosPolicyId\\": \\"qos-rnghap5gc8155x****\\",\\n \\"TrafficQosPolicyDescription\\": \\"desctest\\",\\n \\"BandwidthGuaranteeMode\\": \\"byBandwidthPercent\\",\\n \\"TrafficQosQueues\\": [\\n {\\n \\"QosQueueName\\": \\"namtest\\",\\n \\"RemainBandwidthPercent\\": 1,\\n \\"Bandwidth\\": \\"1\\",\\n \\"QosQueueId\\": \\"qos-queue-njcrmr9fiu1jii****\\",\\n \\"QosQueueDescription\\": \\"desctest\\",\\n \\"Dscps\\": [\\n 5\\n ],\\n \\"EffectiveBandwidth\\": \\"1.35\\"\\n }\\n ],\\n \\"TransitRouterId\\": \\"tr-2ze4ta4v32umj0rb***\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-q7ct7c06jpw***\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListCenInterRegionTrafficQosQueues' => [
'summary' => 'Queries the queues of a Quality of Service (QoS) policy.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '160569',
'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
],
[
'name' => 'TrafficQosPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => false, 'example' => 'qos-rnghap5gc8155x****', 'title' => ''],
],
[
'name' => 'TrafficQosQueueId',
'in' => 'query',
'schema' => ['description' => 'The ID of the queue in the QoS policy.', 'type' => 'string', 'required' => false, 'example' => 'qos-queue-siakjb2nn9gz5z****', 'title' => ''],
],
[
'name' => 'TrafficQosQueueName',
'in' => 'query',
'schema' => ['description' => 'The name of the queue in the QoS policy.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with \\`http\\://\\` or \\`https\\://\\`.', 'type' => 'string', 'required' => false, 'example' => 'qosQueueName', 'title' => ''],
],
[
'name' => 'TrafficQosQueueDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the queue in the QoS policy.'."\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' => 'qosQueueDescription', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 100. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'A pagination token. It is used in the next request to retrieve a new page of results.'."\n"
."\n"
.'- If **NextToken** is empty, no more results are returned.'."\n"
."\n"
.'- If NextToken is not empty, the value of **NextToken** is used for the next query.', 'type' => 'string', 'required' => false, 'example' => '2ca1ed1573cb****', 'title' => ''],
],
[
'name' => 'EffectiveBandwidthFilter',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'Filters the results by the actual bandwidth. Only positive integers are supported. Unit: Mbit/s.',
'type' => 'object',
'properties' => [
'Gte' => ['description' => 'The actual bandwidth is greater than or equal to the specified value.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '50', 'title' => ''],
'Lte' => ['description' => 'The actual bandwidth is less than or equal to the specified value.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'A pagination token. It is used in the next request to retrieve a new page of results. Valid values:'."\n"
."\n"
.'- If **NextToken** is empty, no more results are returned.'."\n"
."\n"
.'- If NextToken is not empty, the value of **NextToken** is used for the next query.', 'type' => 'string', 'example' => '0151fa6aa1ed****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1D1E15D2-416D-54F3-BDD9-BC27DE4C6352', 'title' => ''],
'TrafficQosQueues' => [
'description' => 'The information about the queues of the QoS policy.',
'type' => 'array',
'items' => [
'description' => 'The information about the queues of the QoS policy.',
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'example' => 'tr-attach-nzrcv25d7ezt23****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'example' => 'tr-p0wwagjv6fvxt4b7y****', 'title' => ''],
'TrafficQosQueueName' => ['description' => 'The name of the queue in the QoS policy.', 'type' => 'string', 'example' => 'qosQueueName', 'title' => ''],
'RemainBandwidthPercent' => ['description' => 'The percentage of the inter-region connection bandwidth that can be used by the queue. This parameter is returned only if you allocate bandwidth to the queue by percentage.'."\n"
."\n"
.'For example, a value of **1** indicates that traffic that matches the queue can use up to 1% of the inter-region connection bandwidth.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Bandwidth' => ['description' => 'The bandwidth allocated to the queue. This parameter is returned only if you allocate bandwidth to the queue by absolute value.'."\n"
."\n"
.'For example, a value of **1** indicates that traffic that matches the queue can use up to 1 Mbit/s of the inter-region connection bandwidth.', 'type' => 'string', 'example' => '1', 'title' => ''],
'EffectiveBandwidth' => ['description' => 'The actual bandwidth of the queue.', 'type' => 'string', 'example' => '1.35', 'title' => ''],
'TrafficQosPolicyId' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'example' => 'qos-fv2qq9yqrsjowp****', 'title' => ''],
'TrafficQosQueueId' => ['description' => 'The ID of the queue in the QoS policy.', 'type' => 'string', 'example' => 'qos-queue-siakjb2nn9gz5z****'."\n", 'title' => ''],
'TrafficQosQueueDescription' => ['description' => 'The description of the queue in the QoS policy.', 'type' => 'string', 'example' => 'qosQueueDescription'."\n", 'title' => ''],
'Dscps' => [
'description' => 'The Differentiated Services Code Point (DSCP) values that are matched by the queue.',
'type' => 'array',
'items' => ['description' => 'The DSCP value.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'title' => '',
'example' => '',
],
'Status' => ['description' => 'The status of the queue.'."\n"
."\n"
.'- **Creating**: The queue is being created.'."\n"
."\n"
.'- **Active**: The queue is running.'."\n"
."\n"
.'- **Deleting**: The queue is being deleted.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParam.TransitRouterIdOrTrafficQosPolicyIdOrTrafficQosQueueId', 'errorMessage' => 'Either TransitRouterId or TrafficQosPolicyId or TrafficQosQueueId must be specified.', 'description' => ''],
['errorCode' => 'InvalidParameter.MaxResults', 'errorMessage' => 'The specified MaxResults is invalid. ', 'description' => ''],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'IllegalParam.EffectiveBandwidthFilter', 'errorMessage' => 'The input bandwidth filter value is not valid.', 'description' => 'The input bandwidth filter value is not valid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListCenInterRegionTrafficQosQueues',
'description' => 'When you call this operation, you must specify at least one of the **TransitRouterId**, **TrafficQosPolicyId**, or **TrafficQosQueueId** parameters.'."\n"
."\n"
.'Ensure that you specify valid parameter values. If you specify an invalid parameter, the system returns a **RequestId** but does not return information about the QoS policy.',
'changeSet' => [
['createdAt' => '2024-08-28T06:29:04.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2024-08-16T03:39:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-13T02:46:22.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCenInterRegionTrafficQosQueues'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListCenInterRegionTrafficQosQueues',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"0151fa6aa1ed****\\",\\n \\"RequestId\\": \\"1D1E15D2-416D-54F3-BDD9-BC27DE4C6352\\",\\n \\"TrafficQosQueues\\": [\\n {\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-nzrcv25d7ezt23****\\",\\n \\"TransitRouterId\\": \\"tr-p0wwagjv6fvxt4b7y****\\",\\n \\"TrafficQosQueueName\\": \\"qosQueueName\\",\\n \\"RemainBandwidthPercent\\": 1,\\n \\"Bandwidth\\": \\"1\\",\\n \\"EffectiveBandwidth\\": \\"1.35\\",\\n \\"TrafficQosPolicyId\\": \\"qos-fv2qq9yqrsjowp****\\",\\n \\"TrafficQosQueueId\\": \\"qos-queue-siakjb2nn9gz5z****\\\\n\\",\\n \\"TrafficQosQueueDescription\\": \\"qosQueueDescription\\\\n\\",\\n \\"Dscps\\": [\\n 1\\n ],\\n \\"Status\\": \\"Active\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListGrantVSwitchEnis' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance to which the VPC is connected.', 'type' => 'string', 'required' => true, 'example' => 'cen-a7syd349kne38g****', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'schema' => ['description' => 'The ID of a vSwitch in the VPC.'."\n"
."\n"
.'You can query information about the ENIs in only one vSwitch at a time.', 'type' => 'string', 'required' => true, 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query, you do not need to specify this parameter.'."\n"
."\n"
.'- If a next query is to be sent, set the value to the NextToken value that was returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'AAAAAdDWBF2****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The maximum number of entries to return on each page. Valid values: 10 to 500.'."\n"
."\n"
.'Default value:'."\n"
."\n"
.'- If you do not specify this parameter, the default value is 20.'."\n"
."\n"
.'- If you specify a value greater than 500, the default value is 500.', 'type' => 'integer', 'format' => 'int64', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NetworkInterfaceId',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The ID of the ENI.',
'type' => 'array',
'items' => ['description' => 'The ID of the ENI.'."\n"
."\n"
.'The system supports only ENIs that are associated with Elastic Compute Service (ECS) instances as multicast sources. The system sends multicast traffic to multicast groups from the primary private IP address of the ENI.', 'type' => 'string', 'required' => false, 'example' => 'eni-wz9a2sgsskvw69v2****', 'title' => ''],
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'NetworkInterfaceName',
'in' => 'query',
'schema' => ['description' => 'The name of the ENI.', 'type' => 'string', 'required' => false, 'example' => 'test-eni-name', 'title' => ''],
],
[
'name' => 'PrimaryIpAddress',
'in' => 'query',
'schema' => ['description' => 'The primary private IPv4 address of the ENI.', 'type' => 'string', 'required' => false, 'example' => '192.168.**.**', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DBFE1736-2F33-5309-9954-875B11E9519D', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.'."\n"
."\n"
.'>'."\n"
."\n"
.'This parameter is invalid if you use MaxResults and NextToken to perform a paged query.'."\n"
."\n"
.'>', 'type' => 'string', 'example' => '6', 'title' => ''],
'GrantVSwitchEnis' => [
'description' => 'A list of ENI information.',
'type' => 'array',
'items' => [
'description' => 'The information about the ENI.',
'type' => 'object',
'properties' => [
'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
'NetworkInterfaceId' => ['description' => 'The ID of the ENI.', 'type' => 'string', 'example' => 'eni-p0w172vv82kxzb49****', 'title' => ''],
'Description' => ['description' => 'The description of the ENI.', 'type' => 'string', 'example' => 'created by CBN', 'title' => ''],
'TransitRouterFlag' => ['description' => 'Indicates whether the ENI is created by a transit router.'."\n"
."\n"
.'- **true**: The ENI is created by a transit router.'."\n"
."\n"
.'- **false**: The ENI is not created by a transit router.'."\n"
."\n"
.'ENIs created by transit routers cannot be used as multicast sources or members.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'NetworkInterfaceName' => ['description' => 'The name of the ENI.', 'type' => 'string', 'example' => 'my-eni-name', 'title' => ''],
'PrimaryIpAddress' => ['description' => 'The primary private IPv4 address of the ENI.', 'type' => 'string', 'example' => '192.168.**.**', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'NextToken' => ['description' => 'The token that is used for the next query.', 'type' => 'string', 'example' => 'AAAAAdDWBF2****', 'title' => ''],
'MaxResults' => ['description' => 'The maximum number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'The specified CenId is not found.', 'description' => 'The error message returned because the specified CEN instance ID does not exist.'],
['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The specified VpcId is not found.', 'description' => 'The error message returned because the specified VPC ID (VpcId) is invalid.'],
['errorCode' => 'InvalidOperation.MulticastDomainAssociationNotExist', 'errorMessage' => 'Operation is invalid because multicast association domain association not exist.', 'description' => 'The error message returned because this operation is not supported when the specified multicast domain is not associated with the specified resource.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListGrantVSwitchEnis',
'summary' => 'You can call the ListGrantVSwitchEnis operation to query which elastic network interfaces (ENIs) in a virtual private cloud (VPC) can serve as multicast sources or members.',
'description' => 'Before you call the `ListGrantVSwitchEnis` operation, make sure that the VPC is connected to a Cloud Enterprise Network (CEN) instance. For more information, see [CreateTransitRouterVpcAttachment](~~261358~~).',
'changeSet' => [
['createdAt' => '2023-08-03T15:25:54.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGrantVSwitchEnis'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListGrantVSwitchEnis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DBFE1736-2F33-5309-9954-875B11E9519D\\",\\n \\"TotalCount\\": \\"6\\",\\n \\"GrantVSwitchEnis\\": [\\n {\\n \\"VpcId\\": \\"vpc-p0w9alkte4w2htrqe****\\",\\n \\"VSwitchId\\": \\"vsw-p0w9s2ig1jnwgrbzl****\\",\\n \\"NetworkInterfaceId\\": \\"eni-p0w172vv82kxzb49****\\",\\n \\"Description\\": \\"created by CBN\\",\\n \\"TransitRouterFlag\\": false,\\n \\"NetworkInterfaceName\\": \\"my-eni-name\\",\\n \\"PrimaryIpAddress\\": \\"192.168.**.**\\"\\n }\\n ],\\n \\"NextToken\\": \\"AAAAAdDWBF2****\\",\\n \\"MaxResults\\": 20\\n}","type":"json"}]',
],
'ListGrantVSwitchesToCen' => [
'summary' => 'You can call the ListGrantVSwitchesToCen operation to query vSwitches in a cross-account VPC that is connected to a CEN instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72385',
'abilityTreeNodes' => ['FEATUREcbnOQ547T'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the VPC is deployed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-44m0p68spvlrqq****', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp12ge2tq5gzdc915****', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '0', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'title' => ''],
],
[
'name' => 'ZoneId',
'in' => 'query',
'schema' => ['description' => 'The zone ID.'."\n"
."\n"
.'- If you specify a zone ID, only the vSwitches in that zone are queried.'."\n"
."\n"
.'- If you do not specify a zone ID, the vSwitches in all zones of the VPC are queried by default.'."\n"
."\n"
.'Call the [DescribeZones](~~36064~~) operation to query zone IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-h', 'title' => ''],
],
[
'name' => 'EnabledIpv6',
'in' => 'query',
'schema' => ['description' => 'Specifies whether IPv6 is enabled. Valid values: true and false. If you do not specify this parameter, the query is not filtered by this property.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A9288C78-881A-5D30-A8A9-68E05EE0A086', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'VSwitches' => [
'description' => 'A list of vSwitches.',
'type' => 'array',
'items' => [
'description' => 'The vSwitch information.',
'type' => 'object',
'properties' => [
'VpcId' => ['description' => 'The ID of the VPC to which the vSwitch belongs.', 'type' => 'string', 'example' => 'vpc-bp12ge2tq5gzdc915****', 'title' => ''],
'ZoneId' => ['description' => 'The ID of the zone to which the vSwitch belongs.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''],
'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-bp1194lh263wx1gsk****', 'title' => ''],
'VSwitchName' => ['description' => 'The name of the vSwitch.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListGrantVSwitchesToCen',
'description' => 'Before you call the `ListGrantVSwitchesToCen` operation, make sure that the CEN instance has been granted permissions on the cross-account VPC. For more information, see [GrantInstanceToCen](~~126224~~).',
'changeSet' => [
['createdAt' => '2024-09-10T02:52:26.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-07-07T00:33:43.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-12-21T09:20:00.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGrantVSwitchesToCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListGrantVSwitchesToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"A9288C78-881A-5D30-A8A9-68E05EE0A086\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"VSwitches\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp12ge2tq5gzdc915****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-h\\",\\n \\"VSwitchId\\": \\"vsw-bp1194lh263wx1gsk****\\",\\n \\"VSwitchName\\": \\"nametest\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTagResources' => [
'summary' => 'Queries the tags that are attached to a Cloud Enterprise Network (CEN) instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type. Valid values:'."\n"
."\n"
.'**Cen**: a CEN instance.'."\n"
."\n"
.'**BandwidthPackage**: a bandwidth plan.'."\n"
."\n"
.'**TransitRouter**: a transit router.'."\n"
."\n"
.'**TransitRouterVpcAttachment**: a VPC connection.'."\n"
."\n"
.'**TransitRouterVbrAttachment**: a VBR connection.'."\n"
."\n"
.'**TransitRouterPeerAttachment**: an inter-region connection.'."\n"
."\n"
.'**TransitRouterVpnAttachment**: a VPN connection.'."\n"
."\n"
.'**TransitRouterRouteTable**: a route table.'."\n"
."\n"
.'**Flowlog**: a flow log.'."\n"
."\n"
.'**TransitRouterMulticastDomain**: a multicast domain.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query or no next query is to be sent, you do not need to specify this parameter.'."\n"
."\n"
.'- If a subsequent query is to be sent, set the value to the NextToken value that is returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ID of the CEN instance.'."\n"
."\n"
.'You can enter a maximum of 20 CEN instance IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the CEN instance.'."\n"
."\n"
.'You can enter a maximum of 20 CEN instance IDs.', 'type' => 'string', 'required' => false, 'example' => 'cen-8z69wtwqel33lq****', 'title' => ''],
'required' => false,
'example' => 'cen-8z69wtwqel33lq****',
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags of the CEN instance.'."\n"
."\n"
.'You can query a maximum of 20 tags.',
'type' => 'array',
'items' => [
'description' => 'The tags of the CEN instance.'."\n"
."\n"
.'You can query a maximum of 20 tags.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'The tag key can be up to 64 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can enter a maximum of 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\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://`.'."\n"
."\n"
.'You can enter a maximum of 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'Bp', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the resource is deployed.'."\n"
."\n"
.'This parameter is not required for the Cen and BandwidthPackage resource types. It is required for all other resource types.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'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', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '165B5C86-2033-5954-A89D-4CD83BA06C85', 'title' => ''],
'TagResources' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'TagResource' => [
'description' => 'A list of resources and their tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ResourceType' => ['description' => 'The resource type. Valid values:'."\n"
."\n"
.'**Cen**: a CEN instance.'."\n"
."\n"
.'**BandwidthPackage**: a bandwidth plan.'."\n"
."\n"
.'**TransitRouter**: a transit router.'."\n"
."\n"
.'**TransitRouterVpcAttachment**: a VPC connection.'."\n"
."\n"
.'**TransitRouterVbrAttachment**: a VBR connection.'."\n"
."\n"
.'**TransitRouterPeerAttachment**: an inter-region connection.'."\n"
."\n"
.'**TransitRouterVpnAttachment**: a VPN connection.'."\n"
."\n"
.'**TransitRouterRouteTable**: a route table.'."\n"
."\n"
.'**Flowlog**: a flow log.'."\n"
."\n"
.'**TransitRouterMulticastDomain**: a multicast domain.', 'type' => 'string', 'example' => 'CEN', 'title' => ''],
'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'Bp', 'title' => ''],
'ResourceId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-8z69wtwqel33lq****', 'title' => ''],
'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''],
['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The error message returned because the specified instance type does not exist.'],
['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'The error message returned because you cannot manage the specified tag key.'],
['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The error message returned because the number of tags has reached the upper limit.'],
['errorCode' => 'InvalidTagScope.NotFound', 'errorMessage' => 'The tag scope is not found', 'description' => 'The error message returned because the specified tag scope is invalid.'],
['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because you cannot configure system tags.'],
['errorCode' => 'SizeLimitExceeded.ResourceIdNum', 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 20', 'description' => ''],
['errorCode' => 'BothEmpty.TagsAndResources', 'errorMessage' => 'Both of Tags and ResourceIds is empty.', 'description' => 'The error message returned because the Tags and ResourceIds parameters are not set.'],
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The parameter NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value. Check the value and try again.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified region is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTagResources',
'description' => 'When you call the ListTagResources operation, you must specify at least one of the **ResourceId.N** and **Tag.N.Key** request parameters.'."\n"
."\n"
.'- If you specify only **ResourceId.N**, the system queries the tags that are attached to the specified CEN instance.'."\n"
."\n"
.'- If you specify only **Tag.N.Key**, the system queries all CEN instances that are associated with the specified tag key.'."\n"
."\n"
.'- If you specify both **ResourceId.N** and **Tag.N.Key**, the system queries for tags that match the specified tag key and are attached to the specified CEN instance.'."\n"
."\n"
.' - The specified CEN instance must be associated with the specified tag key. Otherwise, an empty result is returned.'."\n"
."\n"
.' - If you specify multiple tag keys, the relationship between the tag keys is **AND**.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Error codes changed, Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"165B5C86-2033-5954-A89D-4CD83BA06C85\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"CEN\\",\\n \\"TagValue\\": \\"Bp\\",\\n \\"ResourceId\\": \\"cen-8z69wtwqel33lq****\\",\\n \\"TagKey\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'ListTrafficMarkingPolicies' => [
'summary' => 'You can call the ListTrafficMarkingPolicies operation to query details about traffic marking policies, such as their status and priority.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72388',
'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-bp1rmwxnk221e3fas****', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => false, 'example' => 'tm-iz5egnyitxiroq****', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the traffic marking policy.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the traffic marking policy.'."\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' => 'desctest', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'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"
."\n"
.'- If a next query is to be sent, set the value to the **NextToken** value returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used for the next query.'."\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', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '699989E4-64A0-5F78-8B93-CDB32D98971F', 'title' => ''],
'TotalCount' => ['description' => 'The 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' => ''],
'TrafficMarkingPolicies' => [
'description' => 'The list of traffic marking policies.',
'type' => 'array',
'items' => [
'description' => 'The information about the traffic marking policy.',
'type' => 'object',
'properties' => [
'TrafficMarkingPolicyStatus' => ['description' => 'The status of the traffic marking policy.'."\n"
."\n"
.'- **Creating**: The policy is being created.'."\n"
."\n"
.'- **Active**: The policy is available.'."\n"
."\n"
.'- **Modifying**: The policy is being modified.'."\n"
."\n"
.'- **Deleting**: The policy is being deleted.', 'type' => 'string', 'example' => 'Creating', 'title' => ''],
'TrafficMarkingPolicyId' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'example' => 'tm-iz5egnyitxiroq****', 'title' => ''],
'MarkingDscp' => ['description' => 'The Differentiated Services Code Point (DSCP) value of the traffic marking policy.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'TrafficMarkingPolicyName' => ['description' => 'The name of the traffic marking policy.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'Priority' => ['description' => 'The priority of the traffic marking policy.'."\n"
."\n"
.'A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'TrafficMarkingPolicyDescription' => ['description' => 'The description of the traffic marking policy.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'TrafficMatchRules' => [
'description' => 'The list of traffic classification rules.',
'type' => 'array',
'items' => [
'description' => 'The information about the traffic classification rule.',
'type' => 'object',
'properties' => [
'MatchDscp' => ['description' => 'The DSCP value of the traffic message.'."\n"
."\n"
.'> If **MatchDscp** returns -1, it indicates that all DSCP values are matched.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''],
'DstCidr' => ['description' => 'The destination CIDR block of the traffic message. IPv4 and IPv6 addresses are supported.', 'type' => 'string', 'example' => '192.168.120.0/24', 'title' => ''],
'TrafficMatchRuleDescription' => ['description' => 'The description of the traffic classification rule.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'Protocol' => ['description' => 'The protocol type of the traffic message.'."\n"
."\n"
.'> A traffic marking policy supports matching multiple protocol types. For more information about the protocol types, see the relevant documentation.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''],
'TrafficMatchRuleId' => ['description' => 'The ID of the traffic classification rule.', 'type' => 'string', 'example' => 'tm-rule-fa9kgq1e90rmhc****', 'title' => ''],
'SrcCidr' => ['description' => 'The source CIDR block of the traffic message. IPv6 and IPv4 addresses are supported.', 'type' => 'string', 'example' => '192.168.10.0/24', 'title' => ''],
'TrafficMatchRuleName' => ['description' => 'The name of the traffic classification rule.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'TrafficMatchRuleStatus' => ['description' => 'The status of the traffic classification rule.'."\n"
."\n"
.'- **Creating**: The rule is being created.'."\n"
."\n"
.'- **Active**: The rule is available.'."\n"
."\n"
.'- **Deleting**: The rule is being deleted.', 'type' => 'string', 'example' => 'Creating', 'title' => ''],
'AddressFamily' => ['description' => 'The address type. Valid values are IPv4, IPv6, or empty.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
'DstPortRange' => [
'description' => 'The destination port range to be matched by the traffic classification rule.',
'type' => 'array',
'items' => ['description' => 'The destination port range to be matched by the traffic classification rule.'."\n"
."\n"
.'The operation returns two destination port numbers:'."\n"
."\n"
.'- If the two destination port numbers are the same, for example, 80 and 80, the traffic classification rule matches traffic with a destination port of 80.'."\n"
."\n"
.' ```'."\n"
.' If both destination port numbers are -1, the stream classification rule matches traffic with any destination port number.'."\n"
.' ```'."\n"
."\n"
.'- If both destination port numbers are -1, the traffic classification rule matches traffic with any destination port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80,80', 'title' => ''],
'title' => '',
'example' => '',
],
'SrcPortRange' => [
'description' => 'The source port range to be matched by the traffic classification rule.',
'type' => 'array',
'items' => ['description' => 'The source port range to be matched by the traffic classification rule.'."\n"
."\n"
.'The operation returns two source port numbers:'."\n"
."\n"
.'- If the two source port numbers are the same, for example, 80 and 80, the traffic classification rule matches traffic with a source port of 80.'."\n"
."\n"
.' ```'."\n"
.' If both source port numbers are -1, the stream classification rule matches traffic with any source port number.'."\n"
.' ```'."\n"
."\n"
.'- If both source port numbers are -1, the traffic classification rule matches traffic with any source port.', 'type' => 'integer', 'format' => 'int32', 'example' => '1,200', 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'TransitRouterId' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'example' => 'tr-ccni***', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParam.TransitRouterIdOrTrafficMarkingPolicyId', 'errorMessage' => 'Either TransitRouterId or TrafficMarkingPolicyId must be specified.', 'description' => 'The error message returned because the TransitRouterId or TrafficMarkingPolicyId parameter is not set.'],
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListTrafficMarkingPolicies',
'description' => 'When you call the **ListTrafficMarkingPolicies** operation:'."\n"
."\n"
.'- You must specify at least one of the **TransitRouterId** and **TrafficMarkingPolicyId** parameters.'."\n"
."\n"
.'- If you do not specify the **TrafficMarkingPolicyId** parameter, the operation returns only information about the traffic marking policy based on the **TransitRouterId**, **TrafficMarkingPolicyName**, and **TrafficMarkingPolicyDescription** parameters. Information about traffic classification rules is not returned. The **TrafficMatchRules** field is not included in the response.'."\n"
."\n"
.'- If you specify the **TrafficMarkingPolicyId** parameter, the operation returns information about the traffic marking policy and its traffic classification rules. The **TrafficMatchRules** field is included in the response. If the **TrafficMatchRules** field is an empty array, no traffic classification rules are configured for the policy.',
'changeSet' => [
['createdAt' => '2024-09-10T02:52:26.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-09-08T07:00:47.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-03-09T08:42:54.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-16T07:48:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:57:37.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTrafficMarkingPolicies'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTrafficMarkingPolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"699989E4-64A0-5F78-8B93-CDB32D98971F\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TrafficMarkingPolicies\\": [\\n {\\n \\"TrafficMarkingPolicyStatus\\": \\"Creating\\",\\n \\"TrafficMarkingPolicyId\\": \\"tm-iz5egnyitxiroq****\\",\\n \\"MarkingDscp\\": 5,\\n \\"TrafficMarkingPolicyName\\": \\"nametest\\",\\n \\"Priority\\": 5,\\n \\"TrafficMarkingPolicyDescription\\": \\"desctest\\",\\n \\"TrafficMatchRules\\": [\\n {\\n \\"MatchDscp\\": 6,\\n \\"DstCidr\\": \\"192.168.120.0/24\\",\\n \\"TrafficMatchRuleDescription\\": \\"desctest\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"TrafficMatchRuleId\\": \\"tm-rule-fa9kgq1e90rmhc****\\",\\n \\"SrcCidr\\": \\"192.168.10.0/24\\",\\n \\"TrafficMatchRuleName\\": \\"nametest\\",\\n \\"TrafficMatchRuleStatus\\": \\"Creating\\",\\n \\"AddressFamily\\": \\"IPv4\\",\\n \\"DstPortRange\\": [\\n 0\\n ],\\n \\"SrcPortRange\\": [\\n 0\\n ]\\n }\\n ],\\n \\"TransitRouterId\\": \\"tr-ccni***\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterAvailableResource' => [
'summary' => 'Queries the zones that are available for an Enterprise Edition transit router in a specified region.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'SupportMulticast',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to query only information about zones that support the multicast feature.'."\n"
."\n"
.'- **true**: Yes.'."\n"
."\n"
.' If you enable this feature and the **ListTransitRouterAvailableResource** operation returns an empty response, it indicates that Enterprise Edition transit routers in the current region do not support the multicast feature.'."\n"
."\n"
.'- **false** (default): No.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B4F480E0-4E76-5E43-9966-8322C28A158A', 'title' => ''],
'SlaveZones' => [
'description' => 'A list of secondary zone IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of a secondary zone.'."\n"
."\n"
.'Call the [DescribeZones](~~36064~~) operation to query information about the zone.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'title' => '',
'example' => '',
],
'MasterZones' => [
'description' => 'A list of primary zone IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of a primary zone.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''],
'title' => '',
'example' => '',
],
'AvailableZones' => [
'description' => 'A list of available zone IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of an available zone.', 'type' => 'string', 'example' => 'cn-hangzhou-i', 'title' => ''],
'title' => '',
'example' => '',
],
'SupportMulticast' => ['description' => 'Indicates whether the returned zones support the multicast feature.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListTransitRouterAvailableResource',
'description' => '- You can call the **ListTransitRouterAvailableResource** operation to query regular zones or zones that support the multicast feature for an Enterprise Edition transit router in a specified region.'."\n"
."\n"
.' - If you do not set the **SupportMulticast** parameter to **true**, the system queries only the regular zones supported by the Enterprise Edition transit router.'."\n"
."\n"
.' - If you set the **SupportMulticast** parameter to **true**, the system queries only the zones that support the multicast feature for the Enterprise Edition transit router.'."\n"
."\n"
.'- On May 31, 2022, Cloud Enterprise Network (CEN) upgraded the connection pattern for Enterprise Edition transit routers and Virtual Private Clouds (VPCs). After the upgrade, you do not need to specify a primary and a secondary zone when you connect an Enterprise Edition transit router to a VPC instance. Instead, you can specify one or more zones.'."\n"
."\n"
.' - If your Enterprise Edition transit router has not been upgraded, you must specify a primary and a secondary zone when you connect the transit router to a VPC instance. After you call the **ListTransitRouterAvailableResource** operation, you can retrieve information about the primary and secondary zones from the **MasterZones** and **SlaveZones** parameters.'."\n"
."\n"
.' - If your Enterprise Edition transit router has been upgraded, you can specify any zone when you connect the transit router to a VPC instance. After you call the **ListTransitRouterAvailableResource** operation, you can retrieve information about the supported zones from the **AvailableZones** parameter.'."\n"
."\n"
.'For more information about the upgrade for Enterprise Edition transit routers, see [Upgrade of the VPC connection pattern for Enterprise Edition transit routers](~~434191~~).',
'changeSet' => [
['createdAt' => '2023-11-22T03:25:48.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2023-03-09T08:42:54.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
['createdAt' => '2022-08-25T08:47:56.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterAvailableResource'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4F480E0-4E76-5E43-9966-8322C28A158A\\",\\n \\"SlaveZones\\": [\\n \\"cn-hangzhou\\"\\n ],\\n \\"MasterZones\\": [\\n \\"cn-hangzhou-h\\"\\n ],\\n \\"AvailableZones\\": [\\n \\"cn-hangzhou-i\\"\\n ],\\n \\"SupportMulticast\\": false\\n}","type":"json"}]',
],
'ListTransitRouterCidr' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
'name' => 'TransitRouterCidrId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CIDR block.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the transit router.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether only to precheck the API request. Valid values:'."\n"
."\n"
.'* **true**: prechecks the request but does not query the CIDR block. The system checks the required parameters, the request format, and the service limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
.'* **false** (default): sends the request. After the request passes the check, the operation is performed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
'CidrLists' => [
'description' => 'The information about the CIDR block.'."\n",
'type' => 'array',
'items' => [
'description' => 'The information about the CIDR block.'."\n",
'type' => 'object',
'properties' => [
'TransitRouterCidrId' => ['description' => 'The ID of the transit router CIDR block.'."\n", 'type' => 'string', 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
'Family' => ['description' => 'The type of the CIDR block.'."\n"
."\n"
.'The value is **IPv4**, which indicates that the CIDR block is of the IPv4 type.'."\n", 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
'Name' => ['description' => 'The name of the CIDR block.'."\n", 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'Description' => ['description' => 'The description of the CIDR block.'."\n", 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'Cidr' => ['description' => 'The CIDR block of the transit router.'."\n", 'type' => 'string', 'example' => '192.168.10.0/24', 'title' => ''],
'PublishCidrRoute' => ['description' => 'Indicates whether the system is allowed to automatically add a route to the route table of the transit router. Valid values:'."\n"
."\n"
.'* **true**'."\n"
."\n"
.' A value of **true** indicates that after you create a private VPN connection and enable route learning for the connection, the system automatically adds a blackhole route to the route table of the transit router to which the VPN connection is attached.'."\n"
."\n"
.' The destination CIDR block of the blackhole route is the CIDR block of the transit router. The CIDR block of the transit router refers to the CIDR block from which gateway IP addresses are allocated to IPsec-VPN connections.'."\n"
."\n"
.' The blackhole route is advertised only to the route table of the virtual border router (VBR) that is connected to the transit router.'."\n"
."\n"
.'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'TransitRouterId' => ['description' => 'The transit router ID.'."\n", 'type' => 'string', 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
'title' => '',
],
'title' => '',
],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterCidr',
'summary' => 'Queries the CIDR blocks of a transit router.',
'changeSet' => [
['createdAt' => '2023-01-04T12:44:56.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-11-24T14:05:32.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterCidr'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\",\\n \\"CidrLists\\": [\\n {\\n \\"TransitRouterCidrId\\": \\"cidr-0zv0q9crqpntzz****\\",\\n \\"Family\\": \\"IPv4\\",\\n \\"Name\\": \\"nametest\\",\\n \\"Description\\": \\"desctest\\",\\n \\"Cidr\\": \\"192.168.10.0/24\\",\\n \\"PublishCidrRoute\\": true,\\n \\"TransitRouterId\\": \\"tr-p0w3x8c9em72a40nw****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\n \\n cidr-0zv0q9crqpntzz****\\n IPv4\\n nametest\\n desctest\\n 192.168.10.0/24\\n true\\n tr-p0w3x8c9em72a40nw****\\n \\n","errorExample":""}]',
],
'ListTransitRouterCidrAllocation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A 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 automatically uses the **request ID** as the **client token**. The **request ID** is different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Transit Router instance.', 'type' => 'string', 'required' => true, 'example' => 'tr-p0w3x8c9em72a40nw****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Transit Router instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterCidrId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CIDR block of the transit router.'."\n"
."\n"
.'You can call the [ListTransitRouterCidr](~~462772~~) operation to query the IDs of the CIDR blocks of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
],
[
'name' => 'CidrBlock',
'in' => 'query',
'schema' => ['description' => 'The allocated CIDR block.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/28', 'title' => ''],
],
[
'name' => 'Cidr',
'in' => 'query',
'schema' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'DedicatedOwnerId',
'in' => 'query',
'schema' => ['description' => 'The dedicated CIDR block.'."\n"
."\n"
.'The only valid value is **VPN**. This value specifies that you want to query the CIDR block that is reserved by the system for creating VPN connections.', 'type' => 'string', 'required' => false, 'example' => 'VPN', 'title' => ''],
],
[
'name' => 'AttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-2nalp6yksc805w****', 'title' => ''],
],
[
'name' => 'AttachmentName',
'in' => 'query',
'schema' => ['description' => 'The name of the network instance connection.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, and service limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): sends a normal request. After the request passes the check, the system queries the allocation details of the CIDR block.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'- If you do not specify this parameter, the query is not paginated.'."\n"
."\n"
.'- If you specify this parameter, the query is paginated. Valid values: **1** to **100**. The recommended value is **20**.'."\n"
."\n"
.' The value of the returned **MaxResults** parameter indicates the number of list entries in the current query batch.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '5', 'example' => '20', 'title' => ''],
],
[
'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"
."\n"
.'- If a next page exists, set the value to the **NextToken** value returned from the previous request.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'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, the value of this parameter indicates the token that is used for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries returned on each page.'."\n"
."\n"
.'- If you did not set the **MaxResults** parameter in the request, this parameter indicates the total number of entries.'."\n"
."\n"
.'- If you set the **MaxResults** parameter in the request, this parameter indicates the number of entries on the current page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TransitRouterCidrAllocations' => [
'description' => 'A list of CIDR block allocations.',
'type' => 'array',
'items' => [
'description' => 'The details of the CIDR block allocation.',
'type' => 'object',
'properties' => [
'TransitRouterCidrId' => ['description' => 'The ID of the CIDR block of the transit router.', 'type' => 'string', 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
'AllocatedCidrBlock' => ['description' => 'The allocated CIDR block.', 'type' => 'string', 'example' => '192.168.10.0/28', 'title' => ''],
'AttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-2nalp6yksc805w****', 'title' => ''],
'Cidr' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'example' => '192.168.10.0/24', 'title' => ''],
'AttachmentName' => ['description' => 'The name of the network instance connection.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The parameter NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value. Check the value and try again.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The parameter TransitRouterId or RegionId is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterCidrAllocation',
'summary' => 'Queries the allocation details of a CIDR block.',
'changeSet' => [
['createdAt' => '2023-08-04T05:57:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterCidrAllocation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterCidrAllocation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 1,\\n \\"TransitRouterCidrAllocations\\": [\\n {\\n \\"TransitRouterCidrId\\": \\"cidr-0zv0q9crqpntzz****\\",\\n \\"AllocatedCidrBlock\\": \\"192.168.10.0/28\\",\\n \\"AttachmentId\\": \\"tr-attach-2nalp6yksc805w****\\",\\n \\"Cidr\\": \\"192.168.10.0/24\\",\\n \\"AttachmentName\\": \\"nametest\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterEcrAttachments' => [
'summary' => 'Queries the information about Express Connect Router (ECR) connections on an Enterprise Edition transit router, such as the connection status, connection ID, and the payer of instance fees.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the transit router.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the ECR connection.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tr-6ehx7q2jze8ch5ji0****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'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.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify at most 20 tags.'."\n",
'type' => 'array',
'items' => [
'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. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify at most 20 tag keys in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string. The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each key-value must be unique. You can specify at most 20 tag values in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '461EC1B5-04A8-4706-8764-8F5BCEF48A6F', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'TransitRouterAttachments' => [
'description' => 'The information about the ECR connections.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the ECR connection was created.'."\n"
."\n"
.'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' => '2021-06-15T02:14Z', 'title' => ''],
'Status' => ['description' => 'The status of the ECR connection. Valid values:'."\n"
."\n"
.'* **Attached**'."\n"
.'* **Attaching**'."\n"
.'* **Detaching**'."\n", 'type' => 'string', 'example' => 'Attached', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the ECR connection.'."\n", 'type' => 'string', 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the Enterprise Edition transit router.'."\n", 'type' => 'string', 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
'ResourceType' => ['description' => 'The type of resource to which the transit router is connected. Valid values:'."\n"
."\n"
.'The value is **ECR**, which indicates ECR connections.'."\n", 'type' => 'string', 'example' => 'ECR', 'title' => ''],
'TransitRouterRegionId' => ['description' => 'The region ID of the transit router.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.'."\n", 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''],
'TransitRouterAttachmentDescription' => ['description' => 'The description of the ECR connection.'."\n", 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'EcrOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the ECR connection belongs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1688111111111111', 'title' => ''],
'AutoPublishRouteEnabled' => ['description' => 'Indicates whether the Enterprise Edition transit router can automatically advertise routes to ECRs.'."\n"
."\n"
.'The value is **true**, which indicates that the Enterprise Edition transit router can automatically advertise routes to ECRs.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'EcrId' => ['description' => 'The ID of the ECR with which the ECR connection is associated.'."\n", 'type' => 'string', 'example' => 'ecr-n78omt2qsko06y****', 'title' => ''],
'TransitRouterAttachmentName' => ['description' => 'The name of the ECR connection.'."\n", 'type' => 'string', 'example' => 'testname', 'title' => ''],
'Tags' => [
'description' => 'The tags.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
],
'description' => '',
'title' => '',
],
'title' => '',
],
'CenId' => ['description' => 'The ID of the CEN instance.'."\n", 'type' => 'string', 'example' => 'cen-j3jzhw1zpau2km****'."\n", 'title' => ''],
'OrderType' => ['description' => 'The entity that pays the fees of the network instance. Valid values: Valid values:'."\n"
."\n"
.'* **PayByCenOwner**: The Alibaba Cloud account to which the transit router belongs pays the connection and data forwarding fees of the ECR.'."\n"
.'* **PayByResourceOwner**: The Alibaba Cloud account to which the ECR belongs pays the connection and data forwarding fees of the ECR.'."\n", 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
],
'description' => '',
'title' => '',
],
'title' => '',
],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TransitRouter is invalid.', 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is invalid.', 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The specified TransitRouterId is invalid.', 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['errorCode' => 'IllegalParam.CenIdOrRegionId', 'errorMessage' => 'The specified CenId or RegionId is invalid.', 'description' => 'The error message returned because the specified CEN instance ID or region ID is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListTransitRouterEcrAttachments',
'description' => 'You can use the following methods to query ECR connection information:'."\n"
."\n"
.'* Specify the ID of an Enterprise Edition transit router.'."\n"
.'* Specify the ID of an Enterprise Edition transit router and the ID of the region in which the Enterprise Edition transit router is deployed.'."\n"
.'* Configure the **TransitRouterAttachmentId** parameter to specify the ECR connection that you want to query.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterEcrAttachments'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterEcrAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"461EC1B5-04A8-4706-8764-8F5BCEF48A6F\\",\\n \\"TotalCount\\": 4,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterAttachments\\": [\\n {\\n \\"CreationTime\\": \\"2021-06-15T02:14Z\\",\\n \\"Status\\": \\"Attached\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-nls9fzkfat8934****\\",\\n \\"TransitRouterId\\": \\"tr-bp1su1ytdxtataupl****\\",\\n \\"ResourceType\\": \\"ECR\\",\\n \\"TransitRouterRegionId\\": \\"cn-shanghai\\",\\n \\"TransitRouterAttachmentDescription\\": \\"desctest\\",\\n \\"EcrOwnerId\\": 1688111111111111,\\n \\"AutoPublishRouteEnabled\\": true,\\n \\"EcrId\\": \\"ecr-n78omt2qsko06y****\\",\\n \\"TransitRouterAttachmentName\\": \\"testname\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\\\n\\",\\n \\"OrderType\\": \\"PayByCenOwner\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterMulticastDomainAssociations' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token from your client to ensure that it is unique among different requests. The ClientToken parameter can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-p90y3ymbbwuvy5****', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of vSwitch IDs.',
'type' => 'array',
'items' => ['description' => 'The vSwitch ID.'."\n"
."\n"
.'You can specify up to 20 vSwitch IDs.', 'type' => 'string', 'required' => false, 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of resource associated with the multicast domain.'."\n"
."\n"
.'The value is **VPC**.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource associated with the multicast domain.', 'type' => 'string', 'required' => false, 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that determines the start point of the next query. Valid values:'."\n"
."\n"
.'- If this is your first query and no next query is to be sent, ignore this parameter.'."\n"
."\n"
.'- If a next query is to be sent, set the value to the NextToken value returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1CD0969B-A605-5D2D-BFF0-699FD182FB7F', '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' => 'The token for the next query. Valid values:'."\n"
."\n"
.'- If **NextToken** is empty, it indicates that no next query is to be sent.'."\n"
."\n"
.'- If a value is returned for **NextToken**, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'TransitRouterMulticastAssociations' => [
'description' => 'The list of associations.',
'type' => 'array',
'items' => [
'description' => 'The information about the association.',
'type' => 'object',
'properties' => [
'TransitRouterMulticastDomainId' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-p90y3ymbbwuvy5****', 'title' => ''],
'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-p0wxk12u6okfkr8xy****', 'title' => ''],
'Status' => ['description' => 'The association status.'."\n"
."\n"
.'- **Associated**: The resource is associated with the multicast domain.'."\n"
."\n"
.'- **Associating**: The resource is being associated with the multicast domain.'."\n"
."\n"
.'- **Dissociating**: The resource is being dissociated from the multicast domain.', 'type' => 'string', 'example' => 'Dissociating', 'title' => ''],
'ResourceType' => ['description' => 'The type of resource associated with the multicast domain.'."\n"
."\n"
.'The value is **VPC**.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'ResourceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the resource associated with the multicast domain belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''],
'ResourceId' => ['description' => 'The ID of the resource associated with the multicast domain.', 'type' => 'string', 'example' => 'vpc-p0w9b7g9l90yofr0n****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is illegal.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterMulticastDomainId', 'errorMessage' => 'The specified TransitRouterMulticastDomainId is illegal.', 'description' => 'The error message returned because the specified multicast domain ID specified for the transit router (TransitRouterMulticastDomainId) is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterMulticastDomainAssociations',
'summary' => 'You can call the ListTransitRouterMulticastDomainAssociations operation to query the associations between multicast domains and vSwitches.',
'description' => '- When you call this operation, you must specify either the **TransitRouterMulticastDomainId** or **TransitRouterAttachmentId** request parameter. If you specify **TransitRouterAttachmentId**, the system queries the vSwitches that are associated with the multicast domain in the VPC. If you specify **TransitRouterMulticastDomainId**, the system queries the vSwitches that are associated with the specified multicast domain.'."\n"
."\n"
.'- When you call the **ListTransitRouterMulticastDomainAssociations** operation, you must provide valid parameter values. If you provide an invalid parameter, the system returns a **RequestId** but does not return the association between the multicast domain and the vSwitch.',
'changeSet' => [
['createdAt' => '2023-08-04T05:57:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-20T11:27:30.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastDomainAssociations'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastDomainAssociations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1CD0969B-A605-5D2D-BFF0-699FD182FB7F\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TransitRouterMulticastAssociations\\": [\\n {\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-91wpg6wbhchjeq****\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-p90y3ymbbwuvy5****\\",\\n \\"VSwitchId\\": \\"vsw-p0wxk12u6okfkr8xy****\\",\\n \\"Status\\": \\"Dissociating\\",\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceOwnerId\\": 1210123456123456,\\n \\"ResourceId\\": \\"vpc-p0w9b7g9l90yofr0n****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterMulticastDomainVSwitches' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'cen-44m0p68spvlrqq****'],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC instance.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'vpc-p0wr1cd4fcuxy3ui0****'],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of vSwitch IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch.'."\n"
."\n"
.'You can specify up to 50 vSwitch IDs at a time.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vsw-p0w5ejr9bzfsttiza****'],
'required' => false,
'maxItems' => 50,
'title' => '',
],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Minimum value: **0**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => '20'],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token for the next query. Valid values:'."\n"
."\n"
.'- You do not need to specify this parameter for the first query or if there is no next query.'."\n"
.'- If there is a next query, set the value to the **NextToken** value that is returned from the previous API call.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned result.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token for the next query. Valid values:'."\n"
."\n"
.'- If **NextToken** is empty, there is no next query.'."\n"
.'- If **NextToken** has a return value, the value is the token for the next query.', 'type' => 'string', 'title' => '', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'B0E7E43C-979A-5130-AA0D-B3ADA69E0827'],
'TotalCount' => ['description' => 'The number of entries in the list.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '2'],
'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'],
'VSwitchIds' => [
'description' => 'The list of vSwitch IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'title' => '', 'example' => 'vsw-p0w5ejr9bzfsttiza****'],
'maxItems' => 50,
'title' => '',
],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TransitRouter is invalid.', 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'InvalidCenId.NotFound', 'errorMessage' => 'CenId is not found.', 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterMulticastDomainVSwitches',
'summary' => 'After a VPC instance is connected to an Enterprise Edition transit router, you can call the ListTransitRouterMulticastDomainVSwitches operation to query information about vSwitches that are attached to multicast domains in the virtual private cloud (VPC) instance.',
'description' => 'When you call the ListTransitRouterMulticastDomainVSwitches operation, ensure that the parameter values are correct. If you enter incorrect parameter values, the operation returns a RequestId but does not display information about vSwitches that are attached to multicast domains in the VPC instance.',
'changeSet' => [
['createdAt' => '2023-08-04T05:57:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-04-29T02:13:02.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastDomainVSwitches'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastDomainVSwitches',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"B0E7E43C-979A-5130-AA0D-B3ADA69E0827\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 20,\\n \\"VSwitchIds\\": [\\n \\"vsw-p0w5ejr9bzfsttiza****\\"\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterMulticastDomains' => [
'summary' => 'Call the ListTransitRouterMulticastDomains operation to query information about multicast domains, such as their statuses, IDs, and descriptions.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129152',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnNFSCZP'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a token that is unique among different requests. The token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cen-a7syd349kne38g****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-p0wr9p28r92d598y6****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-3r3bvbypxqheej****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Default value: **20**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query or no next query is to be sent, leave this parameter empty.'."\n"
."\n"
.'- If a next query is to be sent, set the value to the NextToken value returned from the last call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a corresponding tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '8A0F93D1-FD6C-56FC-B6D2-668FC92D12D2', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'NextToken' => ['description' => 'The token for the next query.'."\n"
."\n"
.'- If the value of **NextToken** is empty, it indicates that 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', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'TransitRouterMulticastDomains' => [
'description' => 'The list of multicast domains.',
'type' => 'array',
'items' => [
'description' => 'The details of the multicast domain.',
'type' => 'object',
'properties' => [
'TransitRouterMulticastDomainId' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'example' => 'tr-mcast-domain-3r3bvbypxqheej****', 'title' => ''],
'TransitRouterMulticastDomainName' => ['description' => 'The name of the multicast domain.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'TransitRouterMulticastDomainDescription' => ['description' => 'The description of the multicast domain.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'Status' => ['description' => 'The status of the multicast domain.'."\n"
."\n"
.'The value is **Active**, which indicates that the multicast domain is available.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'Tags' => [
'description' => 'The list of tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TagValue', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'TransitRouterId' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'example' => 'tr-bp1c23ijrl6d6c226h***', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-h19xdb0qy2b3ir****', 'title' => ''],
'Options' => [
'description' => 'The options of the multicast domain.',
'type' => 'object',
'properties' => [
'Igmpv2Support' => ['description' => 'Indicates whether IGMPv2 is enabled for the multicast domain.', 'type' => 'string', 'example' => 'enable', 'title' => ''],
'StrictSourceControl' => ['type' => 'string', 'description' => '', 'example' => 'enable', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is illegal.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TrInstance is illegal.', 'description' => 'The error message returned because the specified transit router is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is illegal.', 'description' => 'The error message returned because the specified CEN instance ID is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListTransitRouterMulticastDomains',
'description' => '- You must specify both RegionId and CenId. If you specify only RegionId, no information about multicast domains is returned. You can also specify TransitRouterId or TransitRouterMulticastDomainId individually.'."\n"
."\n"
.'- Ensure that you specify valid parameter values. If you specify an invalid parameter, the system returns a **RequestId** but does not return the details of the multicast domain.',
'changeSet' => [
['createdAt' => '2025-01-06T03:35:55.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-08-04T05:57:53.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-07-13T05:34:14.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-02T03:57:37.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-11-22T08:58:43.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-09-20T11:27:30.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastDomains'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastDomains',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/*'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8A0F93D1-FD6C-56FC-B6D2-668FC92D12D2\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TransitRouterMulticastDomains\\": [\\n {\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-3r3bvbypxqheej****\\",\\n \\"TransitRouterMulticastDomainName\\": \\"nametest\\",\\n \\"TransitRouterMulticastDomainDescription\\": \\"desctest\\",\\n \\"Status\\": \\"Active\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ],\\n \\"TransitRouterId\\": \\"tr-bp1c23ijrl6d6c226h***\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"CenId\\": \\"cen-h19xdb0qy2b3ir****\\",\\n \\"Options\\": {\\n \\"Igmpv2Support\\": \\"enable\\",\\n \\"StrictSourceControl\\": \\"enable\\"\\n }\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterMulticastGroups' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '129165',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a unique value from your client for each request. The \\`ClientToken\\` parameter can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.'."\n"
."\n"
.'You must specify \\`TransitRouterMulticastDomainId\\` or \\`TransitRouterAttachmentId\\`.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', 'title' => ''],
],
[
'name' => 'GroupIpAddress',
'in' => 'query',
'schema' => ['description' => 'The IP address of the multicast group.'."\n"
."\n"
.'Each multicast group is identified by a multicast IP address.', 'type' => 'string', 'required' => false, 'example' => '239.XX.XX.2', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.'."\n"
."\n"
.'You must specify \\`TransitRouterMulticastDomainId\\` or \\`TransitRouterAttachmentId\\`.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-g3kz2k3u76amsk****', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of vSwitch IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the vSwitch.'."\n"
."\n"
.'You can specify a maximum of 20 vSwitch IDs.', 'type' => 'string', 'required' => false, 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'PeerTransitRouterMulticastDomains',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of IDs of cross-region multicast domains.',
'type' => 'array',
'items' => ['description' => 'The ID of a cross-region multicast domain.'."\n"
."\n"
.'You can specify a maximum of 20 cross-region multicast domain IDs.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the multicast resource.'."\n"
."\n"
.'- **VPC**: queries information about multicast resources in a VPC.'."\n"
."\n"
.'- **TR**: queries information about cross-region multicast resources.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource associated with the multicast resource.', 'type' => 'string', 'required' => false, 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token for the next page of results.'."\n"
."\n"
.'- If this is your first query or if no next page exists, do not specify this parameter.'."\n"
."\n"
.'- If a next page exists, set this parameter to the \\`NextToken\\` value that is returned from the previous call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'IsGroupSource',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to query multicast sources.'."\n"
."\n"
.'- **false**: No.'."\n"
."\n"
.'- **true**: Yes.'."\n"
."\n"
.'> This parameter works with \\`IsGroupMember\\`.'."\n"
.'>'."\n"
.'> - If you do not specify \\`IsGroupSource\\` or \\`IsGroupMember\\`, the system queries both multicast sources and members.'."\n"
.'>'."\n"
.'> - If you specify one or both parameters, the system queries resources based on the specified parameters.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'IsGroupMember',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to query multicast members.'."\n"
."\n"
.'- **false**: No.'."\n"
."\n"
.'- **true**: Yes.'."\n"
."\n"
.'> This parameter works with \\`IsGroupSource\\`.'."\n"
.'>'."\n"
.'> - If you do not specify \\`IsGroupMember\\` or \\`IsGroupSource\\`, the system queries both multicast members and sources.'."\n"
.'>'."\n"
.'> - If you specify one or both parameters, the system queries resources based on the specified parameters.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'NetworkInterfaceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of Elastic Network Interface (ENI) IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the ENI.'."\n"
."\n"
.'You can specify a maximum of 20 ENI IDs.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response object.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FB3C4A16-0933-5850-9D43-0C3EA37BCBFB', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'NextToken' => ['description' => 'The token for the next page of results.'."\n"
."\n"
.'- If **NextToken** is empty, no next page exists.'."\n"
."\n"
.'- If a value is returned for **NextToken**, the value is the token for the next page.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'TransitRouterMulticastGroups' => [
'description' => 'A list of multicast groups.',
'type' => 'array',
'items' => [
'description' => 'The details of the multicast group.',
'type' => 'object',
'properties' => [
'GroupIpAddress' => ['description' => 'The IP address of the multicast group.', 'type' => 'string', 'example' => '239.XX.XX.2', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-g3kz2k3u76amsk****', 'title' => ''],
'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-p0w9s2ig1jnwgrbzl****', 'title' => ''],
'NetworkInterfaceId' => ['description' => 'The ID of the ENI. The ENI is the multicast resource.', 'type' => 'string', 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'PeerTransitRouterMulticastDomainId' => ['description' => 'The ID of the multicast domain that is associated with the cross-region multicast resource.', 'type' => 'string', 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
'Status' => ['description' => 'The status of the multicast resource.'."\n"
."\n"
.'- **Registering**: The resource is being created.'."\n"
."\n"
.'- **Registered**: The resource is available.'."\n"
."\n"
.'- **Deregistering**: The resource is being deleted.', 'type' => 'string', 'example' => 'Registered', 'title' => ''],
'GroupSource' => ['description' => 'Indicates whether the multicast resource is a multicast source.'."\n"
."\n"
.'- **true**: The resource is a multicast source.'."\n"
."\n"
.'- **false**: The resource is not a multicast source.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'GroupMember' => ['description' => 'Indicates whether the multicast resource is a multicast member.'."\n"
."\n"
.'- **true**: The resource is a multicast member.'."\n"
."\n"
.'- **false**: The resource is not a multicast member.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'MemberType' => ['description' => 'The type of the multicast member.'."\n"
."\n"
.'- **Static**: The multicast member is manually specified.'."\n"
."\n"
.'- **IGMPv2**: The multicast member dynamically joins the multicast group based on Internet Group Management Protocol Version 2 (IGMPv2).', 'type' => 'string', 'example' => 'Static', 'title' => ''],
'SourceType' => ['description' => 'The type of the multicast source.'."\n"
."\n"
.'- **Static**: The multicast source is manually specified.'."\n"
."\n"
.'- **IGMPv2**: The multicast source dynamically joins the multicast group based on IGMPv2.', 'type' => 'string', 'example' => 'Static', 'title' => ''],
'ResourceType' => ['description' => 'The type of the multicast resource.'."\n"
."\n"
.'- **VPC**: The multicast resource is in a VPC.'."\n"
."\n"
.'- **TR**: The multicast resource is a cross-region resource.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'ResourceOwnerId' => ['description' => 'The ID of the Alibaba Cloud account that owns the multicast resource.', 'type' => 'integer', 'format' => 'int64', 'example' => '11081188765****', 'title' => ''],
'ResourceId' => ['description' => 'The ID of the resource associated with the multicast resource.', 'type' => 'string', 'example' => 'vpc-p0w9alkte4w2htrqe****', 'title' => ''],
'TransitRouterMulticastDomainId' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'example' => 'tr-mcast-domain-kx0vk0v7fz8kx4****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is illegal.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterMulticastDomainId', 'errorMessage' => 'The specified TransitRouterMulticastDomainId is illegal.', 'description' => 'The error message returned because the specified multicast domain ID specified for the transit router (TransitRouterMulticastDomainId) is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'IllegalParam.TransitRouterAttachmentId', 'errorMessage' => 'TransitRouterAttachmentId is illegal.', 'description' => 'The error message returned because the specified transit router is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterMulticastGroups',
'summary' => 'Queries details about multicast members and sources in a multicast domain.',
'description' => 'You can call the `ListTransitRouterMulticastGroups` operation to query information about multicast members and sources. These are collectively referred to as multicast resources.'."\n"
."\n"
.'- If you specify the **GroupIpAddress** parameter, you can query information about the multicast resources in a specific multicast group.'."\n"
."\n"
.'- If you specify the **VSwitchIds** parameter, you can query information about the multicast resources on specific vSwitches.'."\n"
."\n"
.'- If you specify the **PeerTransitRouterMulticastDomains** parameter, you can query information about cross-region multicast resources.'."\n"
."\n"
.'- If you specify the **ResourceType** parameter, you can query information about multicast resources of a specific resource type.'."\n"
."\n"
.'- If you specify the **ResourceId** parameter, you can query information about the multicast resources on a specific resource.'."\n"
."\n"
.'- If you specify only the **TransitRouterMulticastDomainId** parameter, you can query information about all multicast resources in the multicast domain.',
'changeSet' => [
['createdAt' => '2023-08-04T05:57:54.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:57:36.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-01T17:08:05.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-18T02:54:51.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastGroups'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FB3C4A16-0933-5850-9D43-0C3EA37BCBFB\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"TransitRouterMulticastGroups\\": [\\n {\\n \\"GroupIpAddress\\": \\"239.XX.XX.2\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-g3kz2k3u76amsk****\\",\\n \\"VSwitchId\\": \\"vsw-p0w9s2ig1jnwgrbzl****\\",\\n \\"NetworkInterfaceId\\": \\"eni-p0weuda3lszwzjly****\\",\\n \\"PeerTransitRouterMulticastDomainId\\": \\"tr-mcast-domain-91wpg6wbhchjeq****\\",\\n \\"Status\\": \\"Registered\\",\\n \\"GroupSource\\": false,\\n \\"GroupMember\\": true,\\n \\"MemberType\\": \\"Static\\",\\n \\"SourceType\\": \\"Static\\",\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceOwnerId\\": 0,\\n \\"ResourceId\\": \\"vpc-p0w9alkte4w2htrqe****\\",\\n \\"TransitRouterMulticastDomainId\\": \\"tr-mcast-domain-kx0vk0v7fz8kx4****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterPeerAttachments' => [
'summary' => 'Call the ListTransitRouterPeerAttachments operation to query details about the inter-region connections of an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '72394',
'abilityTreeNodes' => ['FEATUREcbnFWWHEY'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.'."\n"
."\n"
.'For more information, see [DescribeRegions](~~36063~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-5u4qbayfv2io5v****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **100**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query or no next query is to be sent, do not specify this parameter.'."\n"
."\n"
.'- If a next query is to be sent, set the value to the **NextToken** value returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this parameter is empty, no more data is returned.'."\n"
."\n"
.'- If a value is returned for this parameter, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'dd20****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AA97AFA3-8E48-4BD7-9F3E-A9F6176018A0', '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' => ''],
'TransitRouterAttachments' => [
'description' => 'A list of inter-region connections.',
'type' => 'array',
'items' => [
'description' => 'The details of the inter-region connection.',
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the inter-region connection was created.'."\n"
."\n"
.'The time is displayed in the ISO 8601 standard in the `YYYY-MM-DDThh:mmZ` format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-06-16T02:50Z', 'title' => ''],
'Status' => ['description' => 'The status of the inter-region connection.'."\n"
."\n"
.'- **Attached**: The connection is attached.'."\n"
."\n"
.'- **Attaching**: The connection is being attached.'."\n"
."\n"
.'- **Detaching**: The connection is being detached.'."\n"
."\n"
.'- **Detached**: The connection is detached.', 'type' => 'string', 'example' => 'Attached', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'example' => 'tr-attach-5u4qbayfv2io5v****', 'title' => ''],
'BandwidthType' => ['description' => 'The bandwidth allocation method. Valid values:'."\n"
."\n"
.'- **BandwidthPackage**: Bandwidth is allocated from a bandwidth plan.'."\n"
."\n"
.'- **DataTransfer**: The inter-region connection is not allocated a specific bandwidth and is billed on a pay-by-traffic basis.', 'type' => 'string', 'example' => 'BandwidthPackage', 'title' => ''],
'CenBandwidthPackageId' => ['description' => 'The ID of the bandwidth plan that is associated with the inter-region connection.', 'type' => 'string', 'example' => 'cenbwp-3xrxupouolw5ou****', 'title' => ''],
'TransitRouterAttachmentDescription' => ['description' => 'The description of the inter-region connection.', 'type' => 'string', 'example' => 'testdesc', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'PeerTransitRouterId' => ['description' => 'The ID of the peer transit router.', 'type' => 'string', 'example' => 'tr-m5eq27g6bndum7e88****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
'PeerTransitRouterRegionId' => ['description' => 'The ID of the region where the peer transit router is deployed.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''],
'ResourceType' => ['description' => 'The type of resource that is associated with the connection.'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC).'."\n"
."\n"
.'- **CCN**: Cloud Connect Network (CCN) instance.'."\n"
."\n"
.'- **VBR**: virtual border router (VBR).'."\n"
."\n"
.'- **TR**: transit router.', 'type' => 'string', 'example' => 'TR', 'title' => ''],
'Bandwidth' => ['description' => 'The bandwidth of the inter-region connection. Unit: Mbit/s.'."\n"
."\n"
.'- If **BandwidthType** is set to **BandwidthPackage**, this parameter indicates the bandwidth that is allocated to the inter-region connection.'."\n"
."\n"
.'- If **BandwidthType** is set to **DataTransfer**, this parameter indicates the maximum bandwidth of the inter-region connection.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'GeographicSpanId' => ['description' => 'The connected areas of the bandwidth plan.', 'type' => 'string', 'example' => 'china_china', 'title' => ''],
'PeerTransitRouterOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the peer transit router belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '253460731706911258', 'title' => ''],
'AutoPublishRouteEnabled' => ['description' => 'Indicates whether the Enterprise Edition transit router automatically advertises routes to the peer region.'."\n"
."\n"
.'- **false** (default): No.'."\n"
."\n"
.'- **true**: Yes.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'TransitRouterAttachmentName' => ['description' => 'The name of the inter-region connection.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'Tags' => [
'description' => 'The list of tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'tag_A1', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
'description' => 'The tags.',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-j3jzhw1zpau2km****'."\n", 'title' => ''],
'DefaultLinkType' => ['description' => 'The default link type.'."\n"
."\n"
.'- **Gold** (default): Gold.'."\n"
."\n"
.'- **Platinum**: Platinum.', 'type' => 'string', 'example' => 'Gold', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TransitRouter is invalid.', 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is invalid.', 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The specified TransitRouterId is invalid.', 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['errorCode' => 'IllegalParam.RegionIdOrTransitRouterId', 'errorMessage' => 'The specified TransitRouterId or RegionId is invalid.', 'description' => 'The error message returned because the specified transit router ID or region is invalid.'],
['errorCode' => 'IllegalParam.CenIdOrRegionId', 'errorMessage' => 'The specified CenId or RegionId is invalid.', 'description' => 'The error message returned because the specified CEN instance ID or region ID is invalid.'],
['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterPeerAttachments',
'description' => 'You can query information about the inter-region connections of an Enterprise Edition transit router in one of the following ways:'."\n"
."\n"
.'- Query by the ID of the Enterprise Edition transit router instance.'."\n"
."\n"
.'- Query by the ID of the Cloud Enterprise Network (CEN) instance and the region ID of the transit router instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-06-06T13:54:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-06T02:27:31.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-10-18T11:43:15.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2023-10-18T01:14:21.000Z', 'description' => 'Request parameters changed, Response parameters changed, Response parameters changed'],
['createdAt' => '2023-03-01T06:50:32.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
['createdAt' => '2022-12-16T05:33:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-11-21T06:21:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-13T03:26:01.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterPeerAttachments'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterPeerAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"dd20****\\",\\n \\"RequestId\\": \\"AA97AFA3-8E48-4BD7-9F3E-A9F6176018A0\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterAttachments\\": [\\n {\\n \\"CreationTime\\": \\"2021-06-16T02:50Z\\",\\n \\"Status\\": \\"Attached\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-5u4qbayfv2io5v****\\",\\n \\"BandwidthType\\": \\"BandwidthPackage\\",\\n \\"CenBandwidthPackageId\\": \\"cenbwp-3xrxupouolw5ou****\\",\\n \\"TransitRouterAttachmentDescription\\": \\"testdesc\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"PeerTransitRouterId\\": \\"tr-m5eq27g6bndum7e88****\\",\\n \\"TransitRouterId\\": \\"tr-bp1su1ytdxtataupl****\\",\\n \\"PeerTransitRouterRegionId\\": \\"cn-qingdao\\",\\n \\"ResourceType\\": \\"TR\\",\\n \\"Bandwidth\\": 2,\\n \\"GeographicSpanId\\": \\"china_china\\",\\n \\"PeerTransitRouterOwnerId\\": 253460731706911260,\\n \\"AutoPublishRouteEnabled\\": false,\\n \\"TransitRouterAttachmentName\\": \\"test\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"tag_A1\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\\\n\\",\\n \\"DefaultLinkType\\": \\"Gold\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterPrefixListAssociation' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the transit router.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-6ehx7q2jze8ch5ji0****', 'title' => ''],
],
[
'name' => 'TransitRouterTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the transit router.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'PrefixListId',
'in' => 'query',
'schema' => ['description' => 'The ID of the prefix list.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'pl-6ehtn5kqxgeyy08fi****', 'title' => ''],
],
[
'name' => 'OwnerUid',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the prefix list belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'docRequired' => false, 'example' => '1210123456123456', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Maximum value: **100**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'NextHop',
'in' => 'query',
'schema' => ['description' => 'The ID of the next hop connection.'."\n"
."\n"
.'> If you want to query information about the prefix list that is used to generate blackhole routes, set this parameter to **BlackHole**.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-flbq507rg2ckrj****', 'title' => ''],
],
[
'name' => 'NextHopType',
'in' => 'query',
'schema' => ['description' => 'The next hop type. Valid values:'."\n"
."\n"
.'- **BlackHole**: queries the prefix lists that generate blackhole routes.'."\n"
."\n"
.'- **VPC**: queries the prefix lists whose next hop is a Virtual Private Cloud (VPC) connection.'."\n"
."\n"
.'- **VBR**: queries the prefix lists whose next hop is a virtual border router (VBR) connection.'."\n"
."\n"
.'- **TR**: queries the prefix lists whose next hop is an inter-region connection.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'NextHopInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance that is associated with the next hop connection.', 'type' => 'string', 'required' => false, 'example' => 'vpc-6eh7fp9hdqa2wv85t****', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the prefix list.'."\n"
."\n"
.'- **Active**: The prefix list is active.'."\n"
."\n"
.'- **Updating**: The prefix list is being updated.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6005CA94-676E-1FEE-985E-7602EFAADD6A', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PrefixLists' => [
'description' => 'The information about the prefix lists.',
'type' => 'array',
'items' => [
'description' => 'The information about the prefix list.',
'type' => 'object',
'properties' => [
'PrefixListId' => ['description' => 'The ID of the prefix list.', 'type' => 'string', 'example' => 'pl-6ehtn5kqxgeyy08fi****', 'title' => ''],
'OwnerUid' => ['description' => 'The ID of the Alibaba Cloud account to which the prefix list belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''],
'Status' => ['description' => 'The status of the prefix list.'."\n"
."\n"
.'- **Active**: The prefix list is active.'."\n"
."\n"
.'- **Updating**: The prefix list is being updated.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'NextHop' => ['description' => 'The ID of the next hop connection.'."\n"
."\n"
.'> If **BlackHole** is returned, it indicates that all CIDR blocks in the prefix list are blackhole routes. All traffic destined for the CIDR blocks in the prefix list is dropped.', 'type' => 'string', 'example' => 'tr-attach-flbq507rg2ckrj****', 'title' => ''],
'NextHopInstanceId' => ['description' => 'The ID of the network instance that is associated with the next hop connection.', 'type' => 'string', 'example' => 'vpc-6eh7fp9hdqa2wv85t****', 'title' => ''],
'NextHopType' => ['description' => 'The next hop type.'."\n"
."\n"
.'- **BlackHole**: The routes are blackhole routes. All traffic destined for the CIDR blocks in the prefix list is dropped.'."\n"
."\n"
.'- **VPC**: The next hop is a Virtual Private Cloud (VPC) connection.'."\n"
."\n"
.'- **VBR**: The next hop is a virtual border router (VBR) connection.'."\n"
."\n"
.'- **TR**: The next hop is an inter-region connection.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'TransitRouterTableId' => ['description' => 'The ID of the route table of the transit router.', 'type' => 'string', 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'example' => 'tr-6ehx7q2jze8ch5ji0****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
[],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterPrefixListAssociation',
'summary' => 'Queries the prefix list associations for the route table of an Enterprise Edition transit router.',
'changeSet' => [
['createdAt' => '2022-10-27T15:44:20.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-09-23T07:43:54.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterPrefixListAssociation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterPrefixListAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6005CA94-676E-1FEE-985E-7602EFAADD6A\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"PrefixLists\\": [\\n {\\n \\"PrefixListId\\": \\"pl-6ehtn5kqxgeyy08fi****\\",\\n \\"OwnerUid\\": 1210123456123456,\\n \\"Status\\": \\"Active\\",\\n \\"NextHop\\": \\"tr-attach-flbq507rg2ckrj****\\",\\n \\"NextHopInstanceId\\": \\"vpc-6eh7fp9hdqa2wv85t****\\",\\n \\"NextHopType\\": \\"VPC\\",\\n \\"TransitRouterTableId\\": \\"vtb-6ehgc262hr170qgyc****\\",\\n \\"TransitRouterId\\": \\"tr-6ehx7q2jze8ch5ji0****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterRouteEntries' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72395',
'abilityTreeNodes' => ['FEATUREcbnIIZZGE'],
],
'parameters' => [
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '20', 'title' => '', 'example' => '20'],
],
[
'name' => 'TransitRouterRouteEntryDestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route. **This parameter is to be deprecated. We recommend that you use the RouteFilter parameter**.', 'type' => 'string', 'deprecated' => true, 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '192.168.0.0/24'],
],
[
'name' => 'TransitRouterRouteEntryStatus',
'in' => 'query',
'schema' => ['description' => 'The status of the route. Valid values:'."\n"
."\n"
.'- **All**'."\n"
.'- **Active** (default)'."\n"
.'- **Rejected**'."\n"
.'- **Prohibited**'."\n"
.'- **Standby**'."\n"
.'- **Candidate**'."\n"
."\n"
.'If you do not specify a value, routes in the active state are queried.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Active'],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vtb-bp1dudbh2d5na6b50****'],
],
[
'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, 'title' => '', 'example' => 'fce19****'],
],
[
'name' => 'TransitRouterRouteEntryNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The route name.',
'type' => 'array',
'items' => ['description' => 'The route name.'."\n"
."\n"
.'The name is optional. If you enter a name, it must be 1 to 128 characters in length, and cannot start with http\\:// or https\\://.'."\n"
."\n"
.'> You can use this parameter to query only static routes in the specified route table. This parameter conflicts with other query conditions except for TransitRouterRouteEntryIds.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testname'],
'required' => false,
'example' => 'testname',
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'TransitRouterRouteEntryIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The route ID.',
'type' => 'array',
'items' => ['description' => 'The route ID.'."\n"
."\n"
.'> You can use this parameter to query only static routes in the specified route table. This parameter conflicts with other query conditions except for TransitRouterRouteEntryNames.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'rte-oklkgwmj97z6dn****'],
'required' => false,
'example' => 'rte-oklkgwmj97z6dn****',
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'TransitRouterRouteEntryType',
'in' => 'query',
'schema' => ['description' => 'The route type. Valid values:'."\n"
."\n"
.'- **Propagated**: automatically learned by the route table.'."\n"
.'- **Static**: static routes.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Propagated'],
],
[
'name' => 'TransitRouterRouteEntryNextHopType',
'in' => 'query',
'schema' => ['description' => 'The next hop type. Valid values:'."\n"
."\n"
.'- **BlackHole**: routes network traffic to a black hole.'."\n"
.'- **Attachment**: routes network traffic to a network instance connection.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Attachment'],
],
[
'name' => 'TransitRouterRouteEntryNextHopId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection that you want to specify as the next hop.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'tr-attach-nls9fzkfat8934****'],
],
[
'name' => 'TransitRouterRouteEntryNextHopResourceId',
'in' => 'query',
'schema' => ['description' => 'The next hop ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-m5ent6du8deaq5*****'],
],
[
'name' => 'TransitRouterRouteEntryNextHopResourceType',
'in' => 'query',
'schema' => ['description' => 'The next hop type. Valid values:'."\n"
."\n"
.'- **VPC**'."\n"
.'- **VBR**'."\n"
.'- **TR**'."\n"
.'- **VPN**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'VPC'],
],
[
'name' => 'TransitRouterRouteEntryOriginResourceId',
'in' => 'query',
'schema' => ['description' => 'The source instance ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'vpc-m5ent6du8deaq5*****'],
],
[
'name' => 'TransitRouterRouteEntryOriginResourceType',
'in' => 'query',
'schema' => ['description' => 'The source instance type. Valid values:'."\n"
."\n"
.'- **VPC**'."\n"
.'- **VBR**'."\n"
.'- **TR**'."\n"
.'- **VPN**', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'VPC'],
],
[
'name' => 'PrefixListId',
'in' => 'query',
'schema' => ['description' => 'The prefix list ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'pl-6ehtn5kqxgeyy08fi****'],
],
[
'name' => 'RouteFilter',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The filter conditions.',
'type' => 'array',
'items' => [
'description' => 'The filter conditions.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The match pattern for filtering CIDR blocks. Valid values:'."\n"
."\n"
.'- **PrefixExactMatchCidrs**: exact matching.'."\n"
.'- **LongestPrefixMatchCidrs**: longest prefix matching. You can specify IP addresses and CIDR blocks.'."\n"
.'- **SubnetOfMatchCidrs**: subnet matching. The subnets of the specified CIDR blocks, including the CIDR block, are matches against the match conditions.'."\n"
.'- **SupernetOfMatchCidrs**: supernet matching. The supernets of the CIDR block, including the CIDR block, are matched against the match conditions.'."\n"
."\n"
.'By default, the logical operator among filter conditions is **AND**. Information about a route entry is returned only if the route entry matches all filter conditions. Filter conditions must be unique.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'PrefixExactMatchCidrs'],
'Value' => [
'description' => 'The filter value.',
'type' => 'array',
'items' => ['description' => 'Specify a filter value based on the **Key**. You can specify multiple values for a **key**. The logical operator among values is OR, which indicates that a route entry is a match if the request matches one of the values. You can specify at most 500 values for each match condition.\\'."\n"
.'IPv4 addresses and CIDR blocks and IPv6 addresses and CIDR blocks are supported.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '192.168.1.0/24'],
'required' => false,
'maxItems' => 500,
'title' => '',
],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'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 is returned for **NextToken**, the value is the token that determines the start point of the next query.', 'type' => 'string', 'title' => '', 'example' => 'fce19****'],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C3835E5E-1504-4344-B1BB-98A4110F1079'],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '6'],
'MaxResults' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '20'],
'TransitRouterRouteEntries' => [
'description' => 'A list of route entries.',
'type' => 'array',
'items' => [
'description' => 'The information about the route.',
'type' => 'object',
'properties' => [
'TransitRouterRouteEntryId' => ['description' => 'The route ID.'."\n"
."\n"
.'> This parameter is returned only for static routes.', 'type' => 'string', 'title' => '', 'example' => 'rte-oklkgwmj97z6dn****'],
'TransitRouterRouteEntryDestinationCidrBlock' => ['description' => 'The destination CIDR block of the route entry. An IPv4 or IPv6 CIDR block is returned.', 'type' => 'string', 'title' => '', 'example' => '192.168.0.0/24'],
'TransitRouterRouteEntryType' => ['description' => 'The type of the route. Valid values:'."\n"
."\n"
.'- **Static**: static routes.'."\n"
.'- **Propagated**: automatically learned by the route table.', 'type' => 'string', 'title' => '', 'example' => 'Static'],
'CreateTime' => ['description' => 'The time when the route entry was created.'."\n"
."\n"
.'The time follows the ISO8601 standard in the YYYY-MM-DDThh:mmZ format. The time is displayed in UTC.'."\n"
."\n"
.'> This parameter is returned only for static routes.', 'type' => 'string', 'title' => '', 'example' => '2021-06-15T07:01Z'],
'TransitRouterRouteEntryName' => ['description' => 'The route name.'."\n"
."\n"
.'> This parameter is returned only for static routes.', 'type' => 'string', 'title' => '', 'example' => 'testname'],
'TransitRouterRouteEntryStatus' => ['description' => 'The route status. Valid values:'."\n"
."\n"
.'- **Active**'."\n"
.'- **Rejected**'."\n"
.'- **Prohibited**'."\n"
.'- **Standby**'."\n"
.'- **Candidate**'."\n"
.'- **Creating**'."\n"
.'- **Deleting**', 'type' => 'string', 'title' => '', 'example' => 'Active'],
'TransitRouterRouteEntryNextHopType' => ['description' => 'The next hop type. Valid values:'."\n"
."\n"
.'- **BlackHole**: a blackhole route. Packets destined for the destination CIDR block of the route are dropped.'."\n"
.'- **Attachment**: a network instance connection. Packets destined for the destination CIDR block of the route are forwarded to the specified network instance connection.', 'type' => 'string', 'title' => '', 'example' => 'BlackHole'],
'TransitRouterRouteEntryNextHopId' => ['description' => 'The next hop ID. This parameter is not returned if the route is a blackhole route.', 'type' => 'string', 'title' => '', 'example' => 'tr-attach-vx6iwhjr1x1j78****'],
'TransitRouterRouteEntryDescription' => ['description' => 'The route description.'."\n"
."\n"
.'> This parameter is returned only for static routes.', 'type' => 'string', 'title' => '', 'example' => 'CidrRoute'],
'OperationalMode' => ['description' => 'Indicates whether the route can be managed. Valid values:'."\n"
."\n"
.'- **true**: The route can be managed. You can delete the route.'."\n"
.'- **false**: The route cannot be managed because it is automatically generated by the system.', 'type' => 'boolean', 'title' => '', 'example' => 'false'],
'Tag' => ['description' => 'The route tag.'."\n"
."\n"
.'Only **PermitVbr** may be returned, which indicates that the route is advertised only to the route tables of the virtual border routers (VBRs) that are connected to the transit router.'."\n"
."\n"
.'> This parameter is returned only for routes whose CIDR blocks are automatically generated by the system.', 'type' => 'string', 'title' => '', 'example' => 'PermitVbr'],
'TransitRouterRouteEntryNextHopResourceId' => ['description' => 'The next hop ID.', 'type' => 'string', 'title' => '', 'example' => 'vpc-m5ent6du8deaq5*****'],
'TransitRouterRouteEntryNextHopResourceType' => ['description' => 'The next hop type. Valid values:'."\n"
."\n"
.'- **VPC**'."\n"
.'- **VBR**'."\n"
.'- **TR**'."\n"
.'- **VPN**', 'type' => 'string', 'title' => '', 'example' => 'VPC'],
'TransitRouterRouteEntryOriginResourceType' => ['description' => 'The source instance type. Valid values:'."\n"
."\n"
.'- **VPC**'."\n"
.'- **VBR**'."\n"
.'- **TR**'."\n"
.'- **VPN**', 'type' => 'string', 'title' => '', 'example' => 'VPC'],
'TransitRouterRouteEntryOriginResourceId' => ['description' => 'The source instance ID.', 'type' => 'string', 'title' => '', 'example' => 'vpc-m5ent6du8deaq5*****'],
'PrefixListId' => ['description' => 'The prefix list ID.', 'type' => 'string', 'title' => '', 'example' => 'pl-k1ainl66z3527773d****'],
'PathAttributes' => [
'description' => 'The route attributes.',
'type' => 'object',
'properties' => [
'Communities' => [
'description' => 'The route community.',
'type' => 'array',
'items' => ['description' => 'The community attributes of the routes.', 'type' => 'string', 'title' => '', 'example' => '65501:1'],
'title' => '',
],
'AsPaths' => [
'description' => 'The route AS path.',
'type' => 'array',
'items' => ['description' => 'The AS path of the route.', 'type' => 'string', 'title' => '', 'example' => '65501'],
'title' => '',
],
'OriginInstanceId' => ['description' => 'The source instance ID.', 'type' => 'string', 'title' => '', 'example' => 'vbr-m5ent6du8deaq5*****'."\n"],
'OriginInstanceType' => ['description' => 'The source instance type. Valid values:'."\n"
."\n"
.'- **VPC**'."\n"
.'- **VBR**'."\n"
.'- **TR**'."\n"
.'- **VPN**'."\n"
.'- **CCN**', 'type' => 'string', 'title' => '', 'example' => 'VBR'],
'OriginRouteType' => ['description' => 'The route type. Valid values:'."\n"
."\n"
.'- **System**'."\n"
.'- **Custom**'."\n"
.'- **static**'."\n"
.'- **BGP**'."\n"
.'- **BlackHole**', 'type' => 'string', 'title' => '', 'example' => 'BGP'],
'Preference' => ['description' => 'The route priority.'."\n"
."\n"
.'A smaller value indicates a higher priority.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '50'],
],
'title' => '',
],
],
'title' => '',
],
'title' => '',
],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.TransitRouterRouteTableId', 'errorMessage' => 'TransitRouterRouteTableId is illegal.', 'description' => 'The error message returned because the route table ID of the transit router (TransitRouterRouteTableId) is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryStatus', 'errorMessage' => 'TransitRouterRouteEntryStatus is illegal.', 'description' => 'The error message returned because the status of the route on the transit router (TransitRouterRouteEntryStatus) is invalid.'],
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'NextToken is illegal.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'ParamExclusive.RouteEntryIdsAndStatus', 'errorMessage' => 'TransitRouterRouteEntryIds and TransitRouterRouteEntryStatus is mutually exclusive.', 'description' => 'The error message returned because the TransitRouterRouteEntryIds and TransitRouterRouteEntryStatus parameters conflict with each other.'],
['errorCode' => 'InvalidTransitRouterRouteTableId.NotFound', 'errorMessage' => 'TransitRouterRouteTableId is not found.', 'description' => 'The error message returned because the specified route table ID of the transit router does not exist.'],
['errorCode' => 'FilterKeyDuplicated.RouteFilter', 'errorMessage' => 'The keys in RouteFilter are duplicated.', 'description' => 'The error message returned because RouteFilter contains duplicate key values.'],
['errorCode' => 'InvalidFilterKey', 'errorMessage' => 'The key in filter is invalid.', 'description' => 'The key in filter is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopType', 'errorMessage' => 'TransitRouterRouteEntryNextHopType is invalid.', 'description' => 'The error message returned because the TransitRouterRouteEntryNextHopType parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopAttachmentId', 'errorMessage' => 'TransitRouterRouteEntryNextHopAttachmentId is invalid.', 'description' => 'The error message returned because TransitRouterRouteEntryNextHopAttachmentId is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopResourceId', 'errorMessage' => 'TransitRouterRouteEntryNextHopResourceId is invalid.', 'description' => 'The error message returned because TransitRouterRouteEntryNextHopResourceId is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryNextHopResourceType', 'errorMessage' => 'TransitRouterRouteEntryNextHopResourceType is invalid.', 'description' => 'The error message returned because TransitRouterRouteEntryNextHopResourceType is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryOriginResourceId', 'errorMessage' => 'TransitRouterRouteEntryOriginResourceId is invalid.', 'description' => 'The error message returned because TransitRouterRouteEntryOriginResourceId is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryOriginResourceType', 'errorMessage' => 'TransitRouterRouteEntryOriginResourceType is invalid.', 'description' => 'The error message returned because TransitRouterRouteEntryOriginResourceType is set to an invalid value.'],
['errorCode' => 'IllegalParam.TransitRouterRouteEntryType', 'errorMessage' => 'TransitRouterRouteEntryType is invalid.', 'description' => 'The error message returned because TransitRouterRouteEntryType is set to an invalid value.'],
['errorCode' => 'IllegalParam.PrefixExactMatchCidr', 'errorMessage' => 'PrefixExactMatchCidr is invalid.', 'description' => 'The error message returned because PrefixExactMatchCidr is set to an invalid value.'],
['errorCode' => 'IllegalParam.LongestPrefixMatchCidr', 'errorMessage' => 'LongestPrefixMatchCidr is invalid.', 'description' => 'The error message returned because LongestPrefixMatchCidr is set to an invalid value.'],
['errorCode' => 'IllegalParam.SubnetOfMatchCidr', 'errorMessage' => 'SubnetOfMatchCidr is invalid.', 'description' => 'The error message returned because SubnetOfMatchCidr is set to an invalid value. '],
['errorCode' => 'IllegalParam.SupernetOfMatchCidr', 'errorMessage' => 'SupernetOfMatchCidr is invalid.', 'description' => 'The error message returned because SupernetOfMatchCidr is set to an invalid value.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'IllegalParam.TextMatchCidr', 'errorMessage' => 'The TextMatchCidr specified in the parameter is illegal.', 'description' => 'The TextMatchCidr specified in the parameter is illegal.'],
['errorCode' => 'ResourceNotFound.PrefixlistAssociation', 'errorMessage' => 'The prefix list is not associated with this route table.', 'description' => 'The error message returned because the specified prefix list is not associated with a route table.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => 'The specified route table ID does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListTransitRouterRouteEntries',
'summary' => 'Queries the details about routes in the route tables of an Enterprise Edition transit router.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-27T03:47:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-07-12T17:48:42.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-07-07T03:29:44.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-07-07T01:58:21.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-04-04T03:46:18.000Z', 'description' => 'Error codes changed, Response parameters changed'],
['createdAt' => '2023-03-02T15:18:16.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed, Response parameters changed'],
['createdAt' => '2022-12-05T12:05:03.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteEntries'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#centransitrouterroutentryId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"fce19****\\",\\n \\"RequestId\\": \\"C3835E5E-1504-4344-B1BB-98A4110F1079\\",\\n \\"TotalCount\\": 6,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterRouteEntries\\": [\\n {\\n \\"TransitRouterRouteEntryId\\": \\"rte-oklkgwmj97z6dn****\\",\\n \\"TransitRouterRouteEntryDestinationCidrBlock\\": \\"192.168.0.0/24\\",\\n \\"TransitRouterRouteEntryType\\": \\"Static\\",\\n \\"CreateTime\\": \\"2021-06-15T07:01Z\\",\\n \\"TransitRouterRouteEntryName\\": \\"testname\\",\\n \\"TransitRouterRouteEntryStatus\\": \\"Active\\",\\n \\"TransitRouterRouteEntryNextHopType\\": \\"BlackHole\\",\\n \\"TransitRouterRouteEntryNextHopId\\": \\"tr-attach-vx6iwhjr1x1j78****\\",\\n \\"TransitRouterRouteEntryDescription\\": \\"CidrRoute\\",\\n \\"OperationalMode\\": false,\\n \\"Tag\\": \\"PermitVbr\\",\\n \\"TransitRouterRouteEntryNextHopResourceId\\": \\"vpc-m5ent6du8deaq5*****\\",\\n \\"TransitRouterRouteEntryNextHopResourceType\\": \\"VPC\\",\\n \\"TransitRouterRouteEntryOriginResourceType\\": \\"VPC\\",\\n \\"TransitRouterRouteEntryOriginResourceId\\": \\"vpc-m5ent6du8deaq5*****\\",\\n \\"PrefixListId\\": \\"pl-k1ainl66z3527773d****\\",\\n \\"PathAttributes\\": {\\n \\"Communities\\": [\\n \\"65501:1\\"\\n ],\\n \\"AsPaths\\": [\\n \\"65501\\"\\n ],\\n \\"OriginInstanceId\\": \\"vbr-m5ent6du8deaq5*****\\\\n\\",\\n \\"OriginInstanceType\\": \\"VBR\\",\\n \\"OriginRouteType\\": \\"BGP\\",\\n \\"Preference\\": 50\\n }\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterRouteTableAssociations' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '50', 'example' => '50', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token for the next query.'."\n"
."\n"
.'- You do not need to specify this parameter for the first query.'."\n"
."\n"
.'- For a subsequent query, set this parameter to the **NextToken** value returned from the previous query.', 'type' => 'string', 'required' => false, 'example' => 'a415****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentResourceId',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The ID of the next hop resource.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the next hop resource.'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: virtual border router (VBR).'."\n"
."\n"
.'- **TR**: transit router.'."\n"
."\n"
.'- **VPN**: VPN connection.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the association.'."\n"
."\n"
.'- **Active**: The association is active.'."\n"
."\n"
.'- **Associating**: The association is being created.'."\n"
."\n"
.'- **Dissociating**: The association is being deleted.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token for the next query.'."\n"
."\n"
.'- If this parameter is not returned, it indicates that no more results are to be returned.'."\n"
."\n"
.'- If a value is returned for this parameter, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'a415****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F6B1D9AB-176D-4399-801D-8BC576F4EB0D', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
'TransitRouterAssociations' => [
'description' => 'A list of forwarding associations.',
'type' => 'array',
'items' => [
'description' => 'The information about the forwarding association.',
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
'Status' => ['description' => 'The status of the association.'."\n"
."\n"
.'- **Active**: The association is active.'."\n"
."\n"
.'- **Associating**: The association is being created.'."\n"
."\n"
.'- **Dissociating**: The association is being deleted.'."\n"
."\n"
.'- **Deleted**: The association is deleted.', 'type' => 'string', 'example' => 'Associating', 'title' => ''],
'ResourceType' => ['description' => 'The type of the next hop resource.'."\n"
."\n"
.'- **VPC**: virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: virtual border router (VBR).'."\n"
."\n"
.'- **TR**: transit router.'."\n"
."\n"
.'- **VPN**: VPN connection.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'ResourceId' => ['description' => 'The ID of the next hop resource.', 'type' => 'string', 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
'TransitRouterRouteTableId' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The parameter NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value. Check the value and try again.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterRouteTableAssociations',
'summary' => 'Call the ListTransitRouterRouteTableAssociations operation to query the forwarding associations for a route table of an Enterprise Edition transit router or for a network instance connection.',
'description' => 'When you call the **ListTransitRouterRouteTableAssociations** operation, you must specify at least one of the following request parameters: **TransitRouterRouteTableId** and **TransitRouterAttachmentId**.'."\n"
."\n"
.'- If you specify only **TransitRouterRouteTableId**, the operation queries the network instance connections that are associated with the specified route table of the Enterprise Edition transit router.'."\n"
."\n"
.'- If you specify only **TransitRouterAttachmentId**, the operation queries the route tables of the Enterprise Edition transit router that are associated with the specified network instance connection.'."\n"
."\n"
.'- If you specify both **TransitRouterRouteTableId** and **TransitRouterAttachmentId**, the operation queries the forwarding association between the network instance connection and the route table of the Enterprise Edition transit router.'."\n"
."\n"
.' - If a forwarding association exists between the network instance connection and the route table, the details of the forwarding association are returned.'."\n"
."\n"
.' - If no forwarding association exists between the network instance connection and the route table, the **TransitRouterAssociations** array is empty in the response.'."\n"
."\n"
.'Make sure that you provide valid parameter values when you call the **ListTransitRouterRouteTableAssociations** operation.'."\n"
.'If you provide an invalid parameter, the system returns a **RequestId** but does not query the forwarding associations for the route table of the Enterprise Edition transit router or the network instance connection.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-08-04T05:57:54.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-06T09:04:33.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-10-27T15:44:20.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTableAssociations'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteTableAssociations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"a415****\\",\\n \\"RequestId\\": \\"F6B1D9AB-176D-4399-801D-8BC576F4EB0D\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 50,\\n \\"TransitRouterAssociations\\": [\\n {\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-nls9fzkfat8934****\\",\\n \\"Status\\": \\"Associating\\",\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceId\\": \\"vpc-bp1h8vbrbcgohcju5****\\",\\n \\"TransitRouterRouteTableId\\": \\"vtb-bp1dudbh2d5na6b50****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterRouteTablePropagations' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '50', 'example' => '50', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used to retrieve the next page of results.', 'type' => 'string', 'required' => false, 'example' => 'dd20****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-attach-vx6iwhjr1x1j78****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentResourceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance.'."\n"
."\n"
.'- **VPC**: a virtual private cloud (VPC).'."\n"
."\n"
.'- **VBR**: a virtual border router (VBR).'."\n"
."\n"
.'- **TR**: a transit router.'."\n"
."\n"
.'- **VPN**: a VPN connection.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the route propagation.'."\n"
."\n"
.'- **Active**: The propagation is active.'."\n"
."\n"
.'- **Enabling**: The propagation is being enabled.'."\n"
."\n"
.'- **Disabling**: The propagation is being disabled.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used to retrieve the next page of results.', 'type' => 'string', 'example' => 'dd20****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04C81E0D-945E-4D61-A561-3DEA322F243B', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''],
'TransitRouterPropagations' => [
'description' => 'A list of the route propagations.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'TransitRouterAttachmentId' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'example' => 'tr-attach-vx6iwhjr1x1j78****', 'title' => ''],
'Status' => ['description' => 'The status of the route propagation.'."\n"
."\n"
.'- **Enabling**: The propagation is being enabled.'."\n"
."\n"
.'- **Disabling**: The propagation is being disabled.'."\n"
."\n"
.'- **Active**: The propagation is active.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'ResourceType' => ['description' => 'The type of the network instance.'."\n"
."\n"
.'- **VPC**: a VPC.'."\n"
."\n"
.'- **VBR**: a VBR.'."\n"
."\n"
.'- **TR**: a transit router.'."\n"
."\n"
.'- **VPN**: a VPN connection.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'ResourceId' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
'TransitRouterRouteTableId' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The parameter NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value. Check the value and try again.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterRouteTablePropagations',
'summary' => 'Lists the route propagations for the route table of an Enterprise Edition transit router.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-08-04T05:57:55.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-01-06T09:04:33.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTablePropagations'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteTablePropagations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountid}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"dd20****\\",\\n \\"RequestId\\": \\"04C81E0D-945E-4D61-A561-3DEA322F243B\\",\\n \\"TotalCount\\": 2,\\n \\"MaxResults\\": 50,\\n \\"TransitRouterPropagations\\": [\\n {\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-vx6iwhjr1x1j78****\\",\\n \\"Status\\": \\"Active\\",\\n \\"ResourceType\\": \\"VPC\\",\\n \\"ResourceId\\": \\"vpc-bp1h8vbrbcgohcju5****\\",\\n \\"TransitRouterRouteTableId\\": \\"vtb-bp1dudbh2d5na6b50****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterRouteTables' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1** to **100**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '20', 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query or no next query is to be sent, do not specify this parameter.'."\n"
."\n"
.'- If a next query is to be sent, set the value to the **NextToken** value returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => 'dd20****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableType',
'in' => 'query',
'schema' => ['description' => 'The type of the route table. Valid values:'."\n"
."\n"
.'- **Custom**: a custom route table.'."\n"
."\n"
.'- **System**: the default route table.', 'type' => 'string', 'required' => false, 'example' => 'Custom', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableStatus',
'in' => 'query',
'schema' => ['description' => 'The status of the route table. Valid values:'."\n"
."\n"
.'- **Creating**: The route table is being created.'."\n"
."\n"
.'- **Deleting**: The route table is being deleted.'."\n"
."\n"
.'- **Active**: The route table is available.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableNames',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The name of the route table.'."\n"
."\n"
.'You can query multiple route tables at a time. The maximum value of **N** is **20**.'."\n"
."\n"
.'> If you query route tables using both **TransitRouterRouteTableNames.N** and **TransitRouterRouteTableIds.N**, make sure that the names and IDs match.',
'type' => 'array',
'items' => ['description' => 'The name of the route table.'."\n"
."\n"
.'You can query multiple route tables at a time. The maximum value of **N** is **20**.'."\n"
."\n"
.'> If you query route tables using both **TransitRouterRouteTableNames.N** and **TransitRouterRouteTableIds.N**, make sure that the names and IDs match.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
'required' => false,
'example' => 'testname',
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'TransitRouterRouteTableIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ID of the route table.'."\n"
."\n"
.'You can query multiple route tables at a time. The maximum value of **N** is **20**.',
'type' => 'array',
'items' => ['description' => 'The ID of the route table.'."\n"
."\n"
.'You can query multiple route tables at a time. The maximum value of **N** is **20**.', 'type' => 'string', 'required' => false, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
'required' => false,
'example' => 'vtb-bp1l8awdb4iuo9uwu****',
'maxItems' => 20,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a corresponding tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'RouteTableOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The features of the route table.',
'type' => 'object',
'properties' => [
'MultiRegionECMP' => [
'description' => 'The multi-region equal-cost multi-path (ECMP) routing feature. Valid values:'."\n"
."\n"
.'- **disable**: Disables multi-region ECMP routing. After this feature is disabled, for routes that are learned from different regions and have the same prefix and other attributes, the system selects the transit router with the smallest region ID as the next hop. Region IDs are sorted in alphabetical order. This changes the latency and bandwidth consumption between different regions. Make sure that you fully evaluate the impact before you disable the feature.'."\n"
."\n"
.'- **enable**: Enables multi-region ECMP routing. After this feature is enabled, for routes that are learned from different regions and have the same prefix and other attributes, ECMP routing is formed. This changes the latency and bandwidth consumption between different regions. Make sure that you fully evaluate the impact before you enable the feature.',
'enumValueTitles' => ['disable' => 'disable', 'enable' => 'enable'],
'type' => 'string',
'required' => false,
'example' => 'disable',
'title' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that was returned.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If **NextToken** is empty, it indicates that no next query is to be sent.'."\n"
."\n"
.'- If a value is returned for **NextToken**, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'dd20****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '82678F4A-C9F7-4CC1-8BF0-D619A63BFC57', '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' => ''],
'TransitRouterRouteTables' => [
'description' => 'The list of route tables.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'TransitRouterRouteTableStatus' => ['description' => 'The status of the route table.'."\n"
."\n"
.'- **Creating**: The route table is being created.'."\n"
."\n"
.'- **Deleting**: The route table is being deleted.'."\n"
."\n"
.'- **Active**: The route table is available.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'TransitRouterRouteTableType' => ['description' => 'The type of the route table.'."\n"
."\n"
.'- **Custom**: a custom route table.'."\n"
."\n"
.'- **System**: the default route table.', 'type' => 'string', 'example' => 'System', 'title' => ''],
'CreateTime' => ['description' => 'The time when the route table was created.'."\n"
."\n"
.'The time is displayed in the YYYY-MM-DDThh:mmZ format in UTC.', 'type' => 'string', 'example' => '2021-03-15T09:39Z', 'title' => ''],
'TransitRouterRouteTableId' => ['description' => 'The route table ID.', 'type' => 'string', 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
'TransitRouterRouteTableName' => ['description' => 'The name of the route table.', 'type' => 'string', 'example' => 'testname', 'title' => ''],
'TransitRouterRouteTableDescription' => ['description' => 'The description of the route table.', 'type' => 'string', 'example' => 'testdesc', 'title' => ''],
'Tags' => [
'description' => 'The list of tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'RouteTableOptions' => [
'description' => 'The features of the route table.',
'type' => 'object',
'properties' => [
'MultiRegionECMP' => [
'description' => 'The multi-region ECMP routing feature. Valid values:'."\n"
."\n"
.'- **disable**: Disables multi-region ECMP routing. After this feature is disabled, for routes that are learned from different regions and have the same prefix and other attributes, the system selects the transit router with the smallest region ID as the next hop. Region IDs are sorted in alphabetical order. This changes the latency and bandwidth consumption between different regions. Make sure that you fully evaluate the impact before you disable the feature.'."\n"
."\n"
.'- **enable**: Enables multi-region ECMP routing. After this feature is enabled, for routes that are learned from different regions and have the same prefix and other attributes, ECMP routing is formed. This changes the latency and bandwidth consumption between different regions. Make sure that you fully evaluate the impact before you enable the feature.',
'enumValueTitles' => ['disable' => 'disable', 'enable' => 'enable'],
'type' => 'string',
'example' => 'disable',
'title' => '',
],
],
'title' => '',
'example' => '',
],
'RegionId' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'example' => 'tr-8vb8bie2koduo5awz****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'NextToken is illegal', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'InvalidTransitRouterId.NotFound', 'errorMessage' => 'TransitRouterId is not found.', 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'MissingParam.TransitRouterIdOrTransitRouterRouteTables', 'errorMessage' => 'Either TransitRouterId or TransitRouterRouteTables must be specified.', 'description' => 'The error message returned because you must set at least one of the TransitRouterId and TransitRouterRouteTables parameters.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterRouteTables',
'summary' => 'Call the ListTransitRouterRouteTables operation to query the route tables associated with an Enterprise Edition transit router.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-18T02:16:06.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-03-09T08:42:54.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2023-01-10T12:57:33.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-11-22T08:58:43.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTables'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteTables',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"dd20****\\",\\n \\"RequestId\\": \\"82678F4A-C9F7-4CC1-8BF0-D619A63BFC57\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterRouteTables\\": [\\n {\\n \\"TransitRouterRouteTableStatus\\": \\"Active\\",\\n \\"TransitRouterRouteTableType\\": \\"System\\",\\n \\"CreateTime\\": \\"2021-03-15T09:39Z\\",\\n \\"TransitRouterRouteTableId\\": \\"vtb-bp1dudbh2d5na6b50****\\",\\n \\"TransitRouterRouteTableName\\": \\"testname\\",\\n \\"TransitRouterRouteTableDescription\\": \\"testdesc\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"RouteTableOptions\\": {\\n \\"MultiRegionECMP\\": \\"disable\\"\\n },\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"TransitRouterId\\": \\"tr-8vb8bie2koduo5awz****\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterVbrAttachments' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-oyf70wfuorwx87****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The maximum number of entries to return for a single query. The default value is **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query, you do not need to specify this parameter.'."\n"
."\n"
.'- If a subsequent query is to be sent, set the value to the NextToken value that is returned in the previous request.', 'type' => 'string', 'required' => false, 'example' => 'dd20****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key of the resource.'."\n"
."\n"
.'The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value of the resource.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used for the next query.'."\n"
."\n"
.'- If this parameter is empty, no more data is returned.'."\n"
."\n"
.'- If a value is returned for this parameter, it is the token that you can use to retrieve the next page of results.', 'type' => 'string', 'example' => 'dd20****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F42D9616-29EB-4E75-8CA8-9654D4E07501', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The maximum number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'TransitRouterAttachments' => [
'description' => 'A list of VBR connections.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the VBR connection was created.'."\n"
."\n"
.'The time is displayed in the YYYY-MM-DDThh:mmZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2021-06-15T15:20Z', 'title' => ''],
'Status' => ['description' => 'The status of the VBR connection.'."\n"
."\n"
.'- **Attached**: The connection is established.'."\n"
."\n"
.'- **Attaching**: The connection is being established.'."\n"
."\n"
.'- **Detaching**: The connection is being removed.', 'type' => 'string', 'example' => 'Attached', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'example' => 'tr-attach-oyf70wfuorwx87****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
'ResourceType' => ['description' => 'The resource type of the connection.'."\n"
."\n"
.'The value is set to **VBR**, which indicates a VBR instance.', 'type' => 'string', 'example' => 'VBR', 'title' => ''],
'VbrRegionId' => ['description' => 'The ID of the region where the VBR is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'TransitRouterAttachmentDescription' => ['description' => 'The description of the VBR connection.', 'type' => 'string', 'example' => 'testdesc', 'title' => ''],
'VbrOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the VBR belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1688111111111111', 'title' => ''],
'AutoPublishRouteEnabled' => ['description' => 'Indicates whether the Enterprise Edition transit router automatically advertises routes to the VBR.'."\n"
."\n"
.'- **false**: no.'."\n"
."\n"
.'- **true**: yes.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'VbrId' => ['description' => 'The VBR ID.', 'type' => 'string', 'example' => 'vbr-bp1svadp4lq38janc****', 'title' => ''],
'TransitRouterAttachmentName' => ['description' => 'The name of the VBR connection.', 'type' => 'string', 'example' => 'testa', 'title' => ''],
'Tags' => [
'description' => 'The list of tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value_A1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-j3jzhw1zpau2km****'."\n", 'title' => ''],
'ManagedService' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
'OrderType' => ['description' => 'The payer for the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: The connection fee and data transfer fee for the VBR are paid by the account that owns the transit router.'."\n"
."\n"
.'- **PayByResourceOwner**: The connection fee and data transfer fee for the VBR are paid by the account that owns the VBR.', 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TransitRouter is invalid.', 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is invalid.', 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The specified TransitRouterId is invalid.', 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['errorCode' => 'IllegalParam.CenIdOrRegionId', 'errorMessage' => 'The specified CenId or RegionId is invalid.', 'description' => 'The error message returned because the specified CEN instance ID or region ID is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterVbrAttachments',
'summary' => 'Queries information about virtual border router (VBR) connections for an Enterprise Edition transit router. The returned information includes the total number of connections, connection status, connection ID, and the payer for the network instance.',
'description' => 'You can query the VBR connections of an Enterprise Edition transit router in one of the following ways:'."\n"
."\n"
.'- Query all VBR connections of an Enterprise Edition transit router by specifying the ID of the transit router.'."\n"
."\n"
.'- Query all VBR connections of an Enterprise Edition transit router by specifying the ID of the Cloud Enterprise Network (CEN) instance and the region ID of the transit router.'."\n"
."\n"
.'- Query a specific VBR connection by specifying the connection ID in the TransitRouterAttachmentId parameter.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-12-26T02:48:17.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-10-20T01:47:40.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-08-04T05:57:56.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-01T06:50:32.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-11-21T06:21:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterVbrAttachments'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterVbrAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"dd20****\\",\\n \\"RequestId\\": \\"F42D9616-29EB-4E75-8CA8-9654D4E07501\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterAttachments\\": [\\n {\\n \\"CreationTime\\": \\"2021-06-15T15:20Z\\",\\n \\"Status\\": \\"Attached\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-oyf70wfuorwx87****\\",\\n \\"TransitRouterId\\": \\"tr-bp1su1ytdxtataupl****\\",\\n \\"ResourceType\\": \\"VBR\\",\\n \\"VbrRegionId\\": \\"cn-hangzhou\\",\\n \\"TransitRouterAttachmentDescription\\": \\"testdesc\\",\\n \\"VbrOwnerId\\": 1688111111111111,\\n \\"AutoPublishRouteEnabled\\": false,\\n \\"VbrId\\": \\"vbr-bp1svadp4lq38janc****\\",\\n \\"TransitRouterAttachmentName\\": \\"testa\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"value_A1\\"\\n }\\n ],\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\\\n\\",\\n \\"ManagedService\\": \\"\\",\\n \\"OrderType\\": \\"PayByCenOwner\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterVpcAttachments' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72401',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Enterprise Edition transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. The default value is **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n"
."\n"
.'- If this is your first query or no more results are available, you do not need to specify this parameter.'."\n"
."\n"
.'- For subsequent queries, set this parameter to the `NextToken` value from the previous response.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'The tag key must be 1 to 64 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be 0 to 128 characters in length. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The VPC ID.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1kbjcre9vtsebo1****', 'title' => ''],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => ['description' => 'The entity that pays for the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: The fees are paid by the account that owns the CEN instance.'."\n"
."\n"
.'- **PayByResourceOwner**: The fees are paid by the account that owns the network instance.', 'type' => 'string', 'required' => false, 'example' => 'PayByCenOwner', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the VPC connection. Valid values:'."\n"
."\n"
.'- **Attaching**: The VPC connection is being created.'."\n"
."\n"
.'- **Attached**: The VPC connection is created.'."\n"
."\n"
.'- **Detaching**: The VPC connection is being deleted.', 'type' => 'string', 'required' => false, 'example' => 'Attached', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned data.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token to retrieve the next page of results.'."\n"
."\n"
.'- If this parameter is empty, all results have been returned.'."\n"
."\n"
.'- If a value is returned for **NextToken**, it is the token to start the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C97FF53F-3EF8-4883-B459-60E171924B23', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'TransitRouterAttachments' => [
'description' => 'A list of VPC connections.',
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the VPC connection was created.'."\n"
."\n"
.'The time is in the `YYYY-MM-DDThh:mmZ` format and in UTC.', 'type' => 'string', 'example' => '2021-06-15T02:14Z', 'title' => ''],
'Status' => ['description' => 'The status of the VPC connection.'."\n"
."\n"
.'- **Attached**: The connection is established.'."\n"
."\n"
.'- **Attaching**: The connection is being created.'."\n"
."\n"
.'- **Detaching**: The connection is being deleted.', 'type' => 'string', 'example' => 'Attached', 'title' => ''],
'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the Enterprise Edition transit router.', 'type' => 'string', 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
'ResourceType' => ['description' => 'The type of resource to which the connection is attached.'."\n"
."\n"
.'The value is always **VPC**, which indicates a VPC.', 'type' => 'string', 'example' => 'VPC', 'title' => ''],
'TransitRouterAttachmentDescription' => ['description' => 'The description of the VPC connection.', 'type' => 'string', 'example' => 'testdesc', 'title' => ''],
'VpcOwnerId' => ['description' => 'The ID of the account that owns the VPC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1250123456123456', 'title' => ''],
'VpcRegionId' => ['description' => 'The ID of the region where the VPC is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'TransitRouterAttachmentName' => ['description' => 'The name of the VPC connection.', 'type' => 'string', 'example' => 'testname', 'title' => ''],
'ZoneMappings' => [
'description' => 'The zone mappings of the VPC connection. This includes the vSwitches and elastic network interfaces (ENIs) in the associated VPC.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ZoneId' => ['description' => 'The ID of the zone.', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''],
'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-bp1a214sbus8z3b54****', 'title' => ''],
'NetworkInterfaceId' => ['description' => 'The ID of the ENI that the Enterprise Edition transit router creates in the vSwitch.', 'type' => 'string', 'example' => 'eni-bp149hmyaqegerml****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'AutoPublishRouteEnabled' => ['description' => 'Specifies whether the Enterprise Edition transit router automatically advertises routes to the VPC.'."\n"
."\n"
.'- **false**: Routes are not automatically advertised.'."\n"
."\n"
.'- **true**: Routes are automatically advertised.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'ChargeType' => ['description' => 'The billing method of the VPC connection.'."\n"
."\n"
.'The value is always **POSTPAY**, which indicates the pay-as-you-go billing method.', 'type' => 'string', 'example' => 'POSTPAY', 'title' => ''],
'Tags' => [
'description' => 'A list of tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'test', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'OrderType' => ['description' => 'Specifies who pays for the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: The account that owns the CEN instance pays the fees.'."\n"
."\n"
.'- **PayByResourceOwner**: The account that owns the network instance pays the fees.', 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
'ManagedService' => ['description' => 'The cloud service to which the resource belongs.', 'type' => 'string', 'example' => 'SAS', 'title' => ''],
'TransitRouterVPCAttachmentOptions' => [
'description' => 'The feature attributes of the VPC connection. This parameter is deprecated. We recommend that you use the Options parameter instead.',
'type' => 'object',
'additionalProperties' => ['description' => '- **ipv6Support**: Indicates whether IPv6 is enabled. This setting defaults to the current IPv6 status of the VPC connection.'."\n"
."\n"
.' - **enable**: IPv6 is enabled.'."\n"
."\n"
.' - **disable**: IPv6 is disabled.', 'type' => 'string', 'example' => '{ "ipv6Support": "disable" }', 'title' => ''],
'title' => '',
'example' => '',
],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-j3jzhw1zpau2km****'."\n", 'title' => ''],
'Options' => [
'type' => 'object',
'properties' => [
'Ipv6Support' => ['description' => 'Specifies whether IPv6 is enabled.'."\n"
."\n"
.'- **disable** (default): IPv6 is disabled.'."\n"
."\n"
.'- **enable**: IPv6 is enabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''],
'ApplianceModeSupport' => ['description' => 'Specifies whether appliance mode is enabled.'."\n"
."\n"
.'- **disable** (default): Appliance mode is disabled.'."\n"
."\n"
.'- **enable**: Appliance mode is enabled.', 'type' => 'string', 'example' => 'enable', 'title' => ''],
],
'description' => 'A collection of feature attributes.',
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TransitRouter is invalid.', 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is invalid.', 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The specified TransitRouterId is invalid.', 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['errorCode' => 'IllegalParam.CenIdOrRegionId', 'errorMessage' => 'The specified CenId or RegionId is invalid.', 'description' => 'The error message returned because the specified CEN instance ID or region ID is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is illegal.', 'description' => 'MaxResults illegal.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterVpcAttachments',
'summary' => 'Queries details about virtual private cloud (VPC) connections on an Enterprise Edition transit router, including the connection status, billing method, and zone, as well as the vSwitches and elastic network interfaces (ENIs) of the connected VPC.',
'description' => 'You can query the VPC connections of an Enterprise Edition transit router in one of the following ways:'."\n"
."\n"
.'- Specify the ID of an Enterprise Edition transit router to query all its VPC connections.'."\n"
."\n"
.'- Specify the ID of a Cloud Enterprise Network (CEN) instance and the region ID of the Enterprise Edition transit router to query all its VPC connections.'."\n"
."\n"
.'- Specify the ID of a region that contains an Enterprise Edition transit router to query all VPC connections in that region.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-10T02:52:27.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-04-19T07:35:41.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-08-04T05:57:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-01T06:50:32.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
['createdAt' => '2023-01-06T09:04:33.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-01T17:08:05.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-21T11:54:24.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-10-19T15:50:35.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-12-31T03:16:04.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-12-31T03:16:04.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterVpcAttachments'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterVpcAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"C97FF53F-3EF8-4883-B459-60E171924B23\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterAttachments\\": [\\n {\\n \\"CreationTime\\": \\"2021-06-15T02:14Z\\",\\n \\"Status\\": \\"Attached\\",\\n \\"VpcId\\": \\"vpc-bp1h8vbrbcgohcju5****\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-nls9fzkfat8934****\\",\\n \\"TransitRouterId\\": \\"tr-bp1su1ytdxtataupl****\\",\\n \\"ResourceType\\": \\"VPC\\",\\n \\"TransitRouterAttachmentDescription\\": \\"testdesc\\",\\n \\"VpcOwnerId\\": 1250123456123456,\\n \\"VpcRegionId\\": \\"cn-hangzhou\\",\\n \\"TransitRouterAttachmentName\\": \\"testname\\",\\n \\"ZoneMappings\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-h\\",\\n \\"VSwitchId\\": \\"vsw-bp1a214sbus8z3b54****\\",\\n \\"NetworkInterfaceId\\": \\"eni-bp149hmyaqegerml****\\"\\n }\\n ],\\n \\"AutoPublishRouteEnabled\\": true,\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"test\\"\\n }\\n ],\\n \\"OrderType\\": \\"PayByCenOwner\\",\\n \\"ManagedService\\": \\"SAS\\",\\n \\"TransitRouterVPCAttachmentOptions\\": {\\n \\"key\\": \\"{ \\\\\\"ipv6Support\\\\\\": \\\\\\"disable\\\\\\" }\\"\\n },\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\\\n\\",\\n \\"Options\\": {\\n \\"Ipv6Support\\": \\"enable\\",\\n \\"ApplianceModeSupport\\": \\"enable\\"\\n }\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouterVpnAttachments' => [
'summary' => 'You can call the ListTransitRouterVpnAttachments operation to query information about VPN connections, such as their status, IPsec-VPN connection ID, and billing method.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'systemTags' => [
'operationType' => 'list',
'abilityTreeCode' => '138540',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'example' => 'cen-rsgxs8ng2awen2****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'For more information, see [DescribeChildInstanceRegions](~~132080~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'required' => false, 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-p0wm740vjnbaprv0m****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If this is your first query or no next query is to be sent, you do not need to specify this parameter.'."\n"
."\n"
.'- If a next query is to be sent, set the value to the NextToken value returned from the last API call.', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags of the CEN instance.'."\n"
."\n"
.'You can query a maximum of 20 tags at a time.',
'type' => 'array',
'items' => [
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https:// `.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'tagtest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https:// `.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'value_A1', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The token that is used for the next query. Valid values:'."\n"
."\n"
.'- If **NextToken** is empty, it indicates that no next query is to be sent.'."\n"
."\n"
.'- If a value is returned for **NextToken**, the value is the token that is used for the next query.', 'type' => 'string', 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3D5530D2-3BBB-524E-8E98-59AB06A250E4', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
'TransitRouterAttachments' => [
'description' => 'A list of VPN connections.',
'type' => 'array',
'items' => [
'description' => 'The information about the VPN connection.',
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the VPN connection was created.'."\n"
."\n"
.'The time is displayed in the ISO 8601 standard in the YYYY-MM-DDThh:mmZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-07-08T08:45Z', 'title' => ''],
'Status' => ['description' => 'The status of the VPN connection.'."\n"
."\n"
.'- **Attached**: The VPN connection is attached.'."\n"
."\n"
.'- **Attaching**: The VPN connection is being attached.'."\n"
."\n"
.'- **Detaching**: The VPN connection is being detached.', 'type' => 'string', 'example' => 'Attached', 'title' => ''],
'TransitRouterAttachmentId' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'example' => 'tr-p0wm740vjnbaprv0m****', 'title' => ''],
'ResourceType' => ['description' => 'The resource type of the VPN connection.'."\n"
."\n"
.'The value is set to **VPN**, which indicates that the transit router is connected to an IPsec-VPN connection.', 'type' => 'string', 'example' => 'VPN', 'title' => ''],
'VpnOwnerId' => ['description' => 'The ID of the Alibaba Cloud account to which the IPsec-VPN connection belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''],
'VpnId' => ['description' => 'The ID of the IPsec-VPN connection.', 'type' => 'string', 'example' => 'vco-p0wtu1xgd0l7fjo7k****', 'title' => ''],
'TransitRouterAttachmentDescription' => ['description' => 'The description of the VPN connection.', 'type' => 'string', 'example' => 'desctest', 'title' => ''],
'VpnRegionId' => ['description' => 'The ID of the region where the IPsec-VPN connection is deployed.'."\n"
."\n"
.'For more information, see [DescribeRegions](~~36063~~).', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'AutoPublishRouteEnabled' => ['description' => 'Indicates whether the transit router automatically advertises routes to the IPsec-VPN connection. Valid values:'."\n"
."\n"
.'- **true**: enabled.'."\n"
."\n"
.'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'TransitRouterAttachmentName' => ['description' => 'The name of the VPN connection.', 'type' => 'string', 'example' => 'nametest', 'title' => ''],
'Zones' => [
'description' => 'A list of zones where the VPN connection is deployed.',
'type' => 'array',
'items' => [
'description' => 'The zone where the VPN connection is deployed.',
'type' => 'object',
'properties' => [
'ZoneId' => ['description' => 'The zone ID.'."\n"
."\n"
.'For more information, see [DescribeZones](~~36064~~).', 'type' => 'string', 'example' => 'cn-hangzhou-h', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Tags' => [
'description' => 'A list of tags.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value_A1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'ChargeType' => ['description' => 'The billing method of the VPN connection.'."\n"
."\n"
.'The value is set to POSTPAY, which indicates the pay-as-you-go billing method.', 'type' => 'string', 'example' => 'POSTPAY', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-j3jzhw1zpau2km****'."\n", 'title' => ''],
'OrderType' => ['description' => 'The party that pays for the network instance. Valid values:'."\n"
."\n"
.'- **PayByCenOwner**: The fees for the network instance are paid by the account that owns the CEN instance.'."\n"
."\n"
.'- **PayByResourceOwner**: The fees for the network instance are paid by the account that owns the network instance.', 'type' => 'string', 'example' => 'PayByCenOwner', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.NextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.TrInstance', 'errorMessage' => 'The specified TransitRouter is invalid.', 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified Region is invalid.', 'description' => 'The error message returned because the specified region is invalid.'],
['errorCode' => 'IllegalParam.CenId', 'errorMessage' => 'The specified CenId is invalid.', 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['errorCode' => 'IllegalParam.CenIdOrRegionId', 'errorMessage' => 'The specified CenId or RegionId is invalid.', 'description' => 'The error message returned because the specified CEN instance ID or region ID is invalid.'],
['errorCode' => 'IllegalParam.TransitRouterId', 'errorMessage' => 'The specified TransitRouterId is illegal.', 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['errorCode' => 'IllegalParam.MaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouterVpnAttachments',
'description' => 'The ListTransitRouterVpnAttachments operation supports the following query methods:'."\n"
."\n"
.'- Enter only **TransitRouterAttachmentId** to query a specific VPN connection.'."\n"
."\n"
.'- Enter only **TransitRouterId** to query all VPN connections that are associated with the specified transit router.'."\n"
."\n"
.'- Enter **CenId** and **RegionId** to query VPN connections in a specific region of the specified Cloud Enterprise Network (CEN) instance.'."\n"
."\n"
.'When you call the **ListTransitRouterVpnAttachments** operation, make sure that you enter valid parameter values. If you enter invalid parameters, the system returns a **RequestId** but does not return the queried VPN connection information.',
'changeSet' => [
['createdAt' => '2023-03-01T06:50:32.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-24T14:05:31.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-10-21T15:37:48.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-07-01T18:00:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-06-23T03:08:02.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterVpnAttachments'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterVpnAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"3D5530D2-3BBB-524E-8E98-59AB06A250E4\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 20,\\n \\"TransitRouterAttachments\\": [\\n {\\n \\"CreationTime\\": \\"2022-07-08T08:45Z\\",\\n \\"Status\\": \\"Attached\\",\\n \\"TransitRouterAttachmentId\\": \\"tr-attach-a6p8voaodog5c0****\\",\\n \\"TransitRouterId\\": \\"tr-p0wm740vjnbaprv0m****\\",\\n \\"ResourceType\\": \\"VPN\\",\\n \\"VpnOwnerId\\": 1210123456123456,\\n \\"VpnId\\": \\"vco-p0wtu1xgd0l7fjo7k****\\",\\n \\"TransitRouterAttachmentDescription\\": \\"desctest\\",\\n \\"VpnRegionId\\": \\"cn-hangzhou\\",\\n \\"AutoPublishRouteEnabled\\": true,\\n \\"TransitRouterAttachmentName\\": \\"nametest\\",\\n \\"Zones\\": [\\n {\\n \\"ZoneId\\": \\"cn-hangzhou-h\\"\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"value_A1\\"\\n }\\n ],\\n \\"ChargeType\\": \\"POSTPAY\\",\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\\\n\\",\\n \\"OrderType\\": \\"PayByCenOwner\\"\\n }\\n ]\\n}","type":"json"}]',
],
'ListTransitRouters' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Valid values: **1** to **50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'required' => false, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the transit router is deployed.'."\n"
."\n"
.'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'You can specify up to 20 tags.',
'type' => 'array',
'items' => [
'description' => 'The tag.',
'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 start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.'."\n"
."\n"
.'You can specify up to 20 tag keys.', 'type' => 'string', 'required' => false, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'The tag value can be an empty string or a string of up to 128 characters. It cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.'."\n"
."\n"
.'Each tag key must have a unique tag value. You can specify up to 20 tag values.', 'type' => 'string', 'required' => false, 'example' => 'TagValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the transit router.'."\n"
."\n"
.'- **Creating**: The transit router is being created.'."\n"
."\n"
.'- **Active**: The transit router is available.'."\n"
."\n"
.'- **Modifying**: The transit router is being modified.'."\n"
."\n"
.'- **Deleting**: The transit router is being deleted.'."\n"
."\n"
.'- **Upgrading**: The transit router is being upgraded.', 'type' => 'string', 'required' => false, 'example' => 'Active', 'title' => ''],
],
[
'name' => 'Type',
'in' => 'query',
'schema' => ['description' => 'The type of the transit router.'."\n"
."\n"
.'- **Enterprise**: Enterprise Edition.'."\n"
."\n"
.'- **Basic**: Basic Edition.', 'type' => 'string', 'required' => false, 'example' => 'Enterprise', 'title' => ''],
],
[
'name' => 'TransitRouterName',
'in' => 'query',
'schema' => ['description' => 'The name of the transit router.'."\n"
."\n"
.'The name must be 1 to 128 characters in length and cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'FeatureFilter',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The feature to be filtered.',
'type' => 'array',
'items' => [
'description' => 'The feature to be filtered.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of the feature to be filtered.'."\n"
.'The following key is supported:'."\n"
."\n"
.'- **Multicast**: the multicast feature.', 'type' => 'string', 'required' => false, 'example' => 'Multicast', 'title' => ''],
'Value' => [
'description' => 'A list of values for the feature.'."\n"
.'If you set the key to **Multicast**, you can specify only one value. Valid values:'."\n"
."\n"
.'- **Enabled**: Multicast is supported.'."\n"
."\n"
.'- **Disabled**: Multicast is not supported.',
'type' => 'array',
'items' => ['description' => 'The value of the feature.'."\n"
.'If you set the key to **Multicast**, you can set the value to one of the following options:'."\n"
."\n"
.'- **Enabled**: Multicast is supported.'."\n"
."\n"
.'- **Disabled**: Multicast is not supported.', 'type' => 'string', 'required' => false, 'example' => 'Enabled', 'title' => ''],
'required' => false,
'maxItems' => 1,
'title' => '',
'example' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 1,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '68521297-5FA6-46CB-B4EB-658F1C68C8CC', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TransitRouters' => [
'description' => 'A list of transit routers.',
'type' => 'array',
'items' => [
'description' => 'The information about the transit router.',
'type' => 'object',
'properties' => [
'CreationTime' => ['description' => 'The time when the transit router was created.'."\n"
."\n"
.'The time is displayed in the `YYYY-MM-DDThh:mmZ` format in UTC.', 'type' => 'string', 'example' => '2021-03-15T09:39Z', 'title' => ''],
'Type' => ['description' => 'The type of the transit router.'."\n"
."\n"
.'- **Enterprise**: Enterprise Edition.'."\n"
."\n"
.'- **Basic**: Basic Edition.', 'type' => 'string', 'example' => 'Enterprise', 'title' => ''],
'Status' => ['description' => 'The status of the transit router.'."\n"
."\n"
.'- **Creating**: The transit router is being created.'."\n"
."\n"
.'- **Active**: The transit router is available.'."\n"
."\n"
.'- **Modifying**: The transit router is being modified.'."\n"
."\n"
.'- **Deleting**: The transit router is being deleted.'."\n"
."\n"
.'- **Upgrading**: The transit router is being upgraded.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'TransitRouterId' => ['description' => 'The ID of the transit router.', 'type' => 'string', 'example' => 'tr-bp1su1ytdxtataupl****', 'title' => ''],
'TransitRouterDescription' => ['description' => 'The description of the transit router.', 'type' => 'string', 'example' => 'testdesc', 'title' => ''],
'TransitRouterName' => ['description' => 'The name of the transit router.', 'type' => 'string', 'example' => 'testname', 'title' => ''],
'CenId' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'example' => 'cen-j3jzhw1zpau2km****', 'title' => ''],
'AliUid' => ['description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'example' => '1210123456123456', 'title' => ''],
'RegionId' => ['description' => 'The ID of the region where the transit router is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'SupportMulticast' => ['description' => 'Indicates whether the multicast feature is enabled for the transit router.'."\n"
."\n"
.'- **true**: enabled.'."\n"
."\n"
.'- **false**: disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'TransitRouterCidrList' => [
'description' => 'A list of CIDR blocks of the transit router.',
'type' => 'array',
'items' => [
'description' => 'The CIDR block of the transit router.',
'type' => 'object',
'properties' => [
'Cidr' => ['description' => 'The CIDR block of the transit router.', 'type' => 'string', 'example' => '192.168.1.0/24', 'title' => ''],
'Name' => ['description' => 'The name of the CIDR block.', 'type' => 'string', 'example' => 'CIDRname', 'title' => ''],
'Description' => ['description' => 'The description of the CIDR block.', 'type' => 'string', 'example' => 'CIDRdesc', 'title' => ''],
'TransitRouterCidrId' => ['description' => 'The ID of the CIDR block.', 'type' => 'string', 'example' => 'cidr-46p5ceg21e8152****', 'title' => ''],
'PublishCidrRoute' => ['description' => 'Indicates whether the system automatically adds a route for the transit router CIDR block to the route table of the transit router.'."\n"
."\n"
.'- **true**: Yes.'."\n"
."\n"
.' If this parameter is set to **true**, after you create a VPN connection of the private gateway type and enable route learning for the VPN connection, the system automatically adds a blackhole route to the route table of the transit router that is in a route learning correlation with the VPN connection.'."\n"
."\n"
.' The destination CIDR block of the blackhole route is the CIDR block of the transit router. The CIDR block of the transit router is the CIDR block from which an IP address is allocated to the IPsec-VPN connection.'."\n"
."\n"
.' This blackhole route is advertised only to the route tables of the virtual border routers (VBRs) that are connected to the transit router.'."\n"
."\n"
.'- **false**: No.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'Tags' => [
'description' => 'A list of tags.',
'type' => 'array',
'items' => [
'description' => 'The tag.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TagValue', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameterCombination.TransitRouter', 'errorMessage' => 'Region ID is required if no TransitRouterId or CenId specified.', 'description' => 'The error message returned because you must specify at least a region, a transit router ID, or a CEN instance ID.'],
['errorCode' => 'InvalidOperation.UnsupportFilterValue', 'errorMessage' => 'The specified FeatureFilter Value is not supported by this operation.', 'description' => 'The error message returned because the specified filter value is invalid.'],
['errorCode' => 'InvalidOperation.UnsupportFilter', 'errorMessage' => 'The specified FeatureFilter is not supported by this operation.', 'description' => 'The error message returned because the specified filter is invalid.'],
['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ListTransitRouters',
'summary' => 'You can call the ListTransitRouters operation to query information about transit routers in a Cloud Enterprise Network (CEN) instance, such as the instance type, status, instance ID, and whether the multicast feature is enabled.',
'description' => 'When you call this operation to query transit routers in a CEN instance, you can specify the **RegionId** and **TransitRouterId** parameters. Note the following information about these parameters:'."\n"
."\n"
.'- If you do not specify **RegionId** or **TransitRouterId**, all transit routers in the CEN instance are queried.'."\n"
."\n"
.'- If you specify only **RegionId**, the transit routers in the specified region are queried.'."\n"
."\n"
.'- If you specify only **TransitRouterId**, the specified transit router is queried.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-10-18T02:08:50.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-09T06:59:58.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-02T03:57:37.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2022-11-22T08:58:44.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2021-12-31T03:16:04.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouters'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouters',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"68521297-5FA6-46CB-B4EB-658F1C68C8CC\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"TransitRouters\\": [\\n {\\n \\"CreationTime\\": \\"2021-03-15T09:39Z\\",\\n \\"Type\\": \\"Enterprise\\",\\n \\"Status\\": \\"Active\\",\\n \\"TransitRouterId\\": \\"tr-bp1su1ytdxtataupl****\\",\\n \\"TransitRouterDescription\\": \\"testdesc\\",\\n \\"TransitRouterName\\": \\"testname\\",\\n \\"CenId\\": \\"cen-j3jzhw1zpau2km****\\",\\n \\"AliUid\\": 1210123456123456,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"SupportMulticast\\": false,\\n \\"TransitRouterCidrList\\": [\\n {\\n \\"Cidr\\": \\"192.168.1.0/24\\",\\n \\"Name\\": \\"CIDRname\\",\\n \\"Description\\": \\"CIDRdesc\\",\\n \\"TransitRouterCidrId\\": \\"cidr-46p5ceg21e8152****\\",\\n \\"PublishCidrRoute\\": true\\n }\\n ],\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TagKey\\",\\n \\"Value\\": \\"TagValue\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
],
'ModifyCenAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The name of the CEN instance.'."\n"
."\n"
.'The name can be empty or must be 1 to 128 characters in length. The name cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the CEN instance.'."\n"
."\n"
.'The description can be empty or must be 1 to 256 characters in length. The description cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'cen', 'title' => ''],
],
[
'name' => 'ProtectionLevel',
'in' => 'query',
'schema' => ['description' => 'The level of CIDR block overlap.'."\n"
."\n"
.'Set the value to **REDUCED**. This is the default value. This value specifies that CIDR blocks can overlap but cannot be identical.', 'type' => 'string', 'required' => false, 'example' => 'REDUCED', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '13526224-5780-4426-8BDF-BC8B08700F22', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.EnhanceProtectionLevel', 'errorMessage' => 'Your request to enhance CBN protection level cannot be processed. Please contact customer support to continue this operation.', 'description' => 'Your request to enhance CBN protection level cannot be processed. Please contact customer support to continue this operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ModifyCenAttribute',
'summary' => 'The ModifyCenAttribute operation modifies the name and description of a Cloud Enterprise Network (CEN) instance.',
'description' => '**ModifyCenAttribute** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the CEN instance is not modified immediately. The system modifies the instance in the background. You can call the **DescribeCens** operation to query the status of the CEN instance.'."\n"
."\n"
.'- If a CEN instance is in the **Modifying** state, the modification is in progress. In this state, you can only query the instance and cannot perform other operations.'."\n"
."\n"
.'- If a CEN instance is in the **Active** state, the modification is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8BDF-BC8B08700F22\\"\\n}","type":"json"}]',
],
'ModifyCenBandwidthPackageAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The new name for the bandwidth plan.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters long. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The new description for the bandwidth plan.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters long. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'example' => 'Bandwidth package', 'required' => false, 'title' => ''],
],
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenbwp-4c2zaavbvh5fx****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '13526224-5780-4426-8ADF-BC8B08700F23', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8ADF-BC8B08700F23\\"\\n}","type":"json"}]',
'title' => 'ModifyCenBandwidthPackageAttribute',
'summary' => 'You can call the ModifyCenBandwidthPackageAttribute operation to modify the name and description of a bandwidth plan.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenBandwidthPackageAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenBandwidthPackageAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyCenBandwidthPackageSpec' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenbwp-4c2zaavbvh5x****', 'title' => ''],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The new maximum bandwidth of the bandwidth plan. Unit: Mbps.'."\n"
."\n"
.'Valid values: **2** to **10000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'example' => '2', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Operation.Failed', 'errorMessage' => 'Spec of the specified bandwidth package is not changed, please check again.', 'description' => 'The error message returned because the specification of the bandwidth plan is not modified.'],
['errorCode' => 'InvalidStatus.Resource', 'errorMessage' => 'The status of the specified resource is invalid. The resource cannot be renewed.', 'description' => 'The error message returned because the status of the specified resource is invalid. The resource cannot be renewed.'],
['errorCode' => 'OperationFailed.InsufficientBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => 'The error message returned because your Alibaba Cloud account has overdue payments.'],
['errorCode' => 'OperationFailed.OperationIsProcessing', 'errorMessage' => 'The operation failed because another operation is being processed.', 'description' => 'The error message returned because another operation is being performed.'],
['errorCode' => 'OperationFailed.OrderIsProcessing', 'errorMessage' => 'The operation failed because the order is being processed.', 'description' => 'The error message returned because the order is being processed.'],
['errorCode' => 'OperationFailed.UpDownRadeConfigNoChange', 'errorMessage' => 'The operation failed because the config not change.', 'description' => 'The error message returned because the configurations are not modified.'],
['errorCode' => 'InvalidOperation.SaleValidateFailed', 'errorMessage' => 'Sales expression validation system error.', 'description' => 'Sales expression validation system error.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ModifyCenBandwidthPackageSpec',
'summary' => 'Modifies the maximum bandwidth of a bandwidth plan.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-30T08:45:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-17T06:58:38.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenBandwidthPackageSpec'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenBandwidthPackageSpec',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'ModifyCenRouteMap' => [
'summary' => 'Modifies a routing policy of a Cloud Enterprise Network (CEN) instance.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72411',
'abilityTreeNodes' => ['FEATUREcbnL0VP69', 'FEATUREcbnCEHNQQ', 'FEATUREcbnK70KRY'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'CenRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region in which the routing policy is applied.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'RouteMapId',
'in' => 'query',
'schema' => ['description' => 'The ID of the routing policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenrmap-abcdedfghij****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the routing policy.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'MapResult',
'in' => 'query',
'schema' => [
'description' => 'The action to be performed on a route that meets all the match conditions. Valid values:'."\n"
."\n"
.'- **Permit**: the route is permitted.'."\n"
."\n"
.'- **Deny**: the route is denied.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['Permit', 'Deny'],
'example' => 'Permit',
'title' => '',
],
],
[
'name' => 'NextPriority',
'in' => 'query',
'schema' => ['description' => 'The priority of the routing policy that you want to associate with the current one.'."\n"
."\n"
.'- This parameter takes effect only when the **MapResult** parameter is set to **Permit**. This way, the permitted route is matched against the next routing policy.'."\n"
."\n"
.'- The region and direction of the routing policy to be associated must be the same as those of the current routing policy.'."\n"
."\n"
.'- The priority of the routing policy to be associated must be lower than the priority of the current routing policy.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '20', 'title' => ''],
],
[
'name' => 'CidrMatchMode',
'in' => 'query',
'schema' => [
'description' => 'The match method that is used to match routes against the prefix list. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. A route is a match if the route prefix is included in the match conditions.'."\n"
."\n"
.'For example, if you set the match condition to 10.10.0.0/16 and fuzzy match is applied, the route whose prefix is 10.10.1.0/24 meets the match condition.'."\n"
."\n"
.'- **Complete**: exact match. A route is a match only if the route prefix is the same as the prefix specified in the match condition.'."\n"
."\n"
.'For example, if you set the match condition to 10.10.0.0/16 and exact match is applied, only the route whose prefix is 10.10.0.0/16 meets the match condition.',
'type' => 'string',
'required' => false,
'enum' => ['Include', 'Complete'],
'example' => 'Include ',
'title' => '',
],
],
[
'name' => 'AsPathMatchMode',
'in' => 'query',
'schema' => [
'description' => 'The match method that is used to match routes based on the AS path. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. A route is a match if the AS path of the route overlaps with the AS path in the match conditions.'."\n"
."\n"
.'- **Complete**: exact match. A route is a match only if the AS path of the route matches the AS path in the match conditions.',
'type' => 'string',
'required' => false,
'enum' => ['Include', 'Complete'],
'example' => 'Include',
'title' => '',
],
],
[
'name' => 'CommunityMatchMode',
'in' => 'query',
'schema' => [
'description' => 'The match method that is used to match routes based on the community. Valid values:'."\n"
."\n"
.'- **Include**: fuzzy match. A route is a match if the community of the route overlaps with the community in the match conditions.'."\n"
."\n"
.'- **Complete**: exact match. A route is a match only if the community of the route matches the community in the match conditions.',
'type' => 'string',
'required' => false,
'enum' => ['Include', 'Complete', 'Contain'],
'example' => 'Include',
'title' => '',
],
],
[
'name' => 'CommunityOperateMode',
'in' => 'query',
'schema' => [
'description' => 'The action to be performed on the community. Valid values:'."\n"
."\n"
.'- **Additive**: adds the community to the route.'."\n"
."\n"
.'- **Replace**: replaces the original community of the route.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition.',
'type' => 'string',
'required' => false,
'enum' => ['Additive', 'Replace'],
'example' => 'Additive',
'title' => '',
],
],
[
'name' => 'Preference',
'in' => 'query',
'schema' => ['description' => 'The new priority of the route.'."\n"
."\n"
.'Valid values: **1** to **100**. The default priority is **50**. A smaller value indicates a higher priority.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '22', 'title' => ''],
],
[
'name' => 'Priority',
'in' => 'query',
'schema' => ['description' => 'The priority of the routing policy. Valid values: **1** to **100**. A smaller value indicates a higher priority.'."\n"
."\n"
.'> You cannot specify the same priority for routing policies that apply in the same region and direction. The system matches routes against the match conditions of routing policies in descending order of priority. A smaller value indicates a higher priority. You must set the priorities to proper values.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '1000', 'minimum' => '1', 'example' => '10', 'title' => ''],
],
[
'name' => 'SourceInstanceIdsReverseMatch',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to exclude source instance IDs. Valid values:'."\n"
."\n"
.'- **false** (default): A route is a match if the source instance ID is included in the list specified by **SourceInstanceIds.N**.'."\n"
."\n"
.'- **true**: A route is a match if the source network instance ID is not in the list specified by **SourceInstanceIds.N**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'DestinationInstanceIdsReverseMatch',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to exclude destination instance IDs. Valid values:'."\n"
."\n"
.'- **false** (default): A route is a match if the destination instance ID is included in the list specified by **SourceInstanceIds.N**.'."\n"
."\n"
.'- **true**: A route is a match if the destination network instance ID is not in the list specified by **SourceInstanceIds.N**.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'MatchAddressType',
'in' => 'query',
'schema' => ['description' => 'The type of IP address in the match condition. Valid values:'."\n"
."\n"
.'- **IPv4**: IPv4 address'."\n"
."\n"
.'- **IPv6**: IPv6 address'."\n"
."\n"
.'This parameter can be empty. If no value is specified, all types of IP address are a match.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
[
'name' => 'SourceInstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the source network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- Virtual private cloud (VPC)'."\n"
."\n"
.'- Virtual border router (VBR)'."\n"
."\n"
.'- Cloud Connect Network (CCN) instance'."\n"
."\n"
.'- Smart Access Gateway (SAG) instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.',
'type' => 'array',
'items' => ['description' => 'The IDs of the source network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- VPC'."\n"
."\n"
.'- VBR'."\n"
."\n"
.'- CCN instance'."\n"
."\n"
.'- SAG instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.', 'type' => 'string', 'required' => false, 'example' => 'vpc-afsfdf5435vcvc****', 'title' => ''],
'required' => false,
'example' => 'vpc-afsfdf5435vcvc****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'DestinationInstanceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the destination network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- VPC'."\n"
."\n"
.'- VBR'."\n"
."\n"
.'- CCN instance'."\n"
."\n"
.'- SAG instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.'."\n"
."\n"
.'> The destination instance IDs take effect only when Direction is set to Export from Regional Gateway and the destination instances are deployed in the current region.',
'type' => 'array',
'items' => ['description' => 'The IDs of the destination network instances to which the routes belong. The following network instance types are supported:'."\n"
."\n"
.'- VPC'."\n"
."\n"
.'- VBR'."\n"
."\n"
.'- CCN instance'."\n"
."\n"
.'- SAG instance'."\n"
."\n"
.'- The ID of the IPsec-VPN connection.'."\n"
."\n"
.'You can enter at most 64 IDs.'."\n"
."\n"
.'> The destination instance IDs take effect only when Direction is set to Export from Regional Gateway and the destination instances are deployed in the current region.', 'type' => 'string', 'required' => false, 'example' => 'vpc-avcdsg34ds****', 'title' => ''],
'required' => false,
'example' => 'vpc-avcdsg34ds****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'SourceRouteTableIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the source route tables to which the routes belong. You can enter at most 64 route table IDs.',
'type' => 'array',
'items' => ['description' => 'The IDs of the source route tables to which the routes belong. You can enter at most 64 route table IDs.', 'type' => 'string', 'required' => false, 'example' => 'vtb-acdbvtbr342cd****', 'title' => ''],
'required' => false,
'example' => 'vtb-acdbvtbr342cd****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'DestinationRouteTableIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the destination route tables to which the routes belong. You can enter at most 64 route table IDs.'."\n"
."\n"
.'> The destination route table IDs take effect only when Direction is set to Export from Regional Gateway and the destination route tables belong to network instances deployed in the current region.',
'type' => 'array',
'items' => ['description' => 'The IDs of the destination route tables to which the routes belong. You can enter at most 64 route table IDs.'."\n"
."\n"
.'> The destination route table IDs take effect only when Direction is set to Export from Regional Gateway and the destination route tables belong to network instances deployed in the current region.', 'type' => 'string', 'required' => false, 'example' => 'vtb-adfg53c322v****', 'title' => ''],
'required' => false,
'example' => 'vtb-adfg53c322v****',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'SourceRegionIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the source regions to which the routes belong. You can enter at most 64 region IDs.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.',
'type' => 'array',
'items' => ['description' => 'The IDs of the source regions to which the routes belong. You can enter at most 64 region IDs.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
'required' => false,
'example' => 'cn-beijing',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'SourceChildInstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The types of source network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN** :VPN gateway or IPsec-VPN connection'."\n"
."\n"
.' - If the IPsec-VPN connection or SSL client is associated with a VPN gateway, the VPC associated with the VPN gateway must be connected to a transit router, and the VPN gateway must use Border Gateway Protocol (BGP) dynamic routing. Otherwise, this parameter cannot take effect.'."\n"
."\n"
.' - This parameter takes effect if the IPsec connection is directly connected to a transit router.',
'type' => 'array',
'items' => ['description' => 'The types of source network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN** :VPN gateway or IPsec-VPN connection'."\n"
."\n"
.' - If the IPsec-VPN connection or SSL client is associated with a VPN gateway, the VPC associated with the VPN gateway must be connected to a transit router, and the VPN gateway must use BGP dynamic routing. Otherwise, this parameter cannot take effect.'."\n"
."\n"
.' - This parameter takes effect if the IPsec connection is directly connected to a transit router.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
'required' => false,
'example' => 'VPC',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'DestinationChildInstanceTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The types of destination network instance to which the routes belong. The following types of network instances are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN**: IPsec connection'."\n"
."\n"
.' > This parameter does not take effect if the IPsec-VPN connection or SSL client is associated with a transit router through a VPN gateway and a VPC. This parameter takes effect only if the IPsec connection is directly connected to the transit router.'."\n"
."\n"
.'The destination network instance types are valid only if the routing policy is applied to scenarios where routes are advertised from the gateway in the current region to network instances in the current region.',
'type' => 'array',
'items' => ['description' => 'The types of destination network instance to which the routes belong. The following types of network instance are supported:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
."\n"
.'- **VBR**: VBR'."\n"
."\n"
.'- **CCN**: CCN instance'."\n"
."\n"
.'- **VPN**: IPsec connection'."\n"
."\n"
.' > This parameter does not take effect if the IPsec-VPN connection or SSL client is associated with a transit router through a VPN gateway and a VPC.\\*\\* This parameter takes effect only if the IPsec connection is directly connected to the transit router.'."\n"
."\n"
.'The destination network instance types are valid only if the routing policy is applied to scenarios where routes are advertised from the gateway in the current region to network instances in the current region.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
'required' => false,
'example' => 'VPC',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'DestinationCidrBlocks',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The prefix list against which routes are matched.'."\n"
."\n"
.'You must specify the IP addresses in CIDR notation. You can enter at most 64 CIDR blocks.',
'type' => 'array',
'items' => ['description' => 'The prefix list against which routes are matched.'."\n"
."\n"
.'You must specify the IP addresses in CIDR notation. You can enter at most 64 CIDR blocks.', 'type' => 'string', 'required' => false, 'example' => '10.10.10.0/24', 'title' => ''],
'required' => false,
'example' => '10.10.10.0/24',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'RouteTypes',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The type of route to be matched against the match condition. The following route types are supported:'."\n"
."\n"
.'- **System**: system routes that are automatically generated by the system.'."\n"
."\n"
.'- **Custom**: custom routes that are manually added.'."\n"
."\n"
.'- **BGP**: routes that are advertised over BGP.',
'type' => 'array',
'items' => ['description' => 'The type of route to be matched against the match condition. The following route types are supported:'."\n"
."\n"
.'- **System**: system routes that are automatically generated by the system.'."\n"
."\n"
.'- **Custom**: custom routes that are manually added.'."\n"
."\n"
.'- **BGP**: routes that are advertised over BGP.', 'type' => 'string', 'required' => false, 'example' => 'System', 'title' => ''],
'required' => false,
'example' => 'System',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'MatchAsns',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The AS paths against which routes are matched.'."\n"
."\n"
.'> Only the AS-SEQUENCE parameter is supported. The AS-SET, AS-CONFED-SEQUENCE, and AS-CONFED-SET parameters are not supported. In other words, only the AS number list is supported. Sets and sub-lists are not supported.',
'type' => 'array',
'items' => ['description' => 'The AS paths against which routes are matched.'."\n"
."\n"
.'> Only the AS-SEQUENCE parameter is supported. The AS-SET, AS-CONFED-SEQUENCE, and AS-CONFED-SET parameters are not supported. In other words, only the AS number list is supported. Sets and sub-lists are not supported.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '65501', 'title' => ''],
'required' => false,
'example' => '65501',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'MatchCommunitySet',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The community against which routes are matched.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with the RFC 1997 standard. The RFC 8092 standard that defines BGP large communities is not supported.'."\n"
."\n"
.'You can specify at most 64 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.',
'type' => 'array',
'items' => ['description' => 'The community against which routes are matched.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with the RFC 1997 standard. The RFC 8092 standard that defines BGP large communities is not supported.'."\n"
."\n"
.'You can specify at most 64 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.', 'type' => 'string', 'required' => false, 'example' => '65501:1', 'title' => ''],
'required' => false,
'example' => '65501:1',
'maxItems' => 64,
'title' => '',
],
],
[
'name' => 'OperateCommunitySet',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The community set on which actions are performed.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with RFC 1997. The RFC 8092 standard that defines BGP large communities is not supported.'."\n"
."\n"
.'You can specify at most 32 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.',
'type' => 'array',
'items' => ['description' => 'The community set on which actions are performed.'."\n"
."\n"
.'Specify the community in the format of n:m. Valid values of n and m: **1** to **65535**. Each community must comply with RFC 1997. The RFC 8092 standard that defines BGP large communities is not supported.'."\n"
."\n"
.'You can specify at most 32 communities.'."\n"
."\n"
.'> If the configurations of the communities are incorrect, routes may fail to be advertised to your data center.', 'type' => 'string', 'required' => false, 'example' => '65501:1', 'title' => ''],
'required' => false,
'example' => '65501:1',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'PrependAsPath',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
."\n"
.'The AS paths vary based on the direction in which the routing policy is applied:'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the inbound direction, you must specify source network instance IDs and the source region in the match condition. In addition, the source region must be the same as the region where the routing policy is applied.'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the outbound direction, you must specify destination network instance IDs in the match condition.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition.',
'type' => 'array',
'items' => ['description' => 'The AS paths that are prepended by using an action statement when regional gateways receive or advertise routes.'."\n"
."\n"
.'The AS paths vary based on the direction in which the routing policy is applied:'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the inbound direction, you must specify source network instance IDs and the source region in the match condition. In addition, the source region must be the same as the region where the routing policy is applied.'."\n"
."\n"
.'- If AS paths are prepended to a routing policy that is applied in the outbound direction, you must specify destination network instance IDs in the match condition.'."\n"
."\n"
.'This parameter specifies the action to be performed when a route meets the match condition.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '65501', 'title' => ''],
'required' => false,
'example' => '65501',
'maxItems' => 32,
'title' => '',
],
],
[
'name' => 'DestinationRegionIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The destination region IDs of the route. You can specify at most 64 region IDs.',
'type' => 'array',
'items' => ['description' => 'The destination region IDs of the route. You can specify at most 64 region IDs.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''],
'required' => false,
'maxItems' => 64,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457 ', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.NoEffictiveAction', 'errorMessage' => 'No effective action be configured.', 'description' => 'The error message returned because the specified action is invalid.'],
['errorCode' => 'InvalidOperation.CenRouteMapExist', 'errorMessage' => 'Operation is invalid because an route map config exist.', 'description' => 'The error message returned because this operation is not supported when a routing policy exists.'],
['errorCode' => 'Invid.Parameter', 'errorMessage' => 'When using GatewayRegionId, SourceRegionId must not be null', 'description' => 'The error message returned because the GatewayRegionId and SourceRegionId parameters must be set.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidParam.DestinationInstanceIds', 'errorMessage' => 'When using "PrependAsPath" in the "RegionOut", "DestinationInstanceIds" must be local region instances.', 'description' => 'When using the PrependAsPath option in a RegionOut configuration, the DestinationInstanceIds target instance should be within the local domain.'],
['errorCode' => 'Forbidden.NoMedAuthorized', 'errorMessage' => 'Med operation is unauthorized.', 'description' => 'Unable to operate on the specified Med routing policy.'],
['errorCode' => 'InvalidOperation.MedRouteMapExist', 'errorMessage' => 'Operation is invalid because the default med route map already exist.', 'description' => 'The operation is invalid because there is already a med routeMap with the next hop destination for this Ecr instance.'],
['errorCode' => 'InvalidOperation.MedRouteMapNotAllowedOtherAction', 'errorMessage' => 'Operation is invalid because the default med not allowed other action.', 'description' => 'the med policy does not allow to configure other policies.'],
['errorCode' => 'InvalidOperation.MedRouteMapActionMustPermit', 'errorMessage' => 'Operation is invalid because the default med map result must be permit.', 'description' => 'Operation is invalid because the default med map result must be permit.'],
['errorCode' => 'InvalidParameter.MedRouteMapDestInstanceIds', 'errorMessage' => 'Param DestInstanceIds must be ecr instance id.', 'description' => 'The destination instance list of med routeMap must be ECR instance.'],
['errorCode' => 'InvalidParameter.MedRouteMapDestInstanceType', 'errorMessage' => 'Param DestChildInstanceTypes must be ecr.', 'description' => 'The destination instance type of the med routeMap must be ECR.'],
['errorCode' => 'InvalidOperation.PrependAsPathWithInvalidSourceRegionId', 'errorMessage' => 'When using PrependAsPath in the RegionIn direction, SourceRegionId must be local region ID.', 'description' => 'When using PrependAsPath in the RegionIn direction, SourceRegionId must be local region ID.'],
['errorCode' => 'InvalidOperation.PrependAsPathWithInvalidSourceInstanceIds', 'errorMessage' => 'When using PrependAsPath in the RegionIn direction, SourceInstanceIds must be local instance ids.', 'description' => 'When using PrependAsPath in the RegionIn direction, SourceInstanceIds must be local instance ids.'],
['errorCode' => 'InvalidOperation.TransitRouterNotExist', 'errorMessage' => 'Operation is invalid because the transit router not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.RouteMapId', 'errorMessage' => 'The specified parameter RouteMapId is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeCenRouteMaps', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\\\t\\"\\n}","type":"json"}]',
'title' => 'ModifyCenRouteMap',
'description' => '`ModifyCenRouteMap` is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the `DescribeCenRouteMaps` operation to query the status of a routing policy.'."\n"
."\n"
.'- **Modifying**: indicates that the system is modifying the routing policy. You can only query the routing policy, but cannot perform other operations.'."\n"
."\n"
.'- **Active**: indicates that the routing policy is modified.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-01-02T10:04:09.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-12-10T09:02:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-12-06T11:09:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-18T04:12:39.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-09-10T08:13:54.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-09-10T02:52:25.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-07-10T08:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-13T02:46:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-07-19T02:45:35.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenRouteMap'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenRouteMap',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
],
'ModifyFlowLogAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72413',
'abilityTreeNodes' => ['FEATUREcbnKD6E3I', 'FEATUREcbnMGIE06'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The unique, one-use client token that is used to ensure the idempotence of the request. It can contain only ASCII characters.'."\n"
."\n"
.'> If you leave this parameter empty, the system automatically uses the **request ID** as the **client token**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-42665544****'],
],
[
'name' => 'FlowLogName',
'in' => 'query',
'schema' => ['description' => 'The new 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, 'title' => '', 'example' => 'myFlowlog'],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The new description of the flow log.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'myFlowlog'],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the flow log is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'FlowLogId',
'in' => 'query',
'schema' => ['description' => 'The ID of the flow log.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'flowlog-m5evbtbpt****'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
[
'name' => 'Interval',
'in' => 'query',
'schema' => ['description' => 'The duraton of the capture window. Unit: seconds. Valid values: **60** and **600**. Default value: **600**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '600'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n"
."\n"
.'- **true**'."\n"
.'- **false**', 'type' => 'string', 'title' => '', 'example' => 'true'],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '9A411874-2EC8-4633-9D30-9012DCE89DD1'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter.FlowLogId', 'errorMessage' => 'The specified flowlog id does not exist or does not match the cen Id.', 'description' => 'The error message returned because the specified flow log ID is invalid.'],
['errorCode' => 'IncorrectStatus.flowlog', 'errorMessage' => 'Invalid flowlog status.', 'description' => 'The error message returned because the status of the flow log does not support this operation. Try again later.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidOperation.IntervalMismatch', 'errorMessage' => 'The interval of FlowLog should be less than or equal to the interval of related Traffic Analyzer.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::DescribeFlowlogs', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'ModifyFlowLogAttribute',
'summary' => 'Modifies the name, description, and capture window of a flow log.',
'description' => 'This operation is executed asynchronously. After receiving a request, the system returns a **request ID** before it finishes modifying the flow log. The task is continued in the backend. You can call `DescribeFlowlogs` to check whether the task has been completed.'."\n"
."\n"
.'- If the flow log is in the **Modifying** state, it is still being modified. In this case, you can query information about the flow log but cannot perform other operations on it.'."\n"
.'- If the flow log is in the **Active** state, the modification task has been completed.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-14T07:05:42.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-11-14T03:49:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-05-22T01:48:54.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyFlowLogAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Success\\": \\"true\\",\\n \\"RequestId\\": \\"9A411874-2EC8-4633-9D30-9012DCE89DD1\\"\\n}","type":"json"}]',
],
'ModifyGrantInstanceToTransitRouter' => [
'path' => '',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maxLength' => 128, 'minLength' => 4, 'example' => 'cen-dc4vwznpwbobrl****', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maxLength' => 64, 'minLength' => 4, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => [
'description' => 'The payer for the network instance.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'title' => '',
'example' => 'PayByCenOwner',
],
],
[
'name' => 'ClientToken',
'in' => 'formData',
'schema' => ['description' => 'A token used to ensure the idempotence of the request.'."\n"
."\n"
.'You can generate this token from your client, but you must ensure it is unique for each request. The client 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** is unique for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1', 'title' => ''],
],
'title' => '',
'description' => 'Response body.',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.action', 'errorMessage' => 'This action is not support.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'OperationFailed.GrantCrossAccountNotExist', 'errorMessage' => 'Cross-account authorization does not exist.', 'description' => 'Cross-account authorization does not exist.'],
['errorCode' => 'MissingParameter.CenId', 'errorMessage' => 'The parameter CenId is mandatory.', 'description' => 'The parameter CenId is mandatory.'],
['errorCode' => 'MissingParameter.InstanceId', 'errorMessage' => 'The parameter InstanceId is mandatory.', 'description' => 'The parameter InstanceId is mandatory.'],
['errorCode' => 'MissingParameter.OrderType', 'errorMessage' => 'The parameter OrderType is mandatory.', 'description' => 'The parameter OrderType is mandatory.'],
['errorCode' => 'InvalidParameter.OrderType', 'errorMessage' => 'The specified parameter OrderType is invalid.', 'description' => 'The specified parameter OrderType is invalid.'],
['errorCode' => 'Forbbiden.TransitRouterServiceNotOpen', 'errorMessage' => 'The user has not open transit router service.', 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['errorCode' => 'Forbidden.TransitRouterServiceExpired', 'errorMessage' => 'The transit router service is out of service.', 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['errorCode' => 'Forbidden.CenOwnerTransitRouterServiceNotOpen', 'errorMessage' => 'The cen owner user has not opened transit router service.', 'description' => 'The transit router service for the cen owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['errorCode' => 'Forbidden.CenOwnerTransitRouterServiceExpired', 'errorMessage' => 'The transit router service of the account to which the cen belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'description' => 'The transit router service of the account to which the cen belongs has been suspended. Please notify the other party to renew the service and try again.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ModifyGrantInstanceToTransitRouter',
'summary' => 'This operation modifies the payer for a cross-account network instance connection to a transit router.',
'description' => 'You can use this operation to modify the payer for a cross-account connection to a transit router, but only if the connected network instance is a Virtual Private Cloud (VPC), virtual border router (VBR), or IPsec instance.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyGrantInstanceToTransitRouter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F7DDDC17-FA06-4AC2-8F35-59D2470FCFC1\\"\\n}","type":"json"}]',
],
'ModifyTrafficMatchRuleToTrafficMarkingPolicy' => [
'summary' => 'Modifies the name and description of a stream classification rule.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '247314',
'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'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 ClientToken parameter supports only ASCII characters.'."\n"
."\n"
.'> If you do not specify this parameter, the system uses the request ID as the client token. The request ID may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: Performs a dry run. The system checks for required parameters, the request format, 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.'."\n"
."\n"
.'- **false** (default): Sends a normal request. After the request passes the check, the stream classification rule is added to the traffic marking policy.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
'name' => 'TrafficMatchRuleId',
'in' => 'query',
'schema' => ['description' => 'The ID of the stream classification rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-rule-fa9kgq1e90rmhc****'."\n", 'title' => ''],
],
[
'name' => 'TrafficMatchRuleName',
'in' => 'query',
'schema' => ['description' => 'The name of the stream classification rule.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. The name cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TrafficMatchRuleDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the stream classification rule.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length. The description cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'descriptiontest', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '13526224-5780-4426-8ADF-BC8B08700F23', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.TrafficMatchRuleName', 'errorMessage' => 'TrafficMatchRuleName is illegal.', 'description' => 'TrafficMatchRuleName is illegal.'],
['errorCode' => 'IllegalParam.TrafficMatchRuleDescription', 'errorMessage' => 'TrafficMatchRuleDescription is illegal.', 'description' => 'TrafficMatchRuleDescription is illegal.'],
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'InvalidTrafficMatchRuleId.NotFound', 'errorMessage' => 'TrafficMatchRuleId is not found.', 'description' => 'TrafficMatchRuleId is not found.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'title' => 'ModifyTrafficMatchRuleToTrafficMarkingPolicy',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyTrafficMatchRuleToTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyTrafficMatchRuleToTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"13526224-5780-4426-8ADF-BC8B08700F23\\"\\n}","type":"json"}]',
],
'ModifyTransitRouteTableAggregation' => [
'summary' => 'Modifies an aggregate route.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '258484',
'abilityTreeNodes' => ['FEATUREcbnT33W0H', 'FEATUREcbn476RI8'],
],
'parameters' => [
[
'name' => 'TransitRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-6ehgc262hr170qgyc****', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationName',
'in' => 'query',
'schema' => ['description' => 'The name of the aggregate route.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => true, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationScope',
'in' => 'query',
'schema' => ['description' => 'The propagation scope of the aggregate route.'."\n"
."\n"
.'The only valid value is **VPC**. This value specifies that the aggregate route is propagated to all VPC instances that are associated with the route table of the Enterprise Edition transit router and have route synchronization enabled.', 'type' => 'string', 'required' => false, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationScopeList',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The list of propagation scopes for the aggregate route.'."\n"
."\n"
.'> You must specify this parameter or \\`TransitRouteTableAggregationScope\\`. We recommend that you specify this parameter. The elements in this list cannot be the same as the value of \\`TransitRouteTableAggregationScope\\`.',
'type' => 'array',
'items' => ['description' => 'The list of propagation scopes for the aggregate route.'."\n"
.'Valid values:'."\n"
."\n"
.'- **VPC**: propagates the aggregate route to all VPC instances that are associated with the route table of the Enterprise Edition transit router and have route synchronization enabled.'."\n"
."\n"
.'- **VBR**: propagates the aggregate route to all VBR instances that are attached to the Enterprise Edition transit router.'."\n"
."\n"
.'- **Peer**: propagates the aggregate route to transit routers that have an inter-region connection with the Enterprise Edition transit router.'."\n"
."\n"
.'- **VPN**: propagates the aggregate route to all VPN attachments that are attached to the Enterprise Edition transit router.'."\n"
."\n"
.'- **ECR**: propagates the aggregate route to all ECR instances that are attached to the Enterprise Edition transit router.', 'type' => 'string', 'required' => false, 'example' => 'VBR', 'title' => ''],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'TransitRouteTableAggregationDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the aggregate route.'."\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, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'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\\` parameter 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.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request and modifies the aggregate route after the request passes the check.'."\n"
."\n"
.'- **true**: sends a check request to perform a dry run. The system checks the required parameters, request format, and permissions. If the check fails, the corresponding error is returned. If the check passes, the \\`DryRunOperation\\` error code is returned. In this case, the aggregate route is not modified.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response body.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.RegionNotSupport', 'errorMessage' => 'The Operation is not Support in this region.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'InstanceNotExist.TransitRouteTable', 'errorMessage' => 'The transitRouter route table is not exist.', 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouteTable', 'errorMessage' => 'The transitRouter route table is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the transit router route table does not support this operation. Try again later.'],
['errorCode' => 'QuotaExceeded.AggregationRoute', 'errorMessage' => 'The aggregation route count is over limit.', 'description' => 'The error message returned because the number of aggregated routes has reached the upper limit.'],
['errorCode' => 'InstanceNotExist.TransitRouter', 'errorMessage' => 'The aggregation route is not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The operation is not supported because of the wrong transitRouter type.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The status of transitRouter is invalid.', 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['errorCode' => 'OperationUnsupported.ServiceMode', 'errorMessage' => 'The operation is not supported because of the wrong transitRouter service mode.', 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'The cidr block is invalid.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'RouteConflict', 'errorMessage' => 'The specified route already exists.', 'description' => 'The specified route already exists.'],
['errorCode' => 'InvalidOperation.InstanceNotSupportIPv6Route', 'errorMessage' => 'The cen dose not support Ipv6 route.', 'description' => ''],
['errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr', 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'OperationUnsupported.ModifyTransitRouteTableAggregation', 'errorMessage' => 'ModifyTransitRouteTableAggregation is unsupported.', 'description' => 'ModifyTransitRouteTableAggregation is unsupported.'],
['errorCode' => 'InvalidParameter.TransitRouteTableAggregationScopeList', 'errorMessage' => 'TransitRouteTableAggregationScopeList is invalid.', 'description' => 'TransitRouteTableAggregationScopeList is invalid.'],
['errorCode' => 'InvalidParameter.TransitRouteTableAggregationScope', 'errorMessage' => 'TransitRouteTableAggregationScope is invalid.', 'description' => 'The propagation scope of the aggregate route is illegal.'],
['errorCode' => 'IncorrectStatus.AggregationRoute', 'errorMessage' => 'The aggregation route is not in a valid state for the operation.', 'description' => 'The aggregation route is not in a valid state for the operation.'],
['errorCode' => 'InstanceNotExist.AggregationRoute', 'errorMessage' => 'The aggregation route is not exist.', 'description' => 'The error message returned because the aggregated route does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ModifyTransitRouteTableAggregation',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyTransitRouteTableAggregation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:ModifyTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'ModifyTransitRouterCidr' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a client token to make sure that the token is unique for each request. 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 is different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Transit Router instance.', 'type' => 'string', 'required' => true, 'example' => 'tr-gw8ergozrv77rtbjd****', 'title' => ''],
],
[
'name' => 'TransitRouterCidrId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CIDR block.'."\n"
."\n"
.'Call the [ListTransitRouterCidr](~~462772~~) operation to query the ID of the CIDR block.', 'type' => 'string', 'required' => true, 'example' => 'cidr-0zv0q9crqpntzz****', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the Transit Router instance is deployed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Name',
'in' => 'query',
'schema' => ['description' => 'The new name of the CIDR block.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The new description of the CIDR block.'."\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' => 'desctest', 'title' => ''],
],
[
'name' => 'Cidr',
'in' => 'query',
'schema' => ['description' => 'The new CIDR block.', 'type' => 'string', 'required' => false, 'example' => '192.168.10.0/24', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. The valid values are:'."\n"
."\n"
.'- **true**: Sends a check request but does not modify the CIDR block. The system checks the required parameters, request format, and service limits. If the request fails the check, the corresponding error is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): Sends a normal request. The CIDR block is modified after the request passes the check.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'PublishCidrRoute',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically add a route that points to the CIDR block to the route table of the transit router.'."\n"
."\n"
.'- **true**: Yes.'."\n"
."\n"
.' This blackhole route is advertised only to the route tables of virtual border routers (VBRs) that are attached to the transit router.'."\n"
."\n"
.'- **false**: No.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0876E54E-3E36-5C31-89F0-9EE8A9266F9A', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.Cidr', 'errorMessage' => 'Cidr is illegal.', 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['errorCode' => 'OperationFailed.CidrBlockAllocated', 'errorMessage' => 'Cidr blocks are allocated from the cidr, which should be released first.', 'description' => 'The error message returned because the specified CIDR block is already occupied. Release the resources that occupy the CIDR block and try again.'],
['errorCode' => 'OperationFailed.CidrNotExist', 'errorMessage' => 'cidr is not exist.', 'description' => 'The error message returned because the specified CIDR block does not exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ModifyTransitRouterCidr',
'summary' => 'You can call the ModifyTransitRouterCidr operation to modify a CIDR block of a transit router.',
'description' => '- Before you modify a CIDR block of a transit router, review the [Limits on transit router CIDR blocks](~~462635~~).'."\n"
."\n"
.'- You cannot modify a CIDR block if IP addresses have already been allocated from it.'."\n"
."\n"
.'- The **ModifyTransitRouterCidr** operation is synchronous if you do not change the **PublishCidrRoute** parameter. The modification takes effect immediately.'."\n"
."\n"
.'- The **ModifyTransitRouterCidr** operation is asynchronous if you change the **PublishCidrRoute** parameter. The system returns a **RequestId**, but the CIDR block is not immediately modified. The modification task runs in the background. You can call the **ListTransitRouterCidr** operation to query the status of the modification.'."\n"
."\n"
.' - If the CIDR block information has not changed, the modification is in progress.'."\n"
."\n"
.' - If the CIDR block information is updated, the modification is successful.',
'changeSet' => [
['createdAt' => '2022-12-16T07:48:27.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyTransitRouterCidr'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0876E54E-3E36-5C31-89F0-9EE8A9266F9A\\"\\n}","type":"json"}]',
],
'ModifyTransitRouterMulticastDomain' => [
'summary' => 'Modifies the name, description, and feature options of a multicast domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129151',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token that ensures the idempotence of the request.'."\n"
."\n"
.'Generate a unique token on your client for each request. The token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-mcast-domain-40cwj0rgzgdtam****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainName',
'in' => 'query',
'schema' => ['description' => 'The new name of the multicast domain.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters long. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the multicast domain.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters long. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: Performs a dry run. The system checks the required parameters, request format, and service limits. If the check fails, an error message is returned. If the check passes, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (default): Sends the request. If the request passes the check, the name and description of the multicast domain are modified.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Options',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The feature options of the multicast domain.',
'type' => 'object',
'properties' => [
'Igmpv2Support' => ['description' => 'Specifies whether to enable the Internet Group Management Protocol (IGMP) feature for the multicast domain. When this feature is enabled, hosts can use IGMP to dynamically join or leave multicast groups. Set the value to **enable**.'."\n"
."\n"
.'> - The IGMP feature is in public preview. To use this feature, contact your account manager.'."\n"
.'>'."\n"
.'> - You cannot disable the IGMP feature after it is enabled.', 'type' => 'string', 'required' => false, 'example' => 'enable', 'title' => ''],
'StrictSourceControl' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'enable', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '26273D23-5CB0-5EFC-AF5F-78A5448084C9', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Illegal.Name', 'errorMessage' => 'Name is illegal.', 'description' => 'The error message returned because the name is invalid.'],
['errorCode' => 'Illegal.Description', 'errorMessage' => 'Description is illegal.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidMulticastDomainId.NotFound', 'errorMessage' => 'The specified MulticastDomainId is not found.', 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'IllegalParam.Igmpv2Support', 'errorMessage' => 'The specified Igmpv2Support is illegal. Valid values are [enable, disable].', 'description' => 'The parameter Igmpv2Support is invalid. Value range: enable, disable.'],
['errorCode' => 'OperationUnsupported.Igmpv2Support', 'errorMessage' => 'The current UID does not allow the creation of a igmpv2 multicast domain. Please submit a ticket.', 'description' => 'The current UID does not allow the creation of a multicast domain of the igmpv2 type. Please submit a ticket.'],
['errorCode' => 'OperationUnsupported.NotAllowedDisableIgmpv2Support', 'errorMessage' => 'The operation is not permitted because Igmpv2Support is not currently available to be disabled.', 'description' => 'The operation is not permitted because Igmpv2Support is not currently available to be disabled.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ModifyTransitRouterMulticastDomain',
'changeSet' => [
['createdAt' => '2025-01-06T03:35:55.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-09-25T06:32:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyTransitRouterMulticastDomain'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#TransitRouterMulticastDomainId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"26273D23-5CB0-5EFC-AF5F-78A5448084C9\\"\\n}","type":"json"}]',
],
'MoveResourceGroup' => [
'summary' => 'You can call the MoveResourceGroup operation to move a Cloud Enterprise Network (CEN) instance or a bandwidth plan to a different resource group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72414',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'The client generates this value. Make sure that the value is unique among different requests. The token can contain a maximum of 64 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' => '123e456****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, the request format, and business 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.'."\n"
."\n"
.'- **false** (default): sends a normal request. If the request passes the check, an HTTP 2xx status code is returned and the operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'NewResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the new resource group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rg-aekzqqurtfg****', 'title' => ''],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the resource. Valid values:'."\n"
."\n"
.'- **cen**: a CEN instance.'."\n"
."\n"
.'- **bandwidthpackage**: a bandwidth plan.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the resource.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-nye53d7p3hzyu4****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1D169236-7C76-57CF-B6C8-B4CACE0BA1BB', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
403 => [
['errorCode' => 'Forbidden.ResourceGroup', 'errorMessage' => 'The operation cannot be performed on the specified ResourceGroup.', 'description' => 'The operation cannot be performed on the specified ResourceGroup.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'MoveResourceGroup',
'description' => 'By default, Cloud Enterprise Network (CEN) instances and bandwidth plans belong to the default resource group. You can call the `MoveResourceGroup` operation to move a CEN instance or a bandwidth plan to a different resource group.',
'changeSet' => [
['createdAt' => '2024-07-10T08:04:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:45.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:MoveResourceGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1D169236-7C76-57CF-B6C8-B4CACE0BA1BB\\"\\n}","type":"json"}]',
],
'OpenTransitRouterService' => [
'summary' => 'Activates the transit router feature.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'abilityTreeCode' => '85448',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among different requests. The client token can contain only ASCII characters.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'OrderId' => ['description' => 'The ID of the order.', 'type' => 'string', 'example' => '21370700730****', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '866DEBE1-6411-51EC-80D8-975349B9FB4A', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Risk.RiskControlRejection', 'errorMessage' => '为保护您的账户安全,下单被中止,详情请联系客服。', 'description' => 'The error message returned because the order is suspended due to security concerns. Contact customer service for details.'],
['errorCode' => 'Order.Opened', 'errorMessage' => '您已开通本服务,请前往控制台使用。', 'description' => 'The error message returned because the service has been activated. You can log on to the console to manage it.'],
['errorCode' => 'OperationFailed.NoAvailablePaymentMethod', 'errorMessage' => 'No payment method is specified for your account. We recommend that you add a payment method.', 'description' => 'The error message returned because no payment method is specified for your account. Specify a payment method and try again.'],
['errorCode' => 'OperationFailed.BasicInfoUncompleted', 'errorMessage' => 'Your information is incomplete. Complete your information before the operation.', 'description' => 'The error message returned because your basic information is incomplete. Complete your basic information and try again.'],
['errorCode' => 'PayFor.CreditPayInsufficientBalance', 'errorMessage' => '额度不足,请联系您的渠道合作伙伴提升额度。', 'description' => 'The error message returned because your Alibaba Cloud account does not have a sufficient balance. Contact your channel partner to top up your account balance.'],
['errorCode' => 'NoPermission.AliyunServiceRoleForCEN', 'errorMessage' => 'No permission to open AliyunServiceRole for CEN.', 'description' => 'The error message returned because you do not have the required permissions.'],
['errorCode' => 'OperationFailed.PurchaseQuantityLimit', 'errorMessage' => 'You have exceeded the maximum quantity you can purchase.', 'description' => 'The error message returned because the number of instances has reached the upper limit and you cannot purchase more.'],
['errorCode' => 'OperationFailed.QuotaNotEnough', 'errorMessage' => 'The quota is not enough.', 'description' => 'The error message returned because the resource quota is exhausted and you cannot create more.'],
['errorCode' => 'OperationFailed.ConcurrentOperation', 'errorMessage' => 'The operation failed caused by concurrent operation.', 'description' => 'The error message returned because the concurrent operations failed. Do not frequently perform this operation. Try again later.'],
['errorCode' => 'OperationFailed.Risk', 'errorMessage' => '系统检测到您的支付方式存在风险,请通过邮件或站内信中的链接完成验证。验证完成后重新下单。', 'description' => ''],
['errorCode' => 'OperationFailed.UseStoredCardFailed', 'errorMessage' => 'Operation failed because use stored card failed.', 'description' => 'The error message returned because you failed to complete the payment with the specified stored-value card.'],
['errorCode' => 'PayFor.AccountMoneyValidateError', 'errorMessage' => '账号可用金额不足.', 'description' => 'The error message returned because your Alibaba Cloud account does not have a sufficient balance.'],
['errorCode' => 'EntityNotExist.Account', 'errorMessage' => 'The role not exists: AliyunServiceRoleForCEN.', 'description' => 'The error message returned because AliyunServiceRoleForCEN does not exist.'],
['errorCode' => 'OperationFailed.InsufficientAvailableQuota', 'errorMessage' => 'Operation failed due to the account quota is insufficient.', 'description' => 'The available amount of the account is insufficient.'],
['errorCode' => 'OperationFailed.NoRealNameAuthentication', 'errorMessage' => 'No real-name authentication was applied.', 'description' => 'No real-name authentication was performed.'],
['errorCode' => 'OperationFailed.ContainsForbiddenLabel', 'errorMessage' => 'You cannot place the order because orders are prohibited by a label.', 'description' => 'You cannot place the order because orders are prohibited by a label.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'OpenTransitRouterService',
'description' => 'You can call the `OpenTransitRouterService` operation to activate the transit router feature free of charge. After the `OpenTransitRouterService` operation succeeds, an order is automatically generated. You can use the returned order ID to query the order information in [Alibaba Cloud User Center](https://usercenter2-intl.aliyun.com/billing/#/account/overview).',
'changeSet' => [
['createdAt' => '2025-03-04T07:01:09.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:21.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-02T03:31:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-30T08:45:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenTransitRouterService'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'none',
'ramAction' => [
'action' => 'cen:OpenTransitRouterService',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderId\\": \\"21370700730****\\",\\n \\"RequestId\\": \\"866DEBE1-6411-51EC-80D8-975349B9FB4A\\"\\n}","type":"json"}]',
],
'PublishRouteEntries' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-rj9gt5nll27onu****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => [
'description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud.'."\n"
."\n"
.'- **VBR**: virtual border router.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enumValueTitles' => ['VPC' => 'VPC'],
'example' => 'VPC',
'title' => '',
],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the network instance is deployed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'us-west-1', 'title' => ''],
],
[
'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp174d1gje7****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route that you want to advertise.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '172.16.1.0/24', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ParameterIllegal.AliUid', 'errorMessage' => 'The parameter of aliUid is illegal.', 'description' => ''],
['errorCode' => 'InvalidOperation.UnsupportnexthopType', 'errorMessage' => 'The nexthop type is unsupported', 'description' => 'The error message returned because the next hop type does not support this operation.'],
['errorCode' => 'InvalidOperation.NotFoundRoute', 'errorMessage' => 'The specified route does not exist.', 'description' => 'The error message returned because the route does not exist.'],
['errorCode' => 'ParameterIllegal.CenInstanceId', 'errorMessage' => 'The parameter of CEN instance id is illegal.', 'description' => ''],
['errorCode' => 'ParameterIllegal.ChildInstanceRegionId', 'errorMessage' => 'The parameter of child instance region id is illegal.', 'description' => ''],
['errorCode' => 'ParameterIllegal.ChildInstanceType', 'errorMessage' => 'The parameter of child instance type is illegal.', 'description' => ''],
['errorCode' => 'InvalidOperation.UnsupportRouteTableType', 'errorMessage' => 'The route table type is unsupported', 'description' => 'The error message returned because the specified route table type does not support this operation.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
],
409 => [
['errorCode' => 'InvalidOperation.ChildInstanceStatus', 'errorMessage' => 'The child-instance is not in a valid state for the operation.', 'description' => ''],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the CEN instance does not support this operation.'],
],
],
'title' => 'PublishRouteEntries',
'summary' => 'You can call the PublishRouteEntries operation to advertise routes from a virtual private cloud (VPC) or a virtual border router (VBR) to a Cloud Enterprise Network (CEN) instance. If no route conflicts occur, other network instances attached to the CEN instance can learn the advertised routes.',
'description' => 'The following table lists the default advertising status for different types of routes in CEN. You can call the PublishRouteEntries operation to advertise routes that are not advertised to CEN by default.'."\n"
."\n"
.'| Route | Instance of the route | Advertised to CEN by default |'."\n"
.'| ---------------------------------------------------- | --------------------- | ---------------------------- |'."\n"
.'| Route to an ECS instance | VPC | No |'."\n"
.'| Route to a VPN Gateway | VPC | No |'."\n"
.'| Route to a high availability (HA) virtual IP address | VPC | No |'."\n"
.'| Route to a router interface | VPC | No |'."\n"
.'| Route to an Elastic Network Interface (ENI) | VPC | No |'."\n"
.'| Route to an IPv6 Gateway | VPC | No |'."\n"
.'| Route to a NAT Gateway | VPC | No |'."\n"
.'| VPC system route | VPC | Yes |'."\n"
.'| Route to a data center | VBR | Yes |'."\n"
.'| Border Gateway Protocol (BGP) route | VBR | Yes |',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishRouteEntries'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:PublishRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","type":"json"}]',
],
'RefreshTransitRouteTableAggregation' => [
'summary' => 'Re-advertises an aggregate route.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The route table ID of the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'example' => 'vtb-iq8qgruq1ry8jc7vt****', 'title' => ''],
],
[
'name' => 'TransitRouteTableAggregationCidr',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the aggregate route.', 'type' => 'string', 'required' => true, 'example' => '192.168.53.0/24', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'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"
.'> When left empty, the system automatically uses the RequestId as the ClientToken. The RequestId is different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'title' => 'PlainResponse',
'description' => 'The returned result.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InstanceNotExist.TransitRouteTable', 'errorMessage' => 'The transitRouter route table is not exist.', 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouteTable', 'errorMessage' => 'The status of transitRouter route table is invalid.', 'description' => 'The error message returned because the status of the transit router route table does not support this operation. Try again later.'],
['errorCode' => 'InstanceNotExist.AggregationRoute', 'errorMessage' => 'The aggregation route is not exist.', 'description' => 'The error message returned because the aggregated route does not exist.'],
['errorCode' => 'InstanceNotExist.TransitRouter', 'errorMessage' => 'The transitRouter is not exist.', 'description' => 'The error message returned because the specified transit router does not exist.'],
['errorCode' => 'IllegalParam.TransitRouteTableAggregationCidr', 'errorMessage' => 'The param TransitRouteTableAggregationCidr is illegal.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidCidrBlock', 'errorMessage' => 'The transitRouteTableAggregationCidr is invalid.', 'description' => ''],
],
],
'title' => 'RefreshTransitRouteTableAggregation',
'description' => 'For aggregate routes that failed to be advertised or were partially advertised, fix the route issue and call the **RefreshTransitRouteTableAggregation** operation to re-advertise the aggregate routes to virtual private clouds (VPCs). If you use the following solutions, the aggregate route is automatically advertised without manual operations:'."\n"
."\n"
.'- Delete associated forwarding correlations'."\n"
."\n"
.'- Disable route synchronization'."\n"
."\n"
.'- Delete the VPC route table'."\n"
."\n"
.'- Delete the aggregate route'."\n"
."\n"
.'You can call the **DescribeTransitRouteTableAggregationDetail** operation to view the advertisement status of the aggregate route.',
'changeSet' => [
['createdAt' => '2023-03-10T07:40:38.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshTransitRouteTableAggregation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:RefreshTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'RegisterTransitRouterMulticastGroupMembers' => [
'summary' => 'Creates or adds a multicast member.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '129161',
'abilityTreeNodes' => ['FEATUREcbn05IP8W', 'FEATUREcbnI6X1AL'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain to which the multicast members belong.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-91wpg6wbhchjeq****', 'title' => ''],
],
[
'name' => 'GroupIpAddress',
'in' => 'query',
'schema' => ['description' => 'The IP address of the multicast group to which the multicast members belong. Valid values: **224.0.0.1** to **239.255.255.254**.'."\n"
."\n"
.'If the multicast group does not exist in the specified multicast domain, the system automatically creates the multicast group in the multicast domain.', 'type' => 'string', 'required' => true, 'example' => '239.XX.XX.2', 'title' => ''],
],
[
'name' => 'NetworkInterfaceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the ENIs.',
'type' => 'array',
'items' => ['description' => 'The ID of the ENI'."\n"
."\n"
.'You can specify multiple ENIs in each call. Make sure that the sum of the number of ENIs and the number of inter-region multicast domains is not larger than five.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0weuda3lszwzjly****', 'title' => ''],
'required' => false,
'maxItems' => 1000,
'title' => '',
],
],
[
'name' => 'PeerTransitRouterMulticastDomains',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of inter-region multicast domains.',
'type' => 'array',
'items' => ['description' => 'The ID of the inter-region multicast domain.'."\n"
."\n"
.'You can specify multiple inter-region multicast domains in each call. Make sure that the sum of the number of ENIs and the number of inter-region multicast domains is not larger than five.', 'type' => 'string', 'required' => false, 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', 'title' => ''],
'required' => false,
'maxItems' => 1000,
'title' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n"
."\n"
.'- **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
.'- **false** (default): performs a dry run and performs the request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC to which the ENI belongs.'."\n"
."\n"
.'- If the ENI belongs to the current Alibaba Cloud account, ignore this parameter.'."\n"
.'- If the ENI belongs to a different Alibaba Cloud account, you must set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'vpc-wz9fusm6zq8uy7cfa****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE', 'title' => ''],
],
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.GroupIpAddress', 'errorMessage' => 'The specified GroupIpAddress is illegal.', 'description' => 'The error message returned because the GroupIpAddress parameter is set to an invalid value.'],
['errorCode' => 'InvalidMulticastDomainId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['errorCode' => 'IncorrectStatus.MulticastDomainId', 'errorMessage' => 'The status of MulticastDomainId is incorrect.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.Cen', 'errorMessage' => 'The status of Cen is incorrect.', 'description' => 'The error message returned because the status of the specified CEN instance does not support this operation. Try again later.'],
['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'InvalidOperation.PeerMulticastDomainRegion', 'errorMessage' => 'Operation is invalid because to peer multicast domain in the same region with multicast domain.', 'description' => ''],
['errorCode' => 'InvalidOperation.MulticastDomainStatus', 'errorMessage' => 'Operation is invalid, due to multicast domain not Active.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation.'],
['errorCode' => 'InvalidOperation.BandwidthLimitNotExist', 'errorMessage' => 'Operation is invalid because a bandwidth limit not exist.', 'description' => 'The error message returned because the specified bandwidth cap of the bandwidth plan does not exist.'],
['errorCode' => 'AttachmentNotFound', 'errorMessage' => '"The attachment does not exist.', 'description' => ''],
['errorCode' => 'IncorrectStatus.AttachmentId', 'errorMessage' => 'The status of AttachmentId is incorrect.', 'description' => 'The error message returned because the status of the attachment does not support this operation. Try again later.'],
['errorCode' => 'InstanceExist', 'errorMessage' => 'The instance already exists.', 'description' => 'The error message returned because the specified instance already exists.'],
['errorCode' => 'InvalidOperation.NetworkInterfaceNotExist', 'errorMessage' => 'Operation is invalid bacause network interface not exist.', 'description' => 'The error message returned because the network instance does not exist.'],
['errorCode' => 'InvalidOperation.NTRNetworkInterfaceNotSupport', 'errorMessage' => 'Operation is invalid, due to ntr eni not support.', 'description' => 'The error message returned because the ENI of the transit router cannot be added to the multicast group.'],
['errorCode' => 'InvalidOperation.MulticastDomainAssociationNotExist', 'errorMessage' => 'Operation is invalid because multicast association domain association not exist.', 'description' => 'The error message returned because this operation is not supported when the specified multicast domain is not associated with the specified resource.'],
['errorCode' => 'InvalidOperation.MulticastDomainAssociationStatus', 'errorMessage' => 'Operation is invalid, due to multicast domain association not Active.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'InvalidPeerTrMulticastDomainId.NotFound', 'errorMessage' => 'The specified PeerTrMulticastDomainId is not found.', 'description' => 'The error message returned because the specified multicast domain on the peer transit does not exist.'],
['errorCode' => 'IncorrectStatus.PeerTrMulticastDomainId', 'errorMessage' => 'The status of PeerTrMulticastDomainId is incorrect.', 'description' => 'The error message returned because the specified multicast domain on the peer transit router (PeerTrMulticastDomain) does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.PeerTrMulticastDomainId', 'errorMessage' => 'The specified PeerTrMulticastDomainId is illegal.', 'description' => 'The error message returned because the PeerTrMulticastDomainId parameter is set to an invalid value.'],
['errorCode' => 'InvalidOperation', 'errorMessage' => 'Operation is invalid.', 'description' => 'The error message returned because the operation is invalid.'],
['errorCode' => 'QuotaFull.MulticastGroupPerDomain', 'errorMessage' => 'The number of multicast group has exceed the maximum value that can be created.', 'description' => 'The error message returned because the number of multicast groups in the multicast domain has reached the upper limit.'],
['errorCode' => 'QuotaFull.MulticastMemberPerGroup', 'errorMessage' => 'The number of multicast group member has exceed the maximum value that can be created.', 'description' => 'The error message returned because the number of multicast members in the multicast group has reached the upper limit.'],
['errorCode' => 'QuotaFull.MulticastPeerMemberPerGroup', 'errorMessage' => 'The number of multicast group member peer domain has exceed the maximum value that can be created.', 'description' => 'The error message returned because the number of multicast members from another region in the multicast group has reached the upper limit.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'InvalidConnectPeerIds.NotFound', 'errorMessage' => 'The Connect Peer Ids are invalid.', 'description' => 'The Connect Peer Ids are invalid.'],
['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The specified VpcId is not found.', 'description' => 'The error message returned because the specified VPC ID (VpcId) is invalid.'],
['errorCode' => 'OperationUnsupported.ExistsIgmpv2MemberOnEni', 'errorMessage' => 'An igmpv2 multicast source or multicast member already exists on the ENI.', 'description' => 'An igmpv2 multicast source or multicast member already exists on the ENI.'],
['errorCode' => 'InvalidVpcId.NotValid', 'errorMessage' => 'The specified Vpc is invalid.', 'description' => 'The specified vpcId is invalid.'],
['errorCode' => 'QuotaExceeded.SourceAndMemberPerTransitRouter', 'errorMessage' => 'The number of multicast group members and sources has exceed the maximum value that can be created.', 'description' => 'The number of multicast group members and sources has exceed the maximum value that can be created.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterMulticastGroups', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'RegisterTransitRouterMulticastGroupMembers',
'description' => 'Enterprise Edition transit routers support only elastic network interfaces (ENIs) as multicast members. You can call the `RegisterTransitRouterMulticastGroupMembers` operation to specify an ENI in the current region or a different region as a multicast member.'."\n"
."\n"
.'- If you specify a value for the **NetworkInterfaceIds** parameter, an ENI in the current region is to be specified as a multicast member. Make sure that the ENI and vSwitch are associated with the multicast group. For more information, see [AssociateTransitRouterMulticastDomain](~~429778~~).'."\n"
.'- If you specify a value for the **PeerTransitRouterMulticastDomains**, a multicast member in a multicast group that belongs to another region but has the same IP address as the current multicast group is to be specified as a multicast member for the current multicast group. Make sure that an inter-region connection is established between the regions. For more information, see [CreateTransitRouterPeerAttachment](~~261363~~).'."\n"
."\n"
.' For example, you created Multicast Group 1 in Multicast Domain 1, which is in the China (Hangzhou) region. You created Multicast Group 2 in Multicast Domain 2, which is in the China (Shanghai) region. Multicast Group 1 and Multicast Group 2 use the same multicast IP address, and Multicast Member 2 is in Multicast Group 2 in the China (Shanghai) region. If you call the `RegisterTransitRouterMulticastGroupMembers` operation to add multicast members to Multicast Group 1 in the China (Hangzhou) region and set **PeerTransitRouterMulticastDomains** to the ID of Multicast Group 2, which is in the China (Shanghai) region, Multicast Member 2, which is in Multicast Domain 2 in the China (Shanghai) region is added to Multicast Group 1 in the China (Hangzhou) region.'."\n"
.'- `RegisterTransitRouterMulticastGroupMembers` is an asynchronous operation. After a request is sent, the system returns a **request ID** and runs the task in the background. You can call the `ListTransitRouterMulticastGroups` operation to query the status of a multicast member.'."\n"
."\n"
.' - If the multicast member is in the **Registering**, the multicast member is being created. In this case, you can query the multicast member but cannot perform other operations on the multicast member.'."\n"
.' - If the multicast member is in the **Registered** state, the multicast member is created.',
'changeSet' => [
['createdAt' => '2025-02-28T05:07:10.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-12-06T11:09:24.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-25T06:32:47.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:17.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-08-17T03:32:39.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:RegisterTransitRouterMulticastGroupMembers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EB985B7E-2CF8-5EC9-A7DB-F7C82ABD3ACE\\"\\n}","type":"json"}]',
],
'RegisterTransitRouterMulticastGroupSources' => [
'summary' => 'Use the RegisterTransitRouterMulticastGroupSources operation to create a multicast source. A multicast source enables one-to-many communication.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'create'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client token to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a unique value from your client. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not specify this parameter, the system uses the request ID as the client token. The request ID is different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-4266****', 'title' => ''],
],
[
'name' => 'TransitRouterMulticastDomainId',
'in' => 'query',
'schema' => ['description' => 'The ID of the multicast domain to which the multicast source belongs.', 'type' => 'string', 'required' => true, 'example' => 'tr-mcast-domain-5mjb5gjb6dgu98****', 'title' => ''],
],
[
'name' => 'GroupIpAddress',
'in' => 'query',
'schema' => ['description' => 'The IP address of the multicast group to which the multicast source belongs. Valid values range from **224.0.1.0** to **239.255.255.254**.'."\n"
."\n"
.'>'."\n"
."\n"
.'The IP addresses from 224.0.0.0 to 224.0.0.127 are system reserved IP addresses. They cannot be used as multicast group IP addresses.'."\n"
."\n"
.'>'."\n"
."\n"
.'If the specified multicast group does not exist in the multicast domain, the system automatically creates the multicast group.', 'type' => 'string', 'required' => true, 'example' => '239.XX.XX.2', 'title' => ''],
],
[
'name' => 'NetworkInterfaceIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'A list of ENI IDs.',
'type' => 'array',
'items' => ['description' => 'The ID of the ENI, which serves as the multicast source.'."\n"
."\n"
.'You can create up to five multicast sources for a multicast group at a time.'."\n"
."\n"
.'> This parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'eni-p0w92o2wupc3c05t****', 'title' => ''],
'required' => false,
'maxItems' => 1000,
'title' => '',
'example' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): sends the request. If the request passes the check, a multicast source is created.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC to which the ENI belongs.'."\n"
."\n"
.'- If the ENI belongs to your Alibaba Cloud account, this parameter is optional.'."\n"
."\n"
.'- If the ENI belongs to a different Alibaba Cloud account, this parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'vpc-wz9fusm6zq8uy7cfa****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'PlainResponse',
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.PeerMulticastDomainSource', 'errorMessage' => 'Operation is invalid because peer multicast domain can not be group source.', 'description' => 'The error message returned because you cannot specify a multicast domain in another region as the multicast source.'],
['errorCode' => 'IllegalParam.GroupIpAddress', 'errorMessage' => 'The specified GroupIpAddress is illegal.', 'description' => 'The error message returned because the GroupIpAddress parameter is set to an invalid value.'],
['errorCode' => 'InvalidMulticastDomainId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['errorCode' => 'IncorrectStatus.MulticastDomainId', 'errorMessage' => 'The status of MulticastDomainId is incorrect.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.Cen', 'errorMessage' => 'The status of Cen is incorrect.', 'description' => 'The error message returned because the status of the specified CEN instance does not support this operation. Try again later.'],
['errorCode' => 'InstanceExist', 'errorMessage' => 'The instance already exists.', 'description' => 'The error message returned because the specified instance already exists.'],
['errorCode' => 'InvalidOperation.NetworkInterfaceNotExist', 'errorMessage' => 'Operation is invalid bacause network interface not exist.', 'description' => 'The error message returned because the network instance does not exist.'],
['errorCode' => 'InvalidOperation.NTRNetworkInterfaceNotSupport', 'errorMessage' => 'Operation is invalid, due to ntr eni not support.', 'description' => 'The error message returned because the ENI of the transit router cannot be added to the multicast group.'],
['errorCode' => 'InstanceNotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'InvalidOperation.MulticastDomainAssociationNotExist', 'errorMessage' => 'Operation is invalid because multicast association domain association not exist.', 'description' => 'The error message returned because this operation is not supported when the specified multicast domain is not associated with the specified resource.'],
['errorCode' => 'InvalidOperation.MulticastDomainAssociationStatus', 'errorMessage' => 'Operation is invalid, due to multicast domain association not Active.', 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['errorCode' => 'QuotaFull.MulticastGroupPerDomain', 'errorMessage' => 'The number of multicast group has exceed the maximum value that can be created.', 'description' => 'The error message returned because the number of multicast groups in the multicast domain has reached the upper limit.'],
['errorCode' => 'QuotaFull.MulticastSourcePerGroup', 'errorMessage' => 'The number of multicast group source has exceed the maximum value that can be created.', 'description' => 'The error message returned because the number of multicast sources in the multicast group has reached the upper limit.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'IncorrectStatus.ConnectPeerIds', 'errorMessage' => 'Connect Peer statuses are incorrect.', 'description' => 'Connect Peer statuses are incorrect.'],
['errorCode' => 'InvalidConnectPeerIds.NotFound', 'errorMessage' => 'The Connect Peer Ids are invalid.', 'description' => 'The Connect Peer Ids are invalid.'],
['errorCode' => 'OperationUnsupported.ExistsIgmpv2MemberOnEni', 'errorMessage' => 'An igmpv2 multicast source or multicast member already exists on the ENI.', 'description' => 'An igmpv2 multicast source or multicast member already exists on the ENI.'],
['errorCode' => 'QuotaExceeded.SourceAndMemberPerTransitRouter', 'errorMessage' => 'The number of multicast group members and sources has exceed the maximum value that can be created.', 'description' => 'The number of multicast group members and sources has exceed the maximum value that can be created.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'RegisterTransitRouterMulticastGroupSources',
'description' => '- You can specify only an Elastic Network Interface (ENI) as a multicast source.'."\n"
."\n"
.'- `RegisterTransitRouterMulticastGroupSources` is an asynchronous operation. After you send a request, the system returns a **RequestId**. The multicast source is created in the background and is not immediately available. You can call the `ListTransitRouterMulticastGroups` operation to query the status of the multicast source.'."\n"
."\n"
.' - If a multicast source is in the **Registering** status, the multicast source is being created. In this status, you can only query the multicast source.'."\n"
."\n"
.' - If a multicast source is in the **Registered** status, the multicast source is created.'."\n"
."\n"
.'### Prerequisites'."\n"
."\n"
.'Before you call `RegisterTransitRouterMulticastGroupSources`, ensure that the vSwitch to which the ENI belongs is associated with the multicast domain. For more information, see [AssociateTransitRouterMulticastDomain](~~429778~~).',
'changeSet' => [
['createdAt' => '2025-02-28T05:07:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-25T06:32:47.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-11-22T03:25:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-08-17T03:32:39.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:RegisterTransitRouterMulticastGroupSources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9C5D5D70-0AFF-5E5C-8D8A-E92C90C8FB08\\"\\n}","type":"json"}]',
],
'RemoveTrafficMatchRuleFromTrafficMarkingPolicy' => [
'summary' => 'Deletes specified traffic classification rules from a traffic marking policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it is unique among all requests. The client token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
.'- **false** (default): performs a dry run and sends the request.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'tm-d33hdczo3qo8ta****'],
],
[
'name' => 'TrafficMarkRuleIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ID of the traffic classification rule.',
'type' => 'array',
'items' => ['description' => 'The ID of the traffic classification rule.'."\n"
."\n"
.'You can delete at most 20 traffic classification rules in each call.'."\n"
."\n"
.'You can call the [ListTrafficMarkingPolicies](~~419013~~) operation to query IDs of traffic classification rules.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'tm-rule-15jtgapsat62r9****'],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39'],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.TrafficMarkingPolicy', 'errorMessage' => 'TrafficMarkingPolicy status is invalid.', 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.TrafficMarkingRuleIds', 'errorMessage' => 'The specified TrafficMarkingRuleIds is invalid.', 'description' => 'The error message returned because the TrafficMarkingRuleIds parameter is set to an invalid value.'],
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficMarkingPolicyId', 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.', 'description' => ''],
],
],
'title' => 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy',
'description' => '- When you call **RemoveTrafficMatchRuleFromTrafficMarkingPolicy**, take note of the following rules:'."\n"
."\n"
.' - If you specify the ID of a traffic classification rule in the **TrafficMarkRuleIds** parameter, the specified traffic classification rule is deleted.'."\n"
.' - If you do not specify a traffic classification rule ID in the **TrafficMarkRuleIds** parameter, no operation is performed after you call this operation.'."\n"
."\n"
.' If you want to delete a traffic classification rule, you must specify the rule ID before you call this operation.'."\n"
.'- **RemoveTrafficMatchRuleFromTrafficMarkingPolicy** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTrafficMarkingPolicies** operation to query the status of a traffic classification rule.'."\n"
."\n"
.' - If a traffic classification rule is in the **Deleting** state, the traffic classification rule is being deleted. In this case, you can query the traffic classification rule but cannot perform other operations.'."\n"
.' - If a traffic classification rule cannot be found, the traffic classification rule is deleted.',
'changeSet' => [
['createdAt' => '2022-12-16T03:31:59.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:RemoveTrafficMatchRuleFromTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
],
'RemoveTraficMatchRuleFromTrafficMarkingPolicy' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. Valid values:'."\n"
."\n"
.'* **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
.'* **false** (default): performs a dry run and performs the actual request.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-d33hdczo3qo8ta****', 'title' => ''],
],
[
'name' => 'TrafficMarkRuleIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ID of the traffic classification rule.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the traffic classification rule.'."\n"
."\n"
.'You can delete at most 20 traffic classification rules in each call.'."\n"
."\n"
.'You can call the [ListTrafficMarkingPolicies](~~419013~~) operation to query IDs of traffic classification rules.'."\n", 'type' => 'string', 'required' => false, 'example' => 'tm-rule-15jtgapsat62r9****', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.TrafficMarkingPolicy', 'errorMessage' => 'TrafficMarkingPolicy status is invalid.', 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'The specified TrafficMarkingPolicyId is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'IllegalParam.TrafficMarkingRuleIds', 'errorMessage' => 'The specified TrafficMarkingRuleIds is invalid.', 'description' => 'The error message returned because the TrafficMarkingRuleIds parameter is set to an invalid value.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => [
'substitutions' => ['Cbn::2017-09-12::RemoveTrafficMatchRuleFromTrafficMarkingPolicy'],
],
'title' => 'RemoveTraficMatchRuleFromTrafficMarkingPolicy',
'summary' => 'Removes a traffic classification rule from a traffic marking policy.',
'description' => '### [](#)Precautions'."\n"
."\n"
.'The **RemoveTraficMatchRuleFromTrafficMarkingPolicy** operation is deprecated and will be discontinued soon. To delete a traffic classification rule, call the [RemoveTrafficMatchRuleFromTrafficMarkingPolicy](~~452726~~) operation. Maintenance on this document has stopped.'."\n",
'changeSet' => [
['createdAt' => '2022-12-22T08:10:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveTraficMatchRuleFromTrafficMarkingPolicy'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:RemoveTraficMatchRuleFromTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\n","errorExample":""}]',
],
'ReplaceTransitRouterRouteTableAssociation' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate 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** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request format, 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.'."\n"
."\n"
.'- **false** (default): sends a normal request. If the request passes the check, the associated route table is replaced.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-071g5j5tefg4x6****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table with which you want to associate the network instance connection.', 'type' => 'string', 'required' => true, 'example' => 'vtb-bp1cprmc6xmzjd66i****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '160BD7D3-3D1E-5702-9AF0-56E4B15FCB65', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidAttachmentId.NotFound', 'errorMessage' => 'The specified AttachmentId is not found.', 'description' => ''],
['errorCode' => 'InvalidRouteTableId.NotFound', 'errorMessage' => 'The specified RouteTableId is not found.', 'description' => ''],
['errorCode' => 'OperationUnsupported.TransitAttachment', 'errorMessage' => 'The specified TransitAttachment does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified transit router attachment (TransitAttachment).'],
['errorCode' => 'IllegalParam.TransitRouterTableType', 'errorMessage' => 'TransitRouterTableType is illegal. ', 'description' => ''],
['errorCode' => 'IncorrectStatus.Status', 'errorMessage' => 'The TransitRouterRouteTable or TransitRouterAttachment Status is illegal.', 'description' => 'The error message returned because the status of the transit router route table or the transit router attachment does not support this operation. Try again later.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.TransitRouterRouteTableId', 'errorMessage' => 'The specified parameter TransitRouterRouteTableId is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.TransitRouterAttachmentId', 'errorMessage' => 'The specified parameter TransitRouterAttachmentId is invalid.', 'description' => ''],
],
],
'title' => 'ReplaceTransitRouterRouteTableAssociation',
'summary' => 'Replaces the route table that is associated with a network instance connection.',
'description' => '- You can replace the route table that is associated with a network instance connection only if the network instance connection is created by an Enterprise Edition transit router.'."\n"
."\n"
.'- **ReplaceTransitRouterRouteTableAssociation** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the operation continues to run in the background. You can call the **ListTransitRouterRouteTableAssociations** operation to query the status of the association.'."\n"
."\n"
.' - If the association status is **Replacing**, the route table is being replaced. In this state, you can only query the association and cannot perform other operations.'."\n"
."\n"
.' - If the association status is **Active**, the route table has been replaced.',
'changeSet' => [
['createdAt' => '2022-11-17T10:03:02.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReplaceTransitRouterRouteTableAssociation'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ReplaceTransitRouterRouteTableAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"160BD7D3-3D1E-5702-9AF0-56E4B15FCB65\\"\\n}","type":"json"}]',
],
'ResolveAndRouteServiceInCen' => [
'summary' => 'Connects an on-premises network to a cloud service.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4****'],
],
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-ckwa2hhmuislse****'],
],
[
'name' => 'Host',
'in' => 'query',
'schema' => ['description' => 'The IP addresses or CIDR blocks of the cloud service.'."\n"
."\n"
.'> In most cases, multiple IP addresses or CIDR blocks are assigned to a cloud service. We recommend that you call this operation multiple times to add all IP addresses and CIDR blocks of the cloud service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '100.118.28.0/24'],
],
[
'name' => 'HostRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region in which the cloud service is deployed.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
[
'name' => 'HostVpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC that is associated with the cloud service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'vpc-o6woh5s494zueq40v****'],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the cloud service.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'descname'],
],
[
'name' => 'AccessRegionIds',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The IDs of the regions where the cloud service is accessed.',
'type' => 'array',
'items' => ['description' => 'The ID of the region where the cloud service is accessed.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'],
'required' => true,
'example' => 'cn-hangzhou',
'maxItems' => 32,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ParameterIllegal.Ipv6CloudRouteCidrNotAllow', 'errorMessage' => 'Parameter Host not in valid ipv6 cidr.', 'description' => 'The error message returned because the specified cloud service routes do not support IPv6.'],
['errorCode' => 'ParameterIllegal.AccessRegionId', 'errorMessage' => 'Parameter Access RegionId illegal.', 'description' => 'The error message returned because the specified access region ID (AccessRegionId) is invalid.'],
['errorCode' => 'ParameterIllegal.CloudRouteHost', 'errorMessage' => 'Parameter Host is not valid.', 'description' => 'The error message returned because the specified cloud route host (CloudRouteHost) is invalid.'],
['errorCode' => 'ParameterIllegal.ClouteRouteNotSupportIpv6', 'errorMessage' => 'Parameter Host not support IPv6', 'description' => 'The error message returned because the specified cloud service routes do not support IPv6.'],
['errorCode' => 'ParameterIllegal.ClouteRouteCidrNotAllow', 'errorMessage' => 'Parameter Host not in 100.64.0.0/10', 'description' => 'The error message returned because the specified cloud service CIDR block is invalid.'],
['errorCode' => 'CloudRoute.Exist', 'errorMessage' => 'The Specified Cloud Route already Exists', 'description' => 'The error message returned because the cloud service route already exists.'],
['errorCode' => 'ParameterIllegal.Host', 'errorMessage' => ' Parameter Host does not support domain.', 'description' => ''],
['errorCode' => 'CloudRoute.Conflict', 'errorMessage' => 'The Specified Cloud Route Conflicts.', 'description' => 'The error message returned because the routes of the cloud services conflict with each other.'],
['errorCode' => 'CloudRoute.VpcNotAttached', 'errorMessage' => 'The Specified Vpc instance is not attached to CEN. ', 'description' => ''],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'ParameterIllegal.AccessRegionIdNoCCN', 'errorMessage' => 'Parameter Access RegionId illegal.', 'description' => 'The error message returned because the specified access region ID (AccessRegionId) is invalid.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The CEN TR instance is not in a valid state for the operation. Please try again later.'],
['errorCode' => 'InvalidOperation.InstanceNotSupportIPv6Route', 'errorMessage' => 'IPv6 routing has not been enabled for the CEN instance.', 'description' => 'IPv6 routing is disabled for CEN.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'ResolveAndRouteServiceInCen',
'description' => 'Cloud services refer to Alibaba Cloud services that use the 100.64.0.0/10 CIDR block to provide services. These cloud services include Object Storage Service (OSS), Simple Log Service (SLS), and Data Transmission Service (DTS). If your on-premises network needs to access a cloud service, you must attach the virtual border router (VBR) or Cloud Connect Network (CCN) instance that is connected to your on-premises network to a Cloud Enterprise Network (CEN) instance. In addition, you must attach a virtual private cloud (VPC) that is deployed in the same region as the cloud service to the CEN instance. This way, your on-premises network can connect to the VPC that is deployed in the same region as the cloud service and access the cloud service through the VPC.'."\n"
."\n"
.'- This operation is supported only by Basic Edition transit routers. An on-premises network associated with a VBR can use CEN to access only a cloud service that is deployed in the same region.'."\n"
."\n"
.' For example, if cloud services are deployed in the China (Beijing) region, only on-premises networks connected to VBRs in the China (Beijing) region can access the cloud services.'."\n"
.'- **ResolveAndRouteServiceInCen** is an asynchronous operation. After a request is sent, the system returns a **request ID** and runs the task in the background. You can call **DescribeRouteServicesInCen** to query the status of a cloud service.'."\n"
."\n"
.' - If the cloud service is in the **Creating** state, the connection to the cloud service is being created. In this case, you can query the cloud service but cannot perform other operations.'."\n"
.' - If the cloud service is in the **Active** state, the connection to the cloud service is created.'."\n"
.' - If the cloud service is in the **Failed** state, the connection to the cloud service failed.'."\n"
."\n"
.'### [](#)Prerequisites'."\n"
."\n"
.'Before you call this operation, make sure that the following conditions are met:'."\n"
."\n"
.'- The VBR or CCN instance to which your on-premises network is connected is attached to a CEN instance.'."\n"
.'- A VPC that is deployed in the same region as the cloud service is attached to the CEN instance. For more information, see [AttachCenChildInstance](~~65902~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-01-23T10:33:54.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-10-24T09:32:47.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-22T08:10:13.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResolveAndRouteServiceInCen'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:ResolveAndRouteServiceInCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
],
'RevokeInstanceFromTransitRouter' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance to which the transit router belongs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-44m0p68spvlrqq****', 'title' => ''],
],
[
'name' => 'InstanceId',
'in' => 'query',
'schema' => ['description' => 'The network instance ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
[
'name' => 'InstanceType',
'in' => 'query',
'schema' => ['description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: VPC'."\n"
.'- **ExpressConnect**: VBR'."\n"
.'- **VPN**: IPsec-VPN connection'."\n"
.'- **ECR**: ECR', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'VPC', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the network instance.'."\n"
."\n"
.'You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'CenOwnerId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '1250123456123456', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AA4BFFD1-5090-5896-935F-4B353557F1A8', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.Cen', 'errorMessage' => 'The status of Cen is incorrect.', 'description' => 'The error message returned because the status of the specified CEN instance does not support this operation. Try again later.'],
['errorCode' => 'OperationDenied.AttachmentExist', 'errorMessage' => 'Operation is not allowed because the specified instance has already been attached to CEN.', 'description' => 'Operation is not allowed because the specified instance has already been attached to CEN.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'RevokeInstanceFromTransitRouter',
'summary' => 'Revokes the permissions that a transit router has on network instances that belong to another Alibaba Cloud account.',
'description' => '`RevokeInstanceFromTransitRouter` can be used to revoke permissions on virtual private clouds (VPCs), virtual border routers (VBRs), IPsec-VPN connections, and Express Connect Router (ECRs) that belong to another Alibaba Cloud account.'."\n"
."\n"
.'To revoke permissions on Cloud Connect Network (CCN) instances that belong to another Alibaba Cloud account, call the [RevokeInstanceFromCbn](~~126142~~) operation.'."\n"
."\n"
.'### [](#)Prerequisites'."\n"
."\n"
.'Before you call `RevokeInstanceFromTransitRouter`, you must detach the network instances from the transit router.'."\n"
."\n"
.'- For more information about how to detach VPCs from Enterprise Edition transit routers, see [DeleteTransitRouterVpcAttachment](~~261220~~).'."\n"
.'- For more information about how to detach VBRs from Enterprise Edition transit routers, see [DeleteTransitRouterVbrAttachment](~~261223~~).'."\n"
.'- For more information about how to detach IPsec-VPN connections from Enterprise Edition transit routers, see [DeleteTransitRouterVpnAttachment](~~443992~~).'."\n"
.'- For more information about how to detach ECRs from Enterprise Edition transit routers, see [DeleteTransitRouterEcrAttachment](~~443992~~).'."\n"
.'- For more information about how to detach network instances from Basic Edition transit routers, see [DetachCenChildInstance](~~65915~~).',
'changeSet' => [
['createdAt' => '2025-03-18T07:15:59.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-26T02:48:18.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-12-22T08:10:12.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromTransitRouter'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:RevokeInstanceFromTransitRouter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AA4BFFD1-5090-5896-935F-4B353557F1A8\\"\\n}","type":"json"}]',
],
'RoutePrivateZoneInCenToVpc' => [
'summary' => 'Call the RoutePrivateZoneInCenToVpc operation to configure the PrivateZone service.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmc****', 'title' => ''],
],
[
'name' => 'AccessRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region from which the PrivateZone service is accessed.'."\n"
."\n"
.'The access region is the region from which the PrivateZone service is accessed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the PrivateZone service is located.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'HostVpcId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC instance that is associated with the PrivateZone service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-bp1h8vbrbcgohcju5****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.CrossRegionNotSupport', 'errorMessage' => 'Operation Failed. Host region Id is not equal to access region Id, VPC or VBR not support cross region privatezone service.', 'description' => 'The host region ID is different from the service region ID. The VPC or VBR does not support PrivateZone across regions.'],
['errorCode' => 'Forbidden.PrivatezoneServiceNotAuthorize', 'errorMessage' => 'Privatezone service not to grant authorization.', 'description' => 'The error message returned because PrivateZone does not have the required permissions.'],
['errorCode' => 'ParameterIllegal.AccessRegionIdNoCCN ', 'errorMessage' => 'Parameter Access RegionId illegal.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
403 => [
['errorCode' => 'InvalidOperation.PvtzNotAssociatedWithVpc', 'errorMessage' => 'Privatezone not associated with the specified vpc.', 'description' => 'The error message returned because PrivateZone is not associated with the specified VPC.'],
],
409 => [
['errorCode' => 'InvalidOperation.PrivatezoneRouteExisted', 'errorMessage' => 'Privatezone routes already existed.', 'description' => 'The error message returned because the PrivateZone route already exists.'],
['errorCode' => 'InvalidOperation.VpcNotAttachedToCen', 'errorMessage' => 'Vpc not attached to cen.', 'description' => 'The error message returned because the specified VPC is not attached to a CEN instance.'],
['errorCode' => 'InvalidOperation.UnmatchRouteInVpcRegion', 'errorMessage' => 'Operation Failed.Unmatch route in vpc region.', 'description' => 'The VPC routes do not match the match conditions.'],
],
],
'title' => 'RoutePrivateZoneInCenToVpc',
'description' => 'Alibaba Cloud DNS PrivateZone is a private Domain Name System (DNS) resolution and management service that is based on a Virtual Private Cloud (VPC). After a virtual border router (VBR) instance or a Cloud Connect Network (CCN) instance is attached to a Cloud Enterprise Network (CEN) instance, the associated on-premises network can access the PrivateZone service through the CEN instance.'."\n"
."\n"
.'- An on-premises network that is associated with a VBR or CCN instance can access the PrivateZone service only in the same region.'."\n"
."\n"
.' For example, if the PrivateZone service is in the China (Beijing) region, only on-premises networks that are associated with VBR instances in the China (Beijing) region or with CCN instances in the Chinese mainland can access the PrivateZone service.'."\n"
."\n"
.'- The **RoutePrivateZoneInCenToVpc** operation is asynchronous. After a request is sent, the system returns a **RequestId**. The configuration is then added in the background. You can call the **DescribeCenPrivateZoneRoutes** operation to query the status of the PrivateZone service.'."\n"
."\n"
.' - If the PrivateZone service is in the **Creating** state, the configuration is being added. In this state, you can only query the configuration and cannot perform other operations.'."\n"
."\n"
.' - If the PrivateZone service is in the **Active** state, the configuration is complete.'."\n"
."\n"
.' - If the PrivateZone service is in the **Failed** state, the configuration failed.'."\n"
."\n"
.'#### Prerequisites'."\n"
."\n"
.'Before you call the **RoutePrivateZoneInCenToVpc** operation, make sure that the following conditions are met:'."\n"
."\n"
.'- The PrivateZone service is deployed. For more information, see [Quick Start for Alibaba Cloud DNS PrivateZone](~~64627~~).'."\n"
."\n"
.'- The VPC instance associated with the PrivateZone service and the VBR or CCN instance in the access region are attached to the same CEN instance. For more information, see [AttachCenChildInstance](~~65902~~).'."\n"
."\n"
.'- If an on-premises network connects to Alibaba Cloud through a CCN instance, and the CCN, VPC, and CEN instances belong to different accounts, the CCN instance must be authorized first. For more information, see [Cloud Connect Network authorization](~~106674~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-12-22T08:10:13.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RoutePrivateZoneInCenToVpc'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:RoutePrivateZoneInCenToVpc',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
],
'SetCenInterRegionBandwidthLimit' => [
'summary' => 'You can call the SetCenInterRegionBandwidthLimit operation to set, modify, or delete the inter-region bandwidth between two regions in a bandwidth plan for a Basic Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '72421',
'abilityTreeNodes' => ['FEATUREcbn7IORX8'],
],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6jmx****', 'title' => ''],
],
[
'name' => 'LocalRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the local region.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to query the regions where network instances can be attached to a CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'OppositeRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the peer region.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'us-west-1', 'title' => ''],
],
[
'name' => 'BandwidthLimit',
'in' => 'query',
'schema' => ['description' => 'The inter-region bandwidth between the two regions. Unit: Mbps.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '8', 'title' => ''],
],
[
'name' => 'BandwidthType',
'in' => 'query',
'schema' => ['description' => 'The method used to allocate bandwidth. Valid value:'."\n"
."\n"
.'- **BandwidthPackage** (default): allocates bandwidth from a bandwidth plan.', 'type' => 'string', 'example' => 'BandwidthPackage', 'default' => 'BandwidthPackage', 'required' => false, 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '530BC816-F575-412A-AAB2-435125D26328', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParam.CbnBandwidthPackageId', 'errorMessage' => 'There are more than one suitable cen bandwidth package', 'description' => 'The error message returned because the CbnBandwidthPackageId parameter is not set.'],
['errorCode' => 'AttrMismatching.CbnBandwidthPackageId', 'errorMessage' => '%s', 'description' => ''],
['errorCode' => 'OperationFailed.InvalidOperation', 'errorMessage' => 'The operation is failed because the operation is not support.', 'description' => ''],
['errorCode' => 'OperationUnsupported.Attachment', 'errorMessage' => 'The cross region connection contains an existing bandwidth. The operation is not supported.', 'description' => 'The error message returned because bandwidth multiplexing is enabled for the inter-region connection.'],
['errorCode' => 'InvalidOperation.UnsupportChargeType', 'errorMessage' => 'The charge type is not supported by this operation.', 'description' => 'The error message returned because the specified billing method does not support this operation.'],
['errorCode' => 'OperationUnsupported.TrafficQosPolicyExist', 'errorMessage' => 'Operation unsupported because traffic qos policy exists.', 'description' => 'The error message returned because the specified QoS policy already exists.'],
['errorCode' => 'OperationUnsupported.BandwidthType', 'errorMessage' => 'The specified BandwidthType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified bandwidth type.'],
['errorCode' => 'IllegalParam.BandwidthType', 'errorMessage' => 'BandwidthType is illegal.', 'description' => 'The error message returned because the specified bandwidth plan type is invalid.'],
['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Bandwidth is illegal.', 'description' => 'The error message returned because the specified bandwidth plan ID is invalid.'],
['errorCode' => 'ParamExclusive.BandwidthTypeAndCenBandwidthPackageId', 'errorMessage' => 'DataTransfer and CenBandwidthPackageId is mutually exclusive.', 'description' => 'When the value of bandwidthType is DataTransfer, the CenBandwidthPackageId field cannot be set.'],
['errorCode' => 'IdentityRegistrationStatusNotSupport', 'errorMessage' => 'Real name registration of enterprises required.', 'description' => 'Real name registration of enterprises required.'],
['errorCode' => 'IllegalParam.BandwidthLessThanQosPolicyBandwidth', 'errorMessage' => 'The input bandwidth value is less than the sum of the Qos policy bandwidth.', 'description' => 'The input bandwidth value is less than the sum of the Qos policy bandwidth.'],
['errorCode' => 'OperationUnsupported.RegionId', 'errorMessage' => 'The specified RegionId does not support the operation.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'QuotaExceeded.Bandwidth', 'errorMessage' => 'Bandwidth quota exceeded.', 'description' => 'Bandwidth quota exceeded.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'IncorrectStatus.TransitRouter', 'errorMessage' => 'The resource is not in a valid state for the operation.', 'description' => 'The CEN TR instance is not in a valid state for the operation. Please try again later.'],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"530BC816-F575-412A-AAB2-435125D26328\\"\\n}","type":"json"}]',
'title' => 'SetCenInterRegionBandwidthLimit',
'description' => 'The target Cloud Enterprise Network (CEN) instance must be associated with a bandwidth plan. For more information, see [CreateCenBandwidthPackage](~~65919~~) and [AssociateCenBandwidthPackage](~~65934~~).'."\n"
."\n"
.'### Limits'."\n"
."\n"
.'The target Cloud Enterprise Network (CEN) instance already has a bandwidth plan. For more information, see [CreateCenBandwidthPackage](~~65919~~) and [AssociateCenBandwidthPackage](~~65934~~).'."\n"
."\n"
.'You can call the **SetCenInterRegionBandwidthLimit** API to set, modify, or delete the bandwidth for inter-region communication:'."\n"
."\n"
.'- The **SetCenInterRegionBandwidthLimit** operation supports setting, modifying, or deleting the inter-region communication bandwidth for Basic Edition transit routers only.'."\n"
."\n"
.'- You cannot modify the inter-region communication bandwidth if bandwidth multiplexing is enabled for the inter-region connection.'."\n"
."\n"
.'### Limits'."\n"
."\n"
.'- The maximum bandwidth for an inter-region communication cannot exceed the peak bandwidth of the bandwidth plan.'."\n"
."\n"
.'- The total bandwidth of all inter-region communications in a bandwidth plan cannot exceed the peak bandwidth of the plan.'."\n"
."\n"
.'- You cannot modify the inter-region communication bandwidth if bandwidth multiplexing is enabled for the inter-region connection.'."\n"
."\n"
.'- You can use the **SetCenInterRegionBandwidthLimit** API operation to set, modify, or delete the inter-region communication bandwidth for Basic Edition transit routers only.'."\n"
."\n"
.' To set, modify, or delete the inter-region communication bandwidth for an Enterprise Edition transit router, use the [CreateTransitRouterPeerAttachment](~~261363~~), [UpdateTransitRouterPeerAttachmentAttribute](~~261229~~), and [DeleteTransitRouterPeerAttachment](~~261227~~) API operations.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-18T07:43:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-12-04T07:55:42.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-08-16T03:39:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-17T03:08:37.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2023-09-08T01:51:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T05:33:35.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetCenInterRegionBandwidthLimit'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:SetCenInterRegionBandwidthLimit',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
],
'TagResources' => [
'summary' => 'Creates and attaches tags to resources.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => [
'description' => 'The type of the resource. Valid values:'."\n"
."\n"
.'**Cen**: a CEN instance.'."\n"
."\n"
.'**BandwidthPackage**: a bandwidth plan.'."\n"
."\n"
.'**TransitRouter**: a transit router instance.'."\n"
."\n"
.'**TransitRouterVpcAttachment**: a VPC connection.'."\n"
."\n"
.'**TransitRouterVbrAttachment**: a VBR connection.'."\n"
."\n"
.'**TransitRouterPeerAttachment**: an inter-region connection.'."\n"
."\n"
.'**TransitRouterVpnAttachment**: a VPN connection.'."\n"
."\n"
.'**TransitRouterRouteTable**: a route table.'."\n"
."\n"
.'**Flowlog**: a flow log.'."\n"
."\n"
.'**TransitRouterMulticastDomain**: a multicast domain.',
'enumValueTitles' => [],
'type' => 'string',
'required' => true,
'docRequired' => true,
'example' => 'cen',
'title' => '',
],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of resource IDs.',
'type' => 'array',
'items' => ['description' => 'The resource ID.'."\n"
."\n"
.'You can enter multiple resource IDs. The value of **N** ranges from **1** to **20**.', 'type' => 'string', 'required' => false, 'example' => 'cen-pfa6ugf3xl0qsd****', 'title' => ''],
'required' => true,
'docRequired' => true,
'example' => 'cen-7qthudw0ll6jmc****',
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of tags.',
'type' => 'array',
'items' => [
'description' => 'The tag.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'You can enter multiple tag keys. The value of **N** ranges from **1** to **20**.'."\n"
."\n"
.'The tag key can be up to 64 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'TagKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'Each tag key must have a tag value. The value of **N** ranges from **1** to **20**.'."\n"
."\n"
.'The tag value can be up to 128 characters in length. It cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => 'TagValue', 'title' => ''],
],
'required' => true,
'docRequired' => true,
'title' => '',
'example' => '',
],
'required' => true,
'docRequired' => true,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the resource.'."\n"
."\n"
.'This parameter is not required for resources of the Cen and BandwidthPackage types. It is required for all other resource types.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''],
['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The error message returned because the specified instance type does not exist.'],
['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'The error message returned because you cannot manage the specified tag key.'],
['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The error message returned because the number of tags has reached the upper limit.'],
['errorCode' => 'InvalidTagScope.NotFound', 'errorMessage' => 'The tag scope is not found', 'description' => 'The error message returned because the specified tag scope is invalid.'],
['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because you cannot configure system tags.'],
['errorCode' => 'SizeLimitExceeded.ResourceIdNum', 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 20', 'description' => ''],
['errorCode' => 'MissingParameter.TagValue', 'errorMessage' => 'The specified parameter TagValue is missing', 'description' => 'The error message returned because the TagValue parameter is not set.'],
['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The parameter TagKey is duplicated.', 'description' => 'The error message returned because the TagKey parameter already exists.'],
['errorCode' => 'IllegalParamLength.Tag', 'errorMessage' => 'The specified length of Tag is invalid.', 'description' => 'The error message returned because the length of the specified tag is invalid. Check the tag and try again.'],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified region is invalid.', 'description' => ''],
['errorCode' => 'MissingParameter.TagKey', 'errorMessage' => 'TagKey must be specified.', 'description' => 'The error message returned because you must set the TagKey parameter.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'TagResources',
'description' => '- A tag consists of a tag key and a tag value. Both the tag key and tag value are required.'."\n"
."\n"
.'- If you attach multiple tags to a Cloud Enterprise Network (CEN) instance, the tag keys must be unique for that instance.'."\n"
."\n"
.'- You can attach a maximum of 20 tags to a CEN instance.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-12-16T05:33:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2022-11-17T08:16:25.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-15T15:49:49.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-09-26T02:17:48.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:TagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\"\\n}","type":"json"}]',
],
'TempUpgradeCenBandwidthPackageSpec' => [
'summary' => 'Temporarily upgrades a subscription bandwidth plan of Cloud Enterprise Network (CEN).',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'Bandwidth package ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cenbwp-y08yosedeqlpua****'],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum temporary bandwidth. Unit: Mbps.'."\n"
."\n"
.'Valid values: **2 to 10,000**', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '20'],
],
[
'name' => 'EndTime',
'in' => 'query',
'schema' => ['description' => 'The expiration time of the temporary upgrade. It follows the ISO8601 standard and is displayed in UTC time, `YYYY-MM-DDThh:mm:ssZ`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '2022-07-24T13:00:52Z'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'DB0A026C-A8E5-40AB-977E-3A87DD78F694'],
],
'description' => 'The returned result.',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Forbidden.AssociatedUnsupportedInterRegionTrafficQosPolicy', 'errorMessage' => 'The transit router associated with the bandwidth plan has an inter-region traffic scheduling policy that allocates bandwidth based on absolute values. You must delete this policy before you can change the configurations.', 'description' => 'The transit router associated with the bandwidth plan has an inter-region traffic scheduling policy that allocates bandwidth based on absolute values. You must delete this policy before you can change the configurations.'],
['errorCode' => 'InvalidOperation.OrderParameterIllegal', 'errorMessage' => 'The order parameters are abnormal, please check whether the order parameters are correct and whether they conflict with existing orders.', 'description' => 'The order parameters are abnormal, please check whether the order parameters are correct and whether they conflict with existing orders.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidOperation.UpgradeBwpBandwidth', 'errorMessage' => 'The operation is invalid because the upgrade is equal or less than the original bandwidth.', 'description' => 'The operation is invalid because the upgrade is equal or less than the original bandwidth.'],
],
],
'title' => 'TempUpgradeCenBandwidthPackageSpec',
'description' => 'Subscription bandwidth packages support temporary upgrade. You can increase the bandwidth for a specified period, responding to traffic fluctuations.'."\n"
."\n"
.'The minimum upgrade interval supported is 3 hours. After payment is completed, the bandwidth is immediately upgraded without affecting the service.'."\n"
."\n"
.'> After the specified time window ends, the bandwidth limit is restored to the original value. If the actual bandwidth exceeds the limit, packets may be dropped due to network traffic throttling. Plan your upgrade window and match the bandwidth peak to your needs.'."\n"
."\n"
.'- Currently, the temporary upgrade feature is not enabled by default. To use it, contact your account manager.'."\n"
.'- Pay-as-you-go and expired subscription bandwidth packages do not support the temporary upgrade feature.'."\n"
.'- The **TempUpgradeCenBandwidthPackageSpec** operation is asynchronous. The system first returns a **RequestId**, while running the upgrade task in the background. Call the **DescribeCenBandwidthPackages** API to query the bandwidth package specifications. When they match your request, the upgrade is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-14T09:02:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2025-03-13T11:55:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-16T03:34:38.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-09-16T03:34:38.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '5', 'countWindow' => 3600, 'regionId' => '*', 'api' => 'TempUpgradeCenBandwidthPackageSpec'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:TempUpgradeCenBandwidthPackageSpec',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DB0A026C-A8E5-40AB-977E-3A87DD78F694\\"\\n}","type":"json"}]',
],
'UnassociateCenBandwidthPackage' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-7qthudw0ll6j****', 'title' => ''],
],
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cenbwp-4c2zaavbvh5****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationFailed.SetPostPay95BandwidthLimitError', 'errorMessage' => 'Operation failed because set postpay 95 bandwidth limit error.', 'description' => 'The error message returned because you failed to switch to the pay-by-95-percentile-bandwidth metering method.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'UnassociateCenBandwidthPackage',
'summary' => 'You can call the UnassociateCenBandwidthPackage operation to detach a bandwidth plan from a Cloud Enterprise Network (CEN) instance. After you detach the bandwidth plan, you can attach it to another CEN instance.',
'description' => 'Before you call this operation, ensure that no cross-region bandwidth is configured for the bandwidth plan. To delete the cross-region bandwidth, see [SetCenInterRegionBandwidthLimit](~~65942~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-12-16T07:48:26.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateCenBandwidthPackage'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:UnassociateCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","type":"json"}]',
],
'UnroutePrivateZoneInCenToVpc' => [
'summary' => 'Deletes a connection to PrivateZone.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the Cloud Enterprise Network (CEN) instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
],
[
'name' => 'AccessRegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the PrivateZone connection is accessed.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to get the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'C0245BEF-52AC-44A8-A776-EF96FD26A5CA'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
409 => [
['errorCode' => 'InvalidOperation.PrivatezoneRouteExisted', 'errorMessage' => 'Privatezone routes already existed.', 'description' => 'The error message returned because the PrivateZone route already exists.'],
],
],
'title' => 'UnroutePrivateZoneInCenToVpc',
'description' => 'The **UnroutePrivateZoneInCenToVpc** operation is asynchronous. The system returns a **RequestId**, while the system runs the deletion task in the background. Call the **DescribeCenPrivateZoneRoutes** operation to query the PrivateZone status.'."\n"
."\n"
.'- The **Deleting** state indicates the PrivateZone connection is being deleted. You can only perform the query operation.'."\n"
.'- When the specified PrivateZone connection is not found, it has been deleted.'."\n"
."\n"
.'If the PrivateZone connection has an access region that is a Cloud Connect Network (CCN) region, you must first delete the PrivateZone connection for the CCN region before you delete the PrivateZone connections for other regions.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnroutePrivateZoneInCenToVpc'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:UnroutePrivateZoneInCenToVpc',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C0245BEF-52AC-44A8-A776-EF96FD26A5CA\\"\\n}","type":"json"}]',
],
'UntagResources' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'Resource type. Valid values:'."\n"
."\n"
.'**Cen**: Cloud Enterprise Network (CEN).'."\n"
."\n"
.'**BandwidthPackage**: Bandwidth package.'."\n"
."\n"
.'**TransitRouter**: Transit router.'."\n"
."\n"
.'**TransitRouterVpcAttachment**: VPC attachment.'."\n"
."\n"
.'**TransitRouterVbrAttachment**: VBR attachment.'."\n"
."\n"
.'**TransitRouterPeerAttachment**: Inter-region attachment.'."\n"
."\n"
.'**TransitRouterVpnAttachment**: VPN attachment.'."\n"
."\n"
.'**TransitRouterRouteTable**: Route table.'."\n"
."\n"
.'**Flowlog**: Flow log.'."\n"
."\n"
.'**TransitRouterMulticastDomain**: Multicast domain.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'cen'],
],
[
'name' => 'All',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to delete all tags. Valid values:'."\n"
."\n"
.'- **true**: Yes'."\n"
.'- **false** (default): No'."\n"
."\n"
.'> This parameter takes effect only when the **TagKey.N** parameter is empty.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Resource ID. The value of **N** ranges from **1** to **50**.',
'type' => 'array',
'items' => ['description' => 'Resource ID. The value of **N** ranges from **1** to **50**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cen-7qthudw0ll6jmc****'],
'required' => true,
'example' => 'cen-7qthudw0ll6jmc****',
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'TagKey',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'Tag key.'."\n"
."\n"
.'A tag key can contain up to 64 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n"
."\n"
.'If you specify multiple tag keys, the logical relation among these tag keys is **OR**. Valid values of **N**: **1** to **20**.',
'type' => 'array',
'items' => ['description' => 'Tag key.'."\n"
."\n"
.'A tag key can contain up to 64 characters. It cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n"
."\n"
.'If you specify multiple tag keys, the logical relation among these tag keys is **OR**. Valid values of **N**: **1** to **20**.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'Name'],
'required' => false,
'example' => 'FinanceDept',
'maxItems' => 21,
'title' => '',
],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region.'."\n"
."\n"
.'This parameter is not required when the resource type is Cen or BandwidthPackage. For all other resource types, this parameter is required.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned result.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C46FF5A8-C5F0-4024-8262-B16B639225A0 '],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The tag keys are not valid.', 'description' => 'The error message returned because the specified tag key is invalid.'],
['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag values are not valid.', 'description' => 'The error message returned because the specified tag value is invalid.'],
['errorCode' => 'MissingParam', 'errorMessage' => '%s', 'description' => ''],
['errorCode' => 'InvalidInstanceType.NotFound', 'errorMessage' => 'The instance type is not found', 'description' => 'The error message returned because the specified instance type does not exist.'],
['errorCode' => 'InvalidInstanceIds.NotFound', 'errorMessage' => 'The instanceIds are not found', 'description' => 'The error message returned because the specified instance does not exist.'],
['errorCode' => 'Forbidden.TagKeys', 'errorMessage' => 'The request do not allow to operate the tag keys', 'description' => 'The error message returned because you cannot manage the specified tag key.'],
['errorCode' => 'QuotaExceeded.TagNum', 'errorMessage' => 'Custom Tags quota exceeded', 'description' => 'The error message returned because the number of tags has reached the upper limit.'],
['errorCode' => 'InvalidTagScope.NotFound', 'errorMessage' => 'The tag scope is not found', 'description' => 'The error message returned because the specified tag scope is invalid.'],
['errorCode' => 'Forbidden.NotAllowedCategary', 'errorMessage' => 'The System tag is not valid', 'description' => 'The error message returned because you cannot configure system tags.'],
['errorCode' => 'SizeLimitExceeded.ResourceIdNum', 'errorMessage' => 'The ResourceIds parameter\'s number is exceed , Valid : 20', 'description' => ''],
['errorCode' => 'IllegalParam.Region', 'errorMessage' => 'The specified region is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.TagKeyOrAll', 'errorMessage' => 'The specified parameter TagKey or All is invalid.', 'description' => 'The specified parameter TagKey or All is invalid.'],
],
],
'title' => 'UntagResources',
'summary' => 'Remove tags from resources.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-04-09T05:43:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T11:54:25.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2022-11-16T02:50:12.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-11-15T15:49:49.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UntagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C46FF5A8-C5F0-4024-8262-B16B639225A0\\\\t\\"\\n}","type":"json"}]',
],
'UpdateCenInterRegionTrafficQosPolicyAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '123e4567-e89b-12d3-a456-426655****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request syntax, and 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"
."\n"
.'- **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
[
'name' => 'TrafficQosPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the QoS policy.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'qos-eczzew0v1kzrb5****'],
],
[
'name' => 'TrafficQosPolicyName',
'in' => 'query',
'schema' => ['description' => 'The new name of the QoS policy.'."\n"
."\n"
.'The name must be 1 to 128 characters in length, and cannot start with http\\:// or https\\://. You can also leave this parameter empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'nametest'],
],
[
'name' => 'TrafficQosPolicyDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the QoS policy.'."\n"
."\n"
.'The description must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://. You can also leave this parameter empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'desctest'],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The returned results.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '5B8465FF-E697-5D3D-AAD5-0B4EEADFDB27'],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTrafficQosPolicyId.NotFound', 'errorMessage' => 'The specified TrafficQosPolicyId is not found.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficQosPolicyId', 'errorMessage' => 'The parameter TrafficQosPolicyId is mandatory.', 'description' => ''],
['errorCode' => 'Forbidden.CDTServiceExpired', 'errorMessage' => 'The CDT service is out of service.', 'description' => 'The cloud data transfer service has been suspended due for payment. Please renew the service and try again.'],
],
],
'staticInfo' => [],
'title' => 'UpdateCenInterRegionTrafficQosPolicyAttribute',
'summary' => 'Modifies the name and description of a quality of service (QoS) policy.',
'changeSet' => [
['createdAt' => '2022-12-16T07:48:26.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCenInterRegionTrafficQosPolicyAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateCenInterRegionTrafficQosPolicyAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5B8465FF-E697-5D3D-AAD5-0B4EEADFDB27\\"\\n}","type":"json"}]',
],
'UpdateCenInterRegionTrafficQosQueueAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72430',
'abilityTreeNodes' => ['FEATUREcbnUX9TH2'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-426655****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run, without performing the actual request. Valid values:'."\n"
."\n"
.'- **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.'."\n"
."\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.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'QosQueueId',
'in' => 'query',
'schema' => ['description' => 'The queue ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'qos-queue-nv2vfzqkewhk4t****', 'title' => ''],
],
[
'name' => 'QosQueueName',
'in' => 'query',
'schema' => ['description' => 'The new name of the queue.'."\n"
."\n"
.'The name must be 1 to 128 characters in length, and cannot start with http\\:// or https\\://. You can also leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'QosQueueDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the queue.'."\n"
."\n"
.'The description must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://. You can also leave this parameter empty.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'RemainBandwidthPercent',
'in' => 'query',
'schema' => ['description' => 'The percentage of bandwidth that can be allocated to the current queue.'."\n"
."\n"
.'Enter a number. You do not need to enter a percent sign (%).', 'type' => 'string', 'required' => false, 'pattern' => '^\\d+$', 'example' => '1', 'title' => ''],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The absolute bandwidth value that can be allocated to the current queue. Unit: Mbit/s.'."\n"
."\n"
.'Enter a number. You do not need to enter a unit.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'Dscps',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The differentiated services code point (DSCP) value used to match packets in the queue.',
'type' => 'array',
'items' => ['description' => 'The DSCP value used to match packets in the queue. Valid values: **0** to **63**.'."\n"
."\n"
.'You can enter up to 20 DSCP values at a time.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'title' => ''],
'required' => false,
'maxItems' => 20,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response parameters.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6DF9A765-BCD2-5C7E-8C32-C35C8A361A39', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.TrafficQosPolicy', 'errorMessage' => 'The status of TrafficQosPolicy is incorrect.', 'description' => 'The error message returned because the status of the specified QoS policy does not support the operation.'],
['errorCode' => 'InvalidTrafficQosQueueId.NotFound', 'errorMessage' => 'The instance of TrafficQosQueueId is not found.', 'description' => ''],
['errorCode' => 'IllegalParam.BandwidthGuaranteeModeMismatch', 'errorMessage' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.', 'description' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.'],
['errorCode' => 'IllegalParam.AttachmentBandwidthExceed', 'errorMessage' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.', 'description' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.'],
['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Bandwidth is illegal', 'description' => 'The error message returned because the specified bandwidth value is invalid.'],
['errorCode' => 'IllegalParam.RemainBandwidthPercent', 'errorMessage' => 'The specified RemainBandwidthPercent is invalid.', 'description' => 'The error message returned because the RemainBandwidthPercent parameter is set to invalid value.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficQosPolicyQueueId', 'errorMessage' => 'The parameter TrafficQosPolicyQueueId is mandatory.', 'description' => ''],
['errorCode' => 'ParamMismatch.QueueTypeAndBandwidthPercent', 'errorMessage' => 'The parameters QueueType and BandwidthPercent are incompatible.', 'description' => 'The parameters QueueType and BandwidthPercent are incompatible.'],
['errorCode' => 'InvalidOperation.NotSupportLinkType', 'errorMessage' => 'The operation is invalid because the specified queue link type is not supported.', 'description' => 'The operation is invalid because the specified queue link type is not supported.'],
['errorCode' => 'InvalidOperation.DefaultQueueOnlySupportSetLinkType', 'errorMessage' => 'The operation is invalid because only the LinkType can be configured for the default queue in HierarchicalQoS.', 'description' => 'The operation is invalid because only the LinkType can be configured for the default queue in HierarchicalQoS.'],
['errorCode' => 'InvalidOperation.SetFlatQueueLinkType', 'errorMessage' => 'The operation is invalid because the FlatQueuing QoS does not support setting the LinkType.', 'description' => 'The operation is invalid because the FlatQueuing QoS does not support setting the LinkType.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListCenInterRegionTrafficQosQueues', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'UpdateCenInterRegionTrafficQosQueueAttribute',
'summary' => 'Modifies the name, description, inter-region bandwidth, and Differentiated Services Code Point (DSCP) value of a quality of service (QoS) queue.',
'changeSet' => [
['createdAt' => '2024-08-28T06:29:04.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-08-16T03:39:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-08-04T05:57:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T07:48:26.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCenInterRegionTrafficQosQueueAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateCenInterRegionTrafficQosQueueAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DF9A765-BCD2-5C7E-8C32-C35C8A361A39\\"\\n}","type":"json"}]',
],
'UpdateTrafficMarkingPolicyAttribute' => [
'summary' => 'Modifies the name, description, and traffic classification rules of a traffic marking policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72432',
'abilityTreeNodes' => ['FEATUREcbnWVMXRT'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the value, but you must make sure that it 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' => '123e4567-e89b-12d3-a456-426****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'* **true**: preforms a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
.'* **false** (default): performs a dry run and sends the request.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the traffic marking policy.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tm-u9nxup5kww5po8****', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyName',
'in' => 'query',
'schema' => ['description' => 'The new name of the traffic marking policy.'."\n"
."\n"
.'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TrafficMarkingPolicyDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the traffic marking policy.'."\n"
."\n"
.'The description must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The description must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'AddTrafficMatchRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The traffic classification rules to be added to the traffic marking policy.'."\n"
."\n"
.'You can add at most 50 traffic classification rules in each call.'."\n",
'type' => 'array',
'items' => [
'description' => 'The traffic classification rules to be added to the traffic marking policy.'."\n",
'type' => 'object',
'properties' => [
'MatchDscp' => ['description' => 'The Differentiated Service Code Point (DSCP) value that is used to match packets. Valid values: **0** to **63**.'."\n"
."\n"
.'Requests that carry the specified DSCP value are considered a match. If you do not specify a DSCP value, packets are considered a match regardless of the DSCP value.'."\n"
."\n"
.'> The DSCP value that you specify for this parameter is the DSCP value that packets carry before they are transmitted over the inter-region connection.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a DSCP value for each traffic classification rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
'DstCidr' => ['description' => 'The destination CIDR block of packets. IPv4 and IPv6 addresses are supported.'."\n"
."\n"
.'Packets whose destination IP addresses fall into the specified destination CIDR block meet the traffic classification rule. If you do not specify a destination CIDR block, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a destination CIDR block for each traffic classification rule.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.30.0.0/24', 'title' => ''],
'TrafficMatchRuleDescription' => ['description' => 'The description of the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a description for each traffic classification rule.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''],
'Protocol' => ['description' => 'The protocol that is used to match packets.'."\n"
."\n"
.'Traffic classification rules support the following protocols: **HTTP**, **HTTPS**, **TCP**, **UDP**, **SSH**, and **Telnet**. For more information, log on to the [CEN console](https://cen.console.aliyun.com/cen/list).'."\n"
."\n"
.'**Some protocols use a fixed port. Click to view the protocols and ports.**'."\n"
."\n"
.'* If the protocol is **ICMP**, set the destination port to **-1**.'."\n"
.'* If the protocol is **GRE**, set the destination port to **-1**.'."\n"
.'* If the protocol is **SSH**, set the destination port to **22**.'."\n"
.'* If the protocol is **Telnet**, set the destination port to **23**.'."\n"
.'* If the protocol is **HTTP**, set the destination port to **80**.'."\n"
.'* If the protocol is **HTTPS**, set the destination port to **443**.'."\n"
.'* If the protocol is **MS SQL**, set the destination port to **1443**.'."\n"
.'* If the protocol is **Oracle**, set the destination port to **1521**.'."\n"
.'* If the protocol is **Mysql**, set the destination port to **3306**.'."\n"
.'* If the protocol is **RDP**, set the destination port to **3389**.'."\n"
.'* If the protocol is **Postgre SQL**, set the destination port to **5432**.'."\n"
.'* If the protocol is **Redis**, the destination port must be **6379**.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a protocol for each traffic classification rule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'UDP', 'title' => ''],
'DstPortRange' => [
'description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose destination ports fall within the specified destination port range are considered a match. If you do not specify a destination port range, packets are considered a match regardless of the destination port.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number, such as 1, packets whose destination port is 1 match the traffic classification rule. A value of -1 specifies all destination ports.'."\n"
.'* If you enter two port numbers, such as 1 and 200, packets whose destination ports fall into 1 and 200 are considered a match.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a destination port range for each traffic classification rule.'."\n",
'type' => 'array',
'items' => ['description' => 'The destination port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'Packets whose destination ports fall within the specified destination port range are considered a match. If you do not specify a destination port range, packets are considered a match regardless of the destination port.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number, such as 1, packets whose destination port is 1 match the traffic classification rule.'."\n"
.'* If you enter two port numbers, such as 1 and 200, packets whose destination ports fall into 1 and 200 are considered a match.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a destination port range for each traffic classification rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '77', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
'SrcCidr' => ['description' => 'The source CIDR block of packets. IPv4 and IPv6 addresses are supported.'."\n"
."\n"
.'Packets whose source IP addresses fall into the specified source CIDR block meet the traffic classification rule. If you do not specify a source CIDR block, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a source CIDR block for each traffic classification rule.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.128.32.0/19', 'title' => ''],
'SrcPortRange' => [
'description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'The traffic classification rule matches the packets whose source ports fall within the source port range. If you do not specify this parameter, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number, such as 1, packets whose source port is 1 are considered a match. A value of -1 specifies all source ports.'."\n"
.'* If you enter two port numbers, such as 1 and 200, packets whose source ports fall into 1 and 200 are considered a match.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a source port range for each traffic classification rule.'."\n",
'type' => 'array',
'items' => ['description' => 'The source port range that is used to match packets. Valid values: **-1** and **1** to **65535**.'."\n"
."\n"
.'The traffic classification rule matches the packets whose source ports fall within the source port range. If you do not specify this parameter, packets are considered a match regardless of the source port.'."\n"
."\n"
.'You can enter up to two port numbers. Take note of the following rules:'."\n"
."\n"
.'* If you enter only one port number, such as 1, packets whose source port is 1 are considered a match.'."\n"
.'* If you enter two port numbers, such as 1 and 200, packets whose source ports fall into 1 and 200 are considered a match.'."\n"
.'* If you enter two port numbers and one of them is -1, the other port number must also be -1. In this case, all packets meet the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a source port range for each traffic classification rule.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
'TrafficMatchRuleName' => ['description' => 'The name of the traffic classification rule.'."\n"
."\n"
.'You can create up to 50 traffic classification rules in each call. You can specify a name for each traffic classification rule.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length, and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Guangzhou test', 'title' => ''],
'AddressFamily' => ['description' => 'The address family. Valid values: You can set the value to IPv4 or IPv6, or leave the value empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
[
'name' => 'DeleteTrafficMatchRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The traffic classification rules to be deleted from the traffic marking policy.'."\n"
."\n"
.'> Specify detailed information about the traffic classification rule, such as the source CIDR block, destination CIDR block, source port, destination port, and DSCP value. If you do not specify sufficient information, the system may fail to match the traffic classification rule that you want to delete.'."\n",
'type' => 'array',
'items' => [
'description' => 'The traffic classification rules to be deleted from the traffic marking policy.'."\n",
'type' => 'object',
'properties' => [
'MatchDscp' => ['description' => 'The DSCP value that is used to match packets.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''],
'DstCidr' => ['description' => 'The destination CIDR block of packets. IPv4 and IPv6 addresses are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.200.3/32', 'title' => ''],
'TrafficMatchRuleDescription' => ['description' => 'The description of the traffic classification rule.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Hangzhou-Qingdao CAT', 'title' => ''],
'Protocol' => ['description' => 'The protocol that is used to match packets.'."\n"
."\n"
.'You can call the [ListTrafficMarkingPolicies](~~468322~~) operation to query the details about a traffic classification rule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''],
'DstPortRange' => [
'description' => 'The destination port range that is used to match packets.'."\n",
'type' => 'array',
'items' => ['description' => 'The destination port range that is used to match packets.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
'SrcCidr' => ['description' => 'The source CIDR block of packets. IPv4 and IPv6 addresses are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => '10.72.0.0/16', 'title' => ''],
'SrcPortRange' => [
'description' => 'The source port range that is used to match packets.'."\n",
'type' => 'array',
'items' => ['description' => 'The source port range that is used to match packets.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '23', 'title' => ''],
'required' => false,
'maxItems' => 2,
'title' => '',
'example' => '',
],
'TrafficMatchRuleName' => ['description' => 'The name of the traffic classification rule.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length, and cannot start with http:// or https://.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
'AddressFamily' => ['description' => 'The address family. Valid values: You can set the value to IPv4 or IPv6, or leave the value empty.'."\n", 'type' => 'string', 'required' => false, 'example' => 'IPv6', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 50,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTrafficMarkingPolicyId.NotFound', 'errorMessage' => 'TrafficMarkingPolicyId is not found.', 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['errorCode' => 'IncorrectStatus.TrafficMarkingPolicy', 'errorMessage' => 'The status of TrafficMarkingPolicy is incorrect.', 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['errorCode' => 'Duplicated.AddTrafficMatchRules', 'errorMessage' => 'The parameter AddTrafficMatchRules are duplicated. ', 'description' => ''],
['errorCode' => 'Duplicated.DeleteTrafficMatchRulese', 'errorMessage' => 'The parameter DeleteTrafficMatchRules are duplicated. ', 'description' => ''],
['errorCode' => 'InstanceExist.AddTrafficMatchRules', 'errorMessage' => 'The instance already exists.', 'description' => 'The error message returned because the specified instance already exists.'],
['errorCode' => 'Duplicated.AddTrafficMatchRulesAndDeleteTrafficMatchRules', 'errorMessage' => 'The same rule in AddTrafficMatchRules and DeleteTrafficMatchRules is not supported..', 'description' => 'The error message returned because the AddTrafficMatchRules and DeleteTrafficMatchRules cannot specify the same route. Delete duplicate routes and try again.'],
['errorCode' => 'IllegalParam.DstPortRange', 'errorMessage' => 'The specified DstPortRange is illegal.', 'description' => 'The specified DstPortRange is illegal.'],
['errorCode' => 'IllegalParam.SrcPortRange', 'errorMessage' => 'The specified SrcPortRange is illegal.', 'description' => ''],
['errorCode' => 'AttrMismatching.CidrAddressFamily', 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.', 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.'],
['errorCode' => 'IllegalParam.AddressFamily', 'errorMessage' => 'AddressFamily is illegal.', 'description' => 'The AddressFamily value of the request parameter is invalid. Valid values are IPv4 or IPv6.'],
['errorCode' => 'AttrMismatching.SrcCidrDstCidr', 'errorMessage' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.', 'description' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.'],
['errorCode' => 'AttrMismatching.CidrProtocol', 'errorMessage' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.', 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'OperationUnsupported.SrcPortRange', 'errorMessage' => 'Current TR version does not support setting source port range.', 'description' => 'Current TR version does not support setting source port range'],
['errorCode' => 'OperationUnsupported.DstPortRange', 'errorMessage' => 'Current TR version does not support setting destination port range.', 'description' => 'Current TR version does not support setting destination port range.'],
['errorCode' => 'OperationUnsupported.IPv6Cidr', 'errorMessage' => 'The traffic marking policy for current TR type does not support IPv6 CIDR.', 'description' => 'The flow classification rules in the flow marking policy of the basic version forwarding router do not support IPv6 network segments.'],
['errorCode' => 'IllegalParam.DstCidr', 'errorMessage' => 'DstCidr is illegal.', 'description' => 'The error message returned because the specified destination CIDR block (DstCidr) is invalid.'],
['errorCode' => 'IllegalParam.SrcCidr', 'errorMessage' => 'SrcCidr is illegal.', 'description' => 'The error message returned because the specified source CIDR block is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'MissingParam.TrafficMarkingPolicyId', 'errorMessage' => 'The parameter TrafficMarkingPolicyId is mandatory.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidDeleteTrafficMatchRules.NotFound', 'errorMessage' => 'The specified DeleteTrafficMatchRules are not found.', 'description' => 'The error message returned because the value of the DeleteTrafficMatchRules parameter does not exist.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTrafficMarkingPolicies', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 60BB11B2-7BF4-54DC-BCC9-F706E1EB02AC\\n","errorExample":""}]',
'title' => 'UpdateTrafficMarkingPolicyAttribute',
'changeSet' => [
['createdAt' => '2024-12-06T11:09:25.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-10T02:52:26.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-08-20T06:45:19.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-04-19T07:35:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-03-15T06:43:36.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-09-08T07:00:47.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-09T06:59:58.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-12-02T03:57:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-11-26T10:14:47.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTrafficMarkingPolicyAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
],
],
'UpdateTransitRouter' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'Generate a client token to make sure that the value 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 request as the **ClientToken**. The **RequestId** of each request is unique.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. A dry run checks permissions and the status of the instance. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. After the request passes the check, the information about the TransitRouter instance is modified.'."\n"
."\n"
.'- **true**: Sends a check request. The system checks the request for required parameters and format correctness, but does not modify the TransitRouter instance. If the check fails, an error is returned. If the check passes, the request ID is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the TransitRouter instance is deployed.'."\n"
."\n"
.'Call the [DescribeRegions](~~36063~~) operation to query region IDs.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai', 'title' => ''],
],
[
'name' => 'TransitRouterId',
'in' => 'query',
'schema' => ['description' => 'The ID of the TransitRouter instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-uf654ttymmljlvh2x****', 'title' => ''],
],
[
'name' => 'TransitRouterName',
'in' => 'query',
'schema' => ['description' => 'The new name for the TransitRouter instance.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. The name cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the TransitRouter instance.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length. The description cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E9963DD7-998B-4F92-892D-8293CB49EE81', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationUnsupported.RegionId', 'errorMessage' => 'The specified region ID is not supported.', 'description' => 'The specified region ID is not supported.'],
['errorCode' => 'IncorrectStatus.TransitRouterInstance', 'errorMessage' => 'The status of TransitRouter is incorrect.', 'description' => 'The error message returned because the transit router is in an invalid state.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'UpdateTransitRouter',
'summary' => 'You can call the UpdateTransitRouter operation to modify the name and description of a TransitRouter instance.',
'description' => '**UpdateTransitRouter** is an asynchronous operation. After you send a request, the system returns a **RequestId**. The TransitRouter instance is not immediately modified because the modification task runs in the background. You can call the **ListTransitRouters** operation to query the status of the TransitRouter instance.'."\n"
."\n"
.'- If a TransitRouter instance is in the **Modifying** state, the instance is being modified. In this state, you can only query the instance. You cannot perform other operations.'."\n"
."\n"
.'- If a TransitRouter instance is in the **Active** state, the modification is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-11-21T06:21:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouter'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouter',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E9963DD7-998B-4F92-892D-8293CB49EE81\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterEcrAttachmentAttribute' => [
'summary' => 'Modifies the name and description of an ECR attachment for an Enterprise Edition Transit Router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that ensures the idempotence of the request.'."\n"
."\n"
.'You can generate a token from your client, but you must ensure that it is unique across 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 API request as the **ClientToken**.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the ECR attachment.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-r6g0m3epjehw57****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The new name of the ECR attachment.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the ECR attachment.'."\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' => 'desctest', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run to check for potential issues, including permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. The system modifies the ECR attachment attributes if the request passes the check.'."\n"
."\n"
.'- **true**: Sends a check request only. The system validates the request but does not modify the ECR attachment attributes. If the check fails, an error is returned. If the check passes, the system returns the request ID.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => [
'description' => 'The payer for the network instance. This operation does not support changing the payer for an ECR attachment.',
'type' => 'string',
'example' => 'PayByCenOwner',
'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'title' => '',
'required' => false,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B457', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachment', 'errorMessage' => 'The status of TransitRouterAttachment is incorrect.', 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B457\\"\\n}","type":"json"}]',
'title' => 'UpdateTransitRouterEcrAttachmentAttribute',
'description' => '`UpdateTransitRouterEcrAttachmentAttribute` is an asynchronous call. After you send a request, the system returns a request ID, but the ECR attachment is not modified immediately. The modification task runs in the background. You can call `ListTransitRouterEcrAttachments` to query the status of the ECR attachment.'."\n"
."\n"
.'If an ECR attachment is in the `Modifying` state, you can only query the attachment and cannot perform other operations on it. When the attachment enters the `Attached` state, the modification is complete.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'UpdateTransitRouterEcrAttachmentAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterEcrAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
],
],
],
],
],
'UpdateTransitRouterPeerAttachmentAttribute' => [
'summary' => 'Modifies an inter-region connection on an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72436',
'abilityTreeNodes' => ['FEATUREcbnFWWHEY'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, **ClientToken** is set to the value of **RequestId**. The value of **RequestId** for each API request may be different.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the inter-region connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-ft94dcrbc3e5taun3x', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The new name of the inter-region connection.'."\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' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the inter-region connection.'."\n"
."\n"
.'This parameter is optional. If you enter a description, it must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the local Enterprise Edition transit router to automatically advertise the routes of the inter-region connection to the peer transit router. Valid values:'."\n"
."\n"
.'- **false** (default): no'."\n"
."\n"
.'- **true**: yes', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run to check information such as the permissions and the instance status. Default values:'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters and request syntax. If the request fails the dry run, an error message is returned. If the request passes the dry run, the system returns the ID of the request.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The bandwidth value of the inter-region connection. Unit: Mbit/s.'."\n"
."\n"
.'- This parameter specifies the maximum bandwidth value for the inter-region connection if you set **BandwidthType** to **BandwidthPackage**.'."\n"
."\n"
.'- This parameter specifies the bandwidth throttling threshold for the inter-region connection if you set **BandwidthType** to **DataTransfer**.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100000000', 'minimum' => '0', 'required' => false, 'example' => '2', 'title' => ''],
],
[
'name' => 'CenBandwidthPackageId',
'in' => 'query',
'schema' => ['description' => 'The ID of the bandwidth plan that is used to allocate bandwidth to the inter-region connection.'."\n"
."\n"
.'> If you set **BandwidthType** to **DataTransfer**, you do not need to set this parameter.', 'type' => 'string', 'required' => false, 'example' => 'cenbwp-3xrxupouolw5ou****', 'title' => ''],
],
[
'name' => 'BandwidthType',
'in' => 'query',
'schema' => ['description' => 'The bandwidth allocation method. Valid values:'."\n"
."\n"
.'- **BandwidthPackage**: allocates bandwidth from a bandwidth plan.'."\n"
."\n"
.'- **DataTransfer**: bandwidth is billed based on the pay-by-data-transfer metering method.', 'type' => 'string', 'required' => false, 'example' => 'BandwidthPackage', 'title' => ''],
],
[
'name' => 'DefaultLinkType',
'in' => 'query',
'schema' => ['description' => 'The default line type.'."\n"
."\n"
.'Valid values: Platinum and Gold.'."\n"
."\n"
.'Platinum is supported only when BandwidthType is set to DataTransfer.', 'type' => 'string', 'required' => false, 'example' => 'Gold', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A01FEDD7-7D69-4EB3-996D-CF79F6F885CA', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'OperationUnsupported.BandwidthType', 'errorMessage' => 'The specified BandwidthType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified bandwidth type.'],
['errorCode' => 'MissingParam.Bandwidth', 'errorMessage' => 'The parameter Bandwidth is mandatory.', 'description' => 'The error message returned because no bandwidth value is specified. You must specify a bandwidth value.'],
['errorCode' => 'IncorrectStatus.Attachment', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the operation is not allowed when the network instance is being processed. Try again later.'],
['errorCode' => 'IllegalParam.BandwidthType', 'errorMessage' => 'BandwidthType is illegal.', 'description' => 'The error message returned because the specified bandwidth plan type is invalid.'],
['errorCode' => 'IllegalParam.Bandwidth', 'errorMessage' => 'Bandwidth is illegal.', 'description' => 'The error message returned because the specified bandwidth plan ID is invalid.'],
['errorCode' => 'ParameterIllegal.BandwidthPackageDefaultLinkTypeOnlySupportGold', 'errorMessage' => 'Cen bandwidthPackage only support Gold.', 'description' => 'Cen bandwidthPackage only support Gold.'],
['errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportPlatinumOrGold', 'errorMessage' => 'DataTransfer only support Platinum and Gold.', 'description' => 'DataTransfer only support Platinum and Gold.'],
['errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportGold', 'errorMessage' => 'CDT only support Gold when both transitrouters for cross regional connections are not all enterprise version.', 'description' => 'CDT only support Gold when both transitrouters for cross regional connections are not all enterprise version.'],
['errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportGold', 'errorMessage' => 'Operation is not allowed because this user can only set default link type to Gold.', 'description' => 'This user can only set the default link type to Gold.'],
['errorCode' => 'OperationUnsupported.TransitRouterAttachment', 'errorMessage' => 'The specified TransitRouterAttachment has configured TransitRegion. Please remove the configuration first.', 'description' => 'The error message returned because bandwidth multiplexing is enabled. Disable bandwidth multiplexing and try again.'],
['errorCode' => 'IllegalParam.BandwidthLessThanQosPolicyBandwidth', 'errorMessage' => 'The input bandwidth value is less than the sum of the Qos policy bandwidth.', 'description' => 'The input bandwidth value is less than the sum of the Qos policy bandwidth.'],
['errorCode' => 'IllegalParam.BandwidthPackageStatus', 'errorMessage' => 'The status of the bandwidth package is incorrect.', 'description' => 'The status of the bandwidth package is incorrect.'],
['errorCode' => 'QuotaExceeded.Bandwidth', 'errorMessage' => 'Bandwidth quota exceeded.', 'description' => 'Bandwidth quota exceeded.'],
['errorCode' => 'ParamExclusive.BandwidthTypeAndCenBandwidthPackageId', 'errorMessage' => 'DataTransfer and CenBandwidthPackageId is mutually exclusive.', 'description' => 'When the value of bandwidthType is DataTransfer, the CenBandwidthPackageId field cannot be set.'],
['errorCode' => 'OperationUnsupported.CloudDataTransferService', 'errorMessage' => 'CCN region not support cloud data transfer service.', 'description' => 'The error message returned because the Cloud Data Transfer (CDT) service is not supported in the region of the CCN instance.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportUnderlaySilver', 'errorMessage' => 'CDT only support UnderlaySilver when both transitrouters for cross regional connections are not all enterprise version.', 'description' => 'CDT only support UnderlaySilver when both transitrouters for cross regional connections are not all enterprise version.'],
['errorCode' => 'ParameterIllegal.DefaultLinkTypeOnlySupportUnderlaySilver', 'errorMessage' => 'Cen bandwidthPackage only support UnderlaySilver.', 'description' => 'When the bandwidth allocation method is bandwidth package, the default link type supports only silver (UnderlaySilver)'],
['errorCode' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportUnderlaySilver', 'errorMessage' => 'This user can only set the default link type to UnderlaySilver.', 'description' => 'This user can only set the default link type to UnderlaySilver.'],
['errorCode' => 'InvalidOperation.QueueLinkTypeNotEqualsAttachmentLinkType', 'errorMessage' => 'The operation is invalid because the link type of an existing QoS queue does not match the link type of the attachment.', 'description' => 'The operation is invalid because the link type of an existing QoS queue does not match the link type of the attachment.'],
],
],
'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Cbn::2017-09-12::ListTransitRouterPeerAttachments', 'callbackInterval' => 5000, 'maxCallbackTimes' => 20],
'title' => 'UpdateTransitRouterPeerAttachmentAttribute',
'description' => '**UpdateTransitRouterPeerAttachmentAttribute** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTransitRouterPeerAttachments** operation to query the status of an inter-region connection.'."\n"
."\n"
.'- If an inter-region connection is in the **Modifying** state, the inter-region connection is being modified. You can query the inter-region connection but cannot perform other operations.'."\n"
."\n"
.'- If an inter-region connection is in the **Attached** state, the inter-region connection is modified.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-21T06:11:15.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2025-03-18T07:43:18.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-08-16T03:39:20.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-07-10T08:04:17.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-12-06T02:27:31.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-11-03T02:57:27.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-18T11:43:15.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-10-18T01:14:21.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2022-12-16T03:31:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-12-13T03:26:01.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterPeerAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A01FEDD7-7D69-4EB3-996D-CF79F6F885CA\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterRouteEntry' => [
'summary' => 'Modifies the name and description of a route in a route table of an Enterprise Edition transit router.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'TransitRouterRouteEntryId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'rte-ksssq7kto4wfdx****'],
],
[
'name' => 'TransitRouterRouteEntryName',
'in' => 'query',
'schema' => ['description' => 'The new name of the route.'."\n"
."\n"
.'The name must be 1 to 128 characters in length, and cannot start with http\\:// or https\\://. You can also leave this parameter empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testname'],
],
[
'name' => 'TransitRouterRouteEntryDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the route.'."\n"
."\n"
.'The description must be 1 to 256 characters in length, and cannot start with http\\:// or https\\://. You can also leave this parameter empty.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'testdesc'],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. 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** is different for each request.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '02fb3da4-130e-11e9-8e44-001****'],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Default values:'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request.'."\n"
.'- **true**: performs a dry run. The system checks the required parameters and request syntax. 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.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => 'false'],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => '2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E'],
],
'description' => '',
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.TransitRouterRouteEntryId', 'errorMessage' => 'TransitRouterRouteEntryId is not found.', 'description' => 'The error message returned because the route ID of the transit router (TransitRouterRouteEntryId) is invalid.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'The error message returned because the dry run request passed the precheck.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'OperationFailed.UpdateTransitRouterRouteEntry', 'errorMessage' => 'Operation failed because this route entry is created by system.', 'description' => ''],
],
],
'title' => 'UpdateTransitRouterRouteEntry',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouterRouteEntry'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterRouteEntry',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69CCEA-42D0-48B2-8C9A-9BB207F76D6E\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterRouteTable' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'TransitRouterRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The ID of the route table for the Enterprise Edition transit router.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp1dudbh2d5na6b50****', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableName',
'in' => 'query',
'schema' => ['description' => 'The name of the route table.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterRouteTableDescription',
'in' => 'query',
'schema' => ['description' => 'The description of the route table.'."\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' => 'testdesc', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'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 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, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. The dry run checks permissions and the status of the instance. Valid values:'."\n"
."\n"
.'- **false** (default): Sends a normal request. After the request passes the check, the name and description of the route table are modified.'."\n"
."\n"
.'- **true**: Sends a check request. The system checks the required parameters and the request format. If the check fails, the corresponding error is returned. If the check succeeds, the error code `DryRunOperation` is returned.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'RouteTableOptions',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The features of the route table.',
'type' => 'object',
'properties' => [
'MultiRegionECMP' => [
'description' => 'The multi-region ECMP routing feature. Valid values:'."\n"
."\n"
.'- **disable**: Disables multi-region ECMP routing. After you disable this feature, if routes with the same prefix are learned from different regions and have the same attributes, the route that is learned from the region with the alphabetically smallest ID is used as the next hop. This may change traffic latency and inter-region bandwidth consumption. Evaluate the impact before you disable this feature.'."\n"
."\n"
.'- **enable**: Enables multi-region ECMP routing. After you enable this feature, if routes with the same prefix are learned from different regions and have the same attributes, ECMP routes are formed. This may change traffic latency and inter-region bandwidth consumption. Evaluate the impact before you enable this feature.',
'type' => 'string',
'enum' => ['enable', 'disable'],
'required' => false,
'example' => 'disable',
'title' => '',
],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9D6D5548-F271-41C4-AA9F-A62F5599085B', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterRouteTableId.NotFound', 'errorMessage' => 'TransitRouterRouteTableId is not found.', 'description' => 'The error message returned because the specified route table ID of the transit router does not exist.'],
['errorCode' => 'InvalidName', 'errorMessage' => 'Name is invalid.', 'description' => 'The error message returned because the specified name is invalid.'],
['errorCode' => 'InvalidDescription', 'errorMessage' => 'Description is invalid.', 'description' => 'The error message returned because the description is invalid.'],
['errorCode' => 'OperationUnsupported.MultiRegionEcmp', 'errorMessage' => 'This region does not support MultiRegionEcmp.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
],
'title' => 'UpdateTransitRouterRouteTable',
'summary' => 'You can call the UpdateTransitRouterRouteTable operation to modify the name and description of a route table for an Enterprise Edition transit router, or to enable or disable multi-region equal-cost multi-path (ECMP) routing.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2023-01-10T12:57:33.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouterRouteTable'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9D6D5548-F271-41C4-AA9F-A62F5599085B\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterVbrAttachmentAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use your client to generate a token, but you must 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 request as the **ClientToken**. The **RequestId** may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VBR connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-oyf70wfuorwx87****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The new name of the VBR connection.'."\n"
."\n"
.'The name can be empty or 1 to 128 characters in length. It cannot start with `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the VBR connection.'."\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' => 'testdesc', 'title' => ''],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to allow the Enterprise Edition transit router to automatically advertise routes to the VBR. Valid values:'."\n"
."\n"
.'- **true**: Allows the Enterprise Edition transit router to automatically advertise routes to the VBR.'."\n"
."\n"
.'- **false**: Does not allow the Enterprise Edition transit router to automatically advertise routes to the VBR.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'- **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
."\n"
.'- **false** (default): performs a dry run and sends the request. If the request passes the dry run, an operation is performed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => [
'type' => 'string',
'example' => 'PayByCenOwner',
'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'description' => '',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91B36DC3-FF8A-45C3-AC1E-456B1789136D', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachment', 'errorMessage' => 'The status of TransitRouterAttachment is incorrect.', 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.OrderType', 'errorMessage' => 'The specified parameter OrderType is invalid.', 'description' => 'The specified parameter OrderType is invalid.'],
['errorCode' => 'InvalidOperation.OrderTypeMustMatchGrantCrossAccount', 'errorMessage' => 'The OrderType must be the same as the OrderType in the grant cross-account record.', 'description' => 'The OrderType must be the same as the OrderType in the grant cross-account record.'],
['errorCode' => 'OperationFailed.GrantCrossAccountNotExist', 'errorMessage' => 'Cross-account authorization does not exist.', 'description' => 'Cross-account authorization does not exist.'],
['errorCode' => 'OperationNotPermitted.AttachmentManagedByCloudService', 'errorMessage' => 'The specified Attachment managed by cloud service can only be deleted through cloud service.', 'description' => ''],
],
],
'title' => 'UpdateTransitRouterVbrAttachmentAttribute',
'summary' => 'Modifies the name, description, and automatic route advertising setting for a virtual border router (VBR) connection on an Enterprise Edition transit router.',
'description' => '**UpdateTransitRouterVbrAttachmentAttribute** is an asynchronous operation. After you send a request, the system returns a **RequestId**, but the operation is still in progress in the background. You can call the **ListTransitRouterVbrAttachments** operation to query the status of the VBR connection.'."\n"
."\n"
.'- If a VBR connection is in the **Modifying** state, you can only query the VBR connection and cannot perform other operations.'."\n"
."\n"
.'- If a VBR connection is in the **Attached** state, the modification is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-11-21T06:21:51.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-04-26T06:48:12.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVbrAttachmentAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVbrAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91B36DC3-FF8A-45C3-AC1E-456B1789136D\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterVpcAttachmentAttribute' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '72440',
'abilityTreeNodes' => ['FEATUREcbnY9DL3F'],
],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can generate the token from your client, but you must 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 request as the **ClientToken**. The **RequestId** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '02fb3da4-130e-11e9-8e44-001****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'tr-attach-nls9fzkfat8934****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The new name of the VPC connection.'."\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' => 'testname', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the VPC connection.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'testdesc', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run, which checks for issues such as permissions and instance status. Valid values:'."\n"
."\n"
.'- **false** (default): sends a normal request. After the request passes the check, the system modifies the name and description of the VPC connection.'."\n"
."\n"
.'- **true**: sends a check request. The system validates the request without modifying the VPC connection. If the check passes, the system returns the ID of the request. Otherwise, the system returns an error.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterVPCAttachmentOptions',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The feature properties of the VPC connection. This parameter is deprecated. We recommend that you use the `Options` parameter.',
'type' => 'object',
'required' => false,
'additionalProperties' => ['description' => 'The feature properties of the VPC connection. This parameter is deprecated. We recommend that you use the `Options` parameter.'."\n"
."\n"
.'**ipv6Support**: Specifies whether to enable IPv6.'."\n"
."\n"
.'- **enable**: enables IPv6.'."\n"
."\n"
.'- **disable**: disables IPv6.'."\n"
."\n"
.'> Before you enable IPv6 for a VPC connection, make sure that IPv6 is enabled for the VPC and the vSwitches in the VPC. For more information, see [AllocateVpcIpv6Cidr](~~448916~~) and [CreateVSwitchCidrReservation](~~2593020~~).', 'type' => 'string', 'example' => 'ipv6Support:enable', 'title' => ''],
'title' => '',
'example' => '',
],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to allow the Enterprise Edition transit router to automatically advertise routes to the VPC.'."\n"
."\n"
.'- **false**: The transit router does not automatically advertise routes.'."\n"
."\n"
.'- **true**: The transit router automatically advertises routes.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'Options',
'in' => 'query',
'style' => 'json',
'schema' => [
'type' => 'object',
'properties' => [
'Ipv6Support' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'enable', 'title' => ''],
'ApplianceModeSupport' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'enable', 'title' => ''],
],
'description' => 'The billing method.',
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => [
'description' => 'The billing method.',
'type' => 'string',
'example' => 'PayByCenOwner',
'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'title' => '',
'required' => false,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '7E61D334-4025-41EF-9145-FC327B35301D', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IncorrectStatus.TransitRouterAttachmentId', 'errorMessage' => 'TransitRouterAttachmentId status is invalid.', 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'InvalidOperation.RegionNotSupport', 'errorMessage' => 'The operation is not supported in this region.', 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['errorCode' => 'InvalidOperation.VpcAutoRoutesPublishInOtherCEN', 'errorMessage' => 'The operation is not supported because the VPC is already set autoRoutesPublish in other CEN.', 'description' => ''],
['errorCode' => 'QuotaExceeded.VpcAutoRoutesPublishPerTransitRouter', 'errorMessage' => 'The count of VPC instance which set autoRoutesPublish in transitRouter is over limit.', 'description' => ''],
['errorCode' => 'InvalidOperation.VpnAssociated', 'errorMessage' => 'The operation is not supported because the VPC is associated with VPN.', 'description' => 'The error message returned because the specified VPC is associated with a VPN.'],
['errorCode' => 'IllegalParam.Ipv6Support', 'errorMessage' => 'Ipv6Support is illegal. Valid Values are [enable, disable].', 'description' => 'The Ipv6Support value of the request parameter is invalid. The valid value is enable or disable.'],
['errorCode' => 'OperationFailed.VSwitchNotFound', 'errorMessage' => 'The specified vswitch not found.', 'description' => 'The specified vswitch not found.'],
['errorCode' => 'OperationFailed.VSwitchIpv6CidrNotAllocated', 'errorMessage' => 'The specified vswitch does not have IPv6 address allocated.', 'description' => 'The specified vswitch does not have IPv6 address allocated.'],
['errorCode' => 'OperationInvalid.AttachmentReferencedIPv6RouteEntryExisted', 'errorMessage' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is the specified attachment.', 'description' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is the specified attachment.'],
['errorCode' => 'OperationInvalid.AttachmentReferencedVpcIPv6RouteEntryExisted', 'errorMessage' => 'The specified attachment is referenced by vpc route entry(IPv6).', 'description' => 'The specified attachment is referenced by vpc route entry(IPv6).'],
['errorCode' => 'OperationInvalid.EniReferencedIPv6RouteEntryExisted', 'errorMessage' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is network interface that the specified attachment referenced.', 'description' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is network interface that the specified attachment referenced.'],
['errorCode' => 'OperationUnsupported.VpcRoutePropagationSource', 'errorMessage' => 'The operation on this VPC route propagation source is not supported.', 'description' => 'The operation on this VPC route propagation source is not supported.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'INVALID_OPERATION_RESOURCE_NOT_SUPPORT_APPLIANCE_MODE', 'errorMessage' => 'Only VPC attachment support appliance mode.', 'description' => 'Only VPC attachment support appliance mode.'],
['errorCode' => 'InvalidParameter.Ipv6Support', 'errorMessage' => 'The specified parameter Ipv6Support is invalid.', 'description' => 'The parameter Ipv6Support entered is illegal.'],
['errorCode' => 'InvalidParameter.ApplianceModeSupport', 'errorMessage' => 'The specified parameter ApplianceModeSupport is invalid.', 'description' => 'The parameter ApplianceModeSupport entered is illegal.'],
['errorCode' => 'ParamExclusive.TransitRouterVPCAttachmentOptionsAndOptions', 'errorMessage' => 'When creating or modifying a VPC attachment, the input parameter TransitRouterVPCAttachmentOptions and Options cannot be used at the same time.', 'description' => 'When creating or modifying a VPC attachment, the input parameter TransitRouterVPCAttachmentOptions and Options cannot be used at the same time.'],
['errorCode' => 'InvalidParameter.OrderType', 'errorMessage' => 'The specified parameter OrderType is invalid.', 'description' => 'The specified parameter OrderType is invalid.'],
['errorCode' => 'InvalidOperation.OrderTypeMustMatchGrantCrossAccount', 'errorMessage' => 'The OrderType must be the same as the OrderType in the grant cross-account record.', 'description' => 'The OrderType must be the same as the OrderType in the grant cross-account record.'],
['errorCode' => 'OperationFailed.GrantCrossAccountNotExist', 'errorMessage' => 'Cross-account authorization does not exist.', 'description' => 'Cross-account authorization does not exist.'],
],
],
'title' => 'UpdateTransitRouterVpcAttachmentAttribute',
'summary' => 'Modifies the name and description of a VPC connection on an Enterprise Edition transit router and to control automatic route advertising to the VPC.',
'description' => '**UpdateTransitRouterVpcAttachmentAttribute** is an asynchronous operation. After you send a request, the system returns a **RequestId** and completes the modification in the background. To query the status of the VPC connection, call **ListTransitRouterVpcAttachments**.'."\n"
."\n"
.'- If a VPC connection is in the **Modifying** state, you can only query it.'."\n"
."\n"
.'- If a VPC connection is in the **Attached** state, the modification is complete.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-10T02:52:27.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-07-10T08:04:16.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-04-19T07:35:41.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-10-19T15:50:35.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-12-16T10:19:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVpcAttachmentAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVpcAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7E61D334-4025-41EF-9145-FC327B35301D\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterVpcAttachmentZones' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters.'."\n"
."\n"
.'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId for each API request may be different.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. Valid values:'."\n"
."\n"
.'* **true**: performs a dry run. The system checks the required parameters, request syntax, and 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.'."\n"
.'* **false** (default): performs a dry run and sends the request.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPC connection.'."\n", 'type' => 'string', 'required' => true, 'example' => 'tr-attach-9bbqyygouv4cpn****', 'title' => ''],
],
[
'name' => 'AddZoneMappings',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The zones and vSwitches that you want to add to the VPC connection.'."\n",
'type' => 'array',
'items' => [
'description' => 'The ID of the vSwitch that you want to add to the VPC connection.'."\n"
."\n"
.'You can specify at most 10 vSwitches in each call.'."\n",
'type' => 'object',
'properties' => [
'VSwitchId' => ['description' => 'The ID of the vSwitch that you want to add to the VPC connection.'."\n"
."\n"
.'You can specify at most 10 vSwitches in each call.'."\n"
."\n"
.'* If the VPC connection belongs to the current Alibaba Cloud account, you can call the [DescribeVSwitches](~~35748~~) operation to query the IDs of the vSwitches and zones of the VPC.'."\n"
.'* If the VPC connection belongs to another Alibaba Cloud account, you can call the [ListGrantVSwitchesToCen](~~427599~~) operation to query the IDs of the vSwitches and zones of the VPC.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-wz988dda8ldm4uvmx****', 'title' => ''],
'ZoneId' => ['description' => 'The ID of the zone where the vSwitch that you want to add to the VPC connection is deployed.'."\n"
."\n"
.'You can specify at most 10 vSwitches in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-h', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
],
],
[
'name' => 'RemoveZoneMappings',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The zones and vSwitches that you want to remove from the VPC connection.'."\n",
'type' => 'array',
'items' => [
'description' => 'The zones and vSwitches that you want to remove from the VPC connection.'."\n"
."\n"
.'You can specify at most 10 pairs of zones and vSwitches in each call.'."\n",
'type' => 'object',
'properties' => [
'VSwitchId' => ['description' => 'The ID of the vSwitch that you want to remove from the VPC connection.'."\n"
."\n"
.'You can remove at most 10 vSwitches from a VPC in each call.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vsw-wz9f5izl6wshndmta****', 'title' => ''],
'ZoneId' => ['description' => 'The ID of the zone where the vSwitch that you want to remove from the VPC connection is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-i', 'title' => ''],
],
'required' => false,
'title' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response.'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '595AE52F-49FF-5788-A677-0DD1467941A1', 'title' => ''],
],
'title' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalParam.ZoneId', 'errorMessage' => 'The specified ZoneId is illegal.', 'description' => 'The error message returned because the specified zone is invalid.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachment', 'errorMessage' => 'The status of TransitRouterAttachment is incorrect.', 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['errorCode' => 'IllegalParam.VSwitchId', 'errorMessage' => 'VSwitchId is illegal.', 'description' => 'The error message returned because the specified vSwitch ID is invalid.'],
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'OperationUnsupported.ServiceMode', 'errorMessage' => 'The specified TransitRouter does not support the operation.', 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['errorCode' => 'IllegalParam.AddOrRemoveZoneMappings', 'errorMessage' => 'The specified AddZoneMappings or RemoveZoneMappings are illegal.', 'description' => 'The error message returned because the AddZoneMappings or RemoveZoneMappings parameter is set to an invalid value.'],
['errorCode' => 'IncorrectStatus.Vpc', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['errorCode' => 'OperationDenied.RouteEntryOnEni', 'errorMessage' => 'Operation is failed because there is at least one route entry which next hop is the specified eni.', 'description' => 'The error message returned because this operation is not supported when a route points to an ENI.'],
['errorCode' => 'IncorrectStatus.VpcRouteEntry', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the VPC route entry does not support this operation. Try again later.'],
['errorCode' => 'IncorrectStatus.VpcSwitch', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the status of the vSwitch does not support this operation. Try again later.'],
['errorCode' => 'OperationUnsupported.TransitRouterType', 'errorMessage' => 'The specified TransitRouterType does not support the operation.', 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['errorCode' => 'InsufficientIpAddr.vsw', 'errorMessage' => 'Insufficient available IP addresses in the vSwitch.', 'description' => 'The error message returned because the number of available IP addresses in the vSwitch is insufficient.'],
['errorCode' => 'OperationFailed.VSwitchIpv6CidrNotAllocated', 'errorMessage' => 'The specified vswitch does not have IPv6 address allocated.', 'description' => 'The specified vswitch does not have IPv6 address allocated.'],
['errorCode' => 'InvalidTransitRouterMode.NeedUpgrade', 'errorMessage' => 'TransitRouter need to upgrade.', 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['errorCode' => 'OperationInvalid.EniReferencedIPv6RouteEntryExisted', 'errorMessage' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is network interface that the specified attachment referenced.', 'description' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is network interface that the specified attachment referenced.'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'IllegalParam.ZoneId', 'errorMessage' => 'The specified ZoneId is illegal.', 'description' => ''],
['errorCode' => 'InvalidVSwitchId.NotFound', 'errorMessage' => 'The specified VSwitchId is not found.', 'description' => 'The error message returned because the specified vSwitch ID does not exist.'],
],
409 => [
['errorCode' => 'IncorrectStatus.VpcSwitch', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => ''],
],
],
'title' => 'UpdateTransitRouterVpcAttachmentZones',
'summary' => 'Modifies the zones and vSwitches that are associated with a virtual private cloud (VPC) connection.',
'description' => '* When you add a zone and a vSwitch for a VPC connection, make sure that the vSwitch has at least one idle IP address. When you modify the zones and vSwitches of a VPC connection, the Enterprise Edition transit router creates an elastic network interface (ENI) in the vSwitch. The ENI occupies one IP address in the vSwitch. The ENI forwards traffic between the VPC and the Enterprise Edition transit router.'."\n"
."\n"
.'* **UpdateTransitRouterVpcAttachmentZones** is an asynchronous operation. After you send a request, the system returns a **request ID** and runs the task in the background. You can call the **ListTransitRouterVpcAttachments** operation to query the status of a VPC connection.'."\n"
."\n"
.' * If a VPC connection is in the **Modifying** state, the VPC connection is being modified. You can query the VPC connection but cannot perform other operations.'."\n"
.' * If a VPC connection is in the **Attached** state, the VPC connection is modified.'."\n",
'changeSet' => [
['createdAt' => '2024-04-19T07:35:40.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-09-08T01:51:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-27T03:26:27.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-03-14T12:30:09.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-11-21T06:21:52.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVpcAttachmentZones'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVpcAttachmentZones',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"595AE52F-49FF-5788-A677-0DD1467941A1\\"\\n}","type":"json"}]',
],
'UpdateTransitRouterVpnAttachmentAttribute' => [
'summary' => 'Modifies the attributes of a VPN connection attached to an Enterprise Edition Transit Router. You can modify the connection\'s name, description, and automatic route publishing setting.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'],
'parameters' => [
[
'name' => 'ClientToken',
'in' => 'query',
'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** may be different for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'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 attributes of the VPN connection. The system checks the required parameters, request format, and service limits. If the request fails the check, an error message is returned. If the request passes the check, the `DryRunOperation` error code is returned.'."\n"
."\n"
.'- **false** (Default): Sends a normal request. If the request passes the check, the system modifies the attributes of the VPN connection.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentId',
'in' => 'query',
'schema' => ['description' => 'The ID of the VPN connection.', 'type' => 'string', 'required' => true, 'example' => 'tr-attach-a6p8voaodog5c0****', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentName',
'in' => 'query',
'schema' => ['description' => 'The new name of the VPN connection.'."\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' => 'nametest', 'title' => ''],
],
[
'name' => 'TransitRouterAttachmentDescription',
'in' => 'query',
'schema' => ['description' => 'The new description of the VPN connection.'."\n"
."\n"
.'The description can be empty or 1 to 256 characters in length, and cannot start with http\\:// or https\\://.', 'type' => 'string', 'required' => false, 'example' => 'desctest', 'title' => ''],
],
[
'name' => 'AutoPublishRouteEnabled',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to allow the Enterprise Edition transit router to automatically publish routes to the IPsec-VPN connection. Valid values:'."\n"
."\n"
.'- **true**: The Enterprise Edition transit router automatically publishes routes to the IPsec-VPN connection.'."\n"
."\n"
.'- **false**: The Enterprise Edition transit router does not automatically publish routes to the IPsec-VPN connection.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'OrderType',
'in' => 'query',
'schema' => [
'type' => 'string',
'example' => 'PayByCenOwner',
'enum' => ['PayByCenOwner', 'PayByResourceOwner'],
'title' => '',
'description' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response that is returned.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1AB038F2-96E5-560B-9F6E-734311D466FA', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidTransitRouterAttachmentId.NotFound', 'errorMessage' => 'TransitRouterAttachmentId is not found.', 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['errorCode' => 'IncorrectStatus.TransitRouterAttachmentId', 'errorMessage' => 'The resource is not in a valid state for the attachment operation.', 'description' => 'The error message returned because the operation is not supported when the specified attachment is in an unstable state'],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['errorCode' => 'InvalidParameter.OrderType', 'errorMessage' => 'The specified parameter OrderType is invalid.', 'description' => 'The specified parameter OrderType is invalid.'],
['errorCode' => 'InvalidOperation.OrderTypeMustMatchGrantCrossAccount', 'errorMessage' => 'The OrderType must be the same as the OrderType in the grant cross-account record.', 'description' => 'The OrderType must be the same as the OrderType in the grant cross-account record.'],
['errorCode' => 'OperationFailed.GrantCrossAccountNotExist', 'errorMessage' => 'Cross-account authorization does not exist.', 'description' => 'Cross-account authorization does not exist.'],
],
],
'title' => 'UpdateTransitRouterVpnAttachmentAttribute',
'changeSet' => [
['createdAt' => '2022-12-16T03:31:58.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-07-04T09:07:02.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2022-06-23T03:47:26.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-06-23T03:08:02.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVpnAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1AB038F2-96E5-560B-9F6E-734311D466FA\\"\\n}","type":"json"}]',
],
'WithdrawPublishedRouteEntries' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
'name' => 'CenId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CEN instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cen-sxjfjkjfkjfiein****', 'title' => ''],
],
[
'name' => 'ChildInstanceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-rj9gt5nll27onu7****', 'title' => ''],
],
[
'name' => 'ChildInstanceType',
'in' => 'query',
'schema' => [
'description' => 'The type of the network instance. Valid values:'."\n"
."\n"
.'- **VPC**: virtual private cloud.'."\n"
."\n"
.'- **VBR**: virtual border router.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enumValueTitles' => ['VPC' => 'VPC'],
'example' => 'VPC',
'title' => '',
],
],
[
'name' => 'ChildInstanceRegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the network instance.'."\n"
."\n"
.'Call the [DescribeChildInstanceRegions](~~132080~~) operation to obtain the region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ChildInstanceRouteTableId',
'in' => 'query',
'schema' => ['description' => 'The route table ID of the network instance.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vtb-bp174d1gje79u1g4t****', 'title' => ''],
],
[
'name' => 'DestinationCidrBlock',
'in' => 'query',
'schema' => ['description' => 'The destination CIDR block of the route entry that you want to withdraw.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '172.16.1.0/24', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidOperation.UnsupportnexthopType', 'errorMessage' => 'The specified next hop type is not supported by this operation.', 'description' => 'The specified next hop type is not supported by this operation.'],
['errorCode' => 'InvalidOperation.NotFoundRoute', 'errorMessage' => 'You cannot query the system routing information of the specified instance.', 'description' => ''],
['errorCode' => 'ParameterIllegal.CenInstanceId', 'errorMessage' => 'The parameter of CEN instance id is illegal.', 'description' => ''],
['errorCode' => 'ParameterIllegal.ChildInstanceRegionId', 'errorMessage' => 'The parameter of child instance region id is illegal.', 'description' => ''],
['errorCode' => 'ParameterIllegal.ChildInstanceType', 'errorMessage' => 'The parameter of child instance type is illegal.', 'description' => ''],
['errorCode' => 'InvalidParameter', 'errorMessage' => 'Invalid parameter.', 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['errorCode' => 'Unauthorized', 'errorMessage' => 'The AccessKeyId is unauthorized.', 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
],
404 => [
['errorCode' => 'Instance.NotExist', 'errorMessage' => 'The instance is not exist.', 'description' => 'The error message returned because the specified instance does not exist.'],
],
409 => [
['errorCode' => 'InvalidOperation.ChildInstanceStatus', 'errorMessage' => 'The child-instance is not in a valid state for the operation.', 'description' => ''],
['errorCode' => 'InvalidOperation.CenInstanceStatus', 'errorMessage' => 'The CEN instance is not in a valid state for the operation.', 'description' => 'The error message returned because the status of the CEN instance does not support this operation.'],
],
],
'title' => 'WithdrawPublishedRouteEntries',
'summary' => 'You can call the WithdrawPublishedRouteEntries operation to revoke routes published from a Virtual Private Cloud (VPC) or Virtual Border Router (VBR) instance to Cloud Enterprise Network.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'WithdrawPublishedRouteEntries'],
],
'product' => ['code' => 'cbn', 'title' => '云企业网'],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:WithdrawPublishedRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","type":"json"}]',
],
],
'endpoints' => [
['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'na-south-1', 'regionName' => 'Mexico', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cbn.aliyuncs.com', 'endpoint' => 'cbn.aliyuncs.com', 'vpc' => 'cen.vpc-proxy.aliyuncs.com'],
],
'errorCodes' => [
['code' => 'AssociationExist.TrafficQos', 'message' => 'The traffic qos with the specified attachment already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified attachment is already associated with a QoS policy.'],
['code' => 'AssociationExist.TransitQosQueueExist', 'message' => 'The qos queue with the specified TrafficQosPolicyId exists.', 'http_code' => 400, 'description' => 'The error message returned because the QoS policy contains queues. You must delete the queues before you delete the QoS policy.'],
['code' => 'AssociationExist.TransitQosRuleExist', 'message' => 'The rule with the specified TrafficMarkingPolicy already exists.', 'http_code' => 400, 'description' => 'The error message returned because the traffic marking policy contains rules. You must delete the rules before you delete the traffic marking policy.'],
['code' => 'AssociationExist.TransitRouterTable', 'message' => 'The specified association already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified route table is already associated with an associated forwarding correlation.'],
['code' => 'AssociationExist.VSwitchIds', 'message' => 'The association already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified resource is already associated with the vSwitch.'],
['code' => 'AttrMismatching.CidrAddressFamily', 'message' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.', 'http_code' => 400, 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match AddressFamily.'],
['code' => 'AttrMismatching.CidrProtocol', 'message' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.', 'http_code' => 400, 'description' => 'Attribute SrcCidr or DstCidr of TrafficMarkRule does not match Protocol.'],
['code' => 'AttrMismatching.SrcCidrDstCidr', 'message' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.', 'http_code' => 400, 'description' => 'Attribute SrcCidr of TrafficMarkRule does not match DstCidr.'],
['code' => 'Bid.NotFound', 'message' => 'Not found Bid by specified AliUid.', 'http_code' => 404, 'description' => 'The error message returned because the BID does not exist.'],
['code' => 'Bid.NotFound', 'message' => 'Not found childInstance Bid by specified AliUid.', 'http_code' => 404, 'description' => 'The error message returned because the BID does not exist.'],
['code' => 'BothEmpty.TagsAndResources', 'message' => 'Both of Tags and ResourceIds is empty.', 'http_code' => 400, 'description' => 'The error message returned because the Tags and ResourceIds parameters are not set.'],
['code' => 'Cloud service routes exist.', 'message' => 'Operation is invalid because custom region-domain route entry exist', 'http_code' => 409, 'description' => 'The error message returned because a cloud service route exists.'],
['code' => 'CloudRoute.Conflict', 'message' => 'The Specified Cloud Route Conflicts.', 'http_code' => 400, 'description' => 'The error message returned because the routes of the cloud services conflict with each other.'],
['code' => 'CloudRoute.Exist', 'message' => 'The Specified Cloud Route already Exists', 'http_code' => 400, 'description' => 'The error message returned because the cloud service route already exists.'],
['code' => 'CloudRoute.VpcNotAttached', 'message' => 'The Specified Vpc instance is not attached to CEN.', 'http_code' => 400, 'description' => 'The error message returned because the specified VPC is not associated with a CEN instance.'],
['code' => 'CloudRoute.VpcNotAttached', 'message' => 'The specified Vpc instance has not been attached to CEN.', 'http_code' => 400, 'description' => 'The VPC is not attached to a CEN instance.'],
['code' => 'DB.Error', 'message' => 'db error', 'http_code' => null, 'description' => 'The error message returned because an error occurred in the database.'],
['code' => 'DryRunOperation', 'message' => 'Request validation has been passed with DryRun flag set.', 'http_code' => 400, 'description' => 'The error message returned because the dry run request passed the precheck.'],
['code' => 'Duplicated.AddTrafficMatchRules', 'message' => 'The parameter AddTrafficMatchRules are duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the AddTrafficMatchRules parameter specifies duplicate routes.'],
['code' => 'Duplicated.AddTrafficMatchRulesAndDeleteTrafficMatchRules', 'message' => 'The same rule in AddTrafficMatchRules and DeleteTrafficMatchRules is not supported..', 'http_code' => 400, 'description' => 'The error message returned because the AddTrafficMatchRules and DeleteTrafficMatchRules cannot specify the same route. Delete duplicate routes and try again.'],
['code' => 'Duplicated.DeleteTrafficMatchRulese', 'message' => 'The parameter DeleteTrafficMatchRules are duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the DeleteTrafficMatchRules parameter specifies duplicate routes.'],
['code' => 'Duplicated.Dscps', 'message' => 'The parameter Dscps are duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the descriptions are duplicate.'],
['code' => 'Duplicated.MarkingDscp', 'message' => 'The parameter MarkingDscp is duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the MarkingDscp parameter specifies duplicate descriptions.'],
['code' => 'Duplicated.Priority', 'message' => 'The parameter Priority is duplicated.', 'http_code' => 400, 'description' => 'The error message returned because duplicate priorities are specified.'],
['code' => 'Duplicated.TrafficMatchRules', 'message' => 'The parameter TrafficMatchRules are duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the traffic match rules (TrafficMatchRules) are duplicate.'],
['code' => 'Duplicated.TrafficMatchRules', 'message' => 'The parameter AddTrafficMatchRules are duplicated.', 'http_code' => 400, 'description' => 'The flow classification rules that are passed in are duplicated.'],
['code' => 'Duplicated.ZoneMapping', 'message' => 'The parameter ZoneMapping is duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the zone mapping contains duplicate routes.'],
['code' => 'DuplicatedParam.TagKey', 'message' => 'The parameter TagKey is duplicated.', 'http_code' => 400, 'description' => 'The error message returned because the TagKey parameter already exists.'],
['code' => 'EntityNotExist.Account', 'message' => 'The role not exists: AliyunServiceRoleForCEN.', 'http_code' => 400, 'description' => 'The error message returned because AliyunServiceRoleForCEN does not exist.'],
['code' => 'FilterKeyDuplicated.RouteFilter', 'message' => 'The keys in RouteFilter are duplicated.', 'http_code' => 400, 'description' => 'The error message returned because RouteFilter contains duplicate key values.'],
['code' => 'Flowlog.AlreayExist', 'message' => 'This attachment already has existed flowlog instance.', 'http_code' => 400, 'description' => 'The error message returned because the specified flow log already exists. You cannot create duplicate flow logs.'],
['code' => 'Forbbiden.AttachAcrossBidEcr', 'message' => 'Attach cross bid ECR is unsupported. Please submit a ticket.', 'http_code' => 400, 'description' => 'Attach cross bid ECR is unsupported. Please submit a ticket.'],
['code' => 'Forbbiden.AttachChildInstanceAcrossBid', 'message' => 'VPCs that belong to another BID cannot be associated. You need to apply for cross-BID attaching.', 'http_code' => 400, 'description' => 'The error message returned because you cannot associate with VPCs that belong to another BID.'],
['code' => 'Forbbiden.CloudBoxVSwitchExist', 'message' => 'The operation is not allowed because of cloud box vswitch existed.', 'http_code' => 400, 'description' => 'The error message returned because the specified vSwitch is associated with a CloudBox. You cannot associate with the vSwitch.'],
['code' => 'Forbbiden.SubUser', 'message' => 'User not authorized to operate on the specified resource as your account is created by another user.', 'http_code' => 403, 'description' => 'The error message returned because the RAM user does not have the required permissions.'],
['code' => 'Forbbiden.TransitRouterServiceNotOpen', 'message' => 'The user has not open transit router service.', 'http_code' => 400, 'description' => 'The error message returned because the transit router is disabled. Enable the transit router and try again.'],
['code' => 'Forbidden.AssociatedUnsupportedInterRegionTrafficQosPolicy', 'message' => 'The transit router associated with the bandwidth plan has an inter-region traffic scheduling policy that allocates bandwidth based on absolute values. You must delete this policy before you can change the configurations.', 'http_code' => 400, 'description' => 'The transit router associated with the bandwidth plan has an inter-region traffic scheduling policy that allocates bandwidth based on absolute values. You must delete this policy before you can change the configurations.'],
['code' => 'Forbidden.AttachChildInstance', 'message' => 'The attached VBR on some access device models are not supported. Please submit a ticket to continue using this VBR on CEN.', 'http_code' => 403, 'description' => 'The attached VBR on some access device models are not supported. Please submit a ticket to continue using this VBR on CEN.'],
['code' => 'Forbidden.CcnPublicNetworkOptimizationExist', 'message' => 'Please disable CCN public network optimization and try again.', 'http_code' => 403, 'description' => 'Please disable CCN public network optimization and try again.'],
['code' => 'Forbidden.CenRouteMapExist', 'message' => 'The specified CEN route map ID already exists.', 'http_code' => 400, 'description' => 'The specified CEN route map ID already exists.'],
['code' => 'Forbidden.NoMedAuthorized', 'message' => 'Med operation is unauthorized.', 'http_code' => 400, 'description' => 'Unable to operate on the specified Med routing policy.'],
['code' => 'Forbidden.NotAllowedCategary', 'message' => 'The System tag is not valid', 'http_code' => 400, 'description' => 'The error message returned because you cannot configure system tags.'],
['code' => 'Forbidden.OperateShareResource', 'message' => 'You cannot operate shared resources.', 'http_code' => 400, 'description' => 'You cannot operate shared resources.'],
['code' => 'Forbidden.PrivatezoneRouteExisted', 'message' => 'Operation Forbidden. There is a Privatezone Route associated with the instance, please dessociate it firstly.', 'http_code' => 400, 'description' => 'The error message returned because the PrivateZone route already exists. Delete the route and relevant configurations and try again.'],
['code' => 'Forbidden.PrivatezoneServiceNotAuthorize', 'message' => 'Privatezone service not to grant authorization.', 'http_code' => 400, 'description' => 'The error message returned because PrivateZone does not have the required permissions.'],
['code' => 'Forbidden.Release', 'message' => 'Forbidden to release a PREPAY bandwidth instance within validity period.', 'http_code' => 403, 'description' => 'The error message returned because you cannot release subscription bandwidth plans before they expire.'],
['code' => 'Forbidden.ResourceGroup', 'message' => 'The operation cannot be performed on the specified ResourceGroup.', 'http_code' => 403, 'description' => 'The operation cannot be performed on the specified ResourceGroup.'],
['code' => 'Forbidden.ResourceOwnerTransitRouterServiceExpired', 'message' => 'The transit router service of the account to which the resource belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'http_code' => 400, 'description' => 'The transit router service of the account to which the resource belongs has been suspended. Please notify the other party to renew the service and try again.'],
['code' => 'Forbidden.ResourceOwnerTransitRouterServiceNotOpen', 'message' => 'The resource owner user has not opened transit router service.', 'http_code' => 400, 'description' => 'The transit router service for the resource owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['code' => 'Forbidden.TagKeys', 'message' => 'The request do not allow to operate the tag keys', 'http_code' => 400, 'description' => 'The error message returned because you cannot manage the specified tag key.'],
['code' => 'Forbidden.TagKeys', 'message' => 'The request does not allow operate this tagkeys', 'http_code' => 400, 'description' => 'The error message returned because you cannot manage the specified tag key.'],
['code' => 'Forbidden.TransitRouterServiceExpired', 'message' => 'The transit router service is out of service.', 'http_code' => 400, 'description' => 'The transit router service has been suspended due for payment. Please renew the service and try again.'],
['code' => 'Forbidden.TypeInvalid', 'message' => 'The specified ChildInstanceType or TransitRouterType is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because the ChildInstanceType or TransitRouterType parameter does not support this operation.'],
['code' => 'Forbidden.VbrDeviceModel', 'message' => 'Attach VBR on some access device models are forbidden.', 'http_code' => 400, 'description' => 'The error message returned because the mode of the VBR does not support this operation.'],
['code' => 'Forbidden.VbrDeviceModel', 'message' => 'The attached VBR on some access device models are not supported. Please submit a ticket to continue using this VBR on CEN.', 'http_code' => 403, 'description' => 'The error message returned because the mode of the VBR does not support this operation.'],
['code' => 'GenerateUniqueInstanceId.Failed', 'message' => 'Generate unique instance id failed.', 'http_code' => 500, 'description' => 'The error message returned because the ID failed to be generated due to errors. Try again.'],
['code' => 'GeographicRegion.NotFound', 'message' => 'The specified geographic region is not found.', 'http_code' => 404, 'description' => 'The error message returned because the specified geographic region does not exist.'],
['code' => 'IdentityRegistrationStatusNotSupport', 'message' => 'Real name registration of enterprises required.', 'http_code' => 400, 'description' => 'Real name registration of enterprises required.'],
['code' => 'Illegal.Description', 'message' => 'Description is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the description is invalid.'],
['code' => 'Illegal.Name', 'message' => 'Name is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the name is invalid.'],
['code' => 'Illegal.SourceIpOrTargetIp', 'message' => 'The specified source IP address or destination IP address is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified source or destination IP address is invalid.'],
['code' => 'Illegal.SourceIpOrTargetIp', 'message' => 'Parameter SourceIp or TargetIp illegal', 'http_code' => 400, 'description' => 'The error message returned because the SourceIp or TargetIp parameter is set to an invalid value.'],
['code' => 'Illegal.TrType', 'message' => 'The TransitRouter type is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified type of transit router does not support this operation.'],
['code' => 'IllegalParam.AddOrRemoveZoneMappings', 'message' => 'The specified AddZoneMappings or RemoveZoneMappings are illegal.', 'http_code' => 400, 'description' => 'The error message returned because the AddZoneMappings or RemoveZoneMappings parameter is set to an invalid value.'],
['code' => 'IllegalParam.AddressFamily', 'message' => 'AddressFamily is illegal.', 'http_code' => 400, 'description' => 'The AddressFamily value of the request parameter is invalid. Valid values are IPv4 or IPv6.'],
['code' => 'IllegalParam.AggregationRouteCidr', 'message' => 'The aggregation route cidr is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['code' => 'IllegalParam.AssociateRouteTableId', 'message' => 'The specified AssociateRouteTableId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified route table ID (AssociateRouteTableId) is invalid.'],
['code' => 'IllegalParam.AttachmentBandwidthExceed', 'message' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.', 'http_code' => 400, 'description' => 'The entered bandwidth causes the total QoS guaranteed bandwidth to exceed the cross-region bandwidth allocation value.'],
['code' => 'IllegalParam.AttachmentId', 'message' => 'The specified AttachmentId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified attachment ID is invalid.'],
['code' => 'IllegalParam.Bandwidth', 'message' => 'Bandwidth is illegal', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth value is invalid.'],
['code' => 'IllegalParam.Bandwidth', 'message' => 'Bandwidth is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth plan ID is invalid.'],
['code' => 'IllegalParam.BandwidthGuaranteeMode', 'message' => 'The input bandwidth guarantee type is not valid.', 'http_code' => 400, 'description' => 'The input bandwidth guarantee type is not valid.'],
['code' => 'IllegalParam.BandwidthGuaranteeModeMismatch', 'message' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.', 'http_code' => 400, 'description' => 'The BandwidthGuaranteeMode does not match the Bandwidth or RemainBandwidthPercent.'],
['code' => 'IllegalParam.BandwidthLessThanQosPolicyBandwidth', 'message' => 'The input bandwidth value is less than the sum of the Qos policy bandwidth.', 'http_code' => 400, 'description' => 'The input bandwidth value is less than the sum of the Qos policy bandwidth.'],
['code' => 'IllegalParam.BandwidthPackageStatus', 'message' => 'The status of the bandwidth package is incorrect.', 'http_code' => 400, 'description' => 'The status of the bandwidth package is incorrect.'],
['code' => 'IllegalParam.BandwidthType', 'message' => 'BandwidthType is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth plan type is invalid.'],
['code' => 'IllegalParam.CenBandwidthPackageId', 'message' => 'Parameter CenBandwidthPackageId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth plan ID (CenBandwidthPackageId) is invalid.'],
['code' => 'IllegalParam.CenId', 'message' => 'The specified CenId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the CEN instance is invalid.'],
['code' => 'IllegalParam.CenId', 'message' => 'The specified CenId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified CEN instance ID is invalid.'],
['code' => 'IllegalParam.CenIdOrRegionId', 'message' => 'The specified CenId or RegionId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified CEN instance ID or region ID is invalid.'],
['code' => 'IllegalParam.ChargeType', 'message' => 'The specified ChargeType is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified billing method is invalid.'],
['code' => 'IllegalParam.Cidr', 'message' => 'The specified cidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['code' => 'IllegalParam.Cidr', 'message' => 'Cidr is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['code' => 'IllegalParam.DstCidr', 'message' => 'DstCidr is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified destination CIDR block (DstCidr) is invalid.'],
['code' => 'IllegalParam.DstCidr', 'message' => 'The specified DstCidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified destination CIDR block (DstCidr) is invalid.'],
['code' => 'IllegalParam.DstPortRange', 'message' => 'The specified DstPortRange is illegal.', 'http_code' => 400, 'description' => 'The specified DstPortRange is illegal.'],
['code' => 'IllegalParam.EffectiveBandwidthFilter', 'message' => 'The input bandwidth filter value is not valid.', 'http_code' => 400, 'description' => 'The input bandwidth filter value is not valid.'],
['code' => 'IllegalParam.GatewayZoneId', 'message' => 'The GatewayZoneId specified in the parameter is illegal.', 'http_code' => 400, 'description' => 'The GatewayZoneId specified in the parameter is illegal.'],
['code' => 'IllegalParam.GroupIpAddress', 'message' => 'The specified GroupIpAddress is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the GroupIpAddress parameter is set to an invalid value.'],
['code' => 'IllegalParam.Igmpv2Support', 'message' => 'The specified Igmpv2Support is illegal. Valid values are [enable, disable].', 'http_code' => 400, 'description' => 'The parameter Igmpv2Support is invalid. Value range: enable, disable.'],
['code' => 'IllegalParam.Ipv6Support', 'message' => 'Ipv6Support is illegal. Valid Values are [enable, disable].', 'http_code' => 400, 'description' => 'The Ipv6Support value of the request parameter is invalid. The valid value is enable or disable.'],
['code' => 'IllegalParam.LocalIp', 'message' => 'The specified LocalIp is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the LocalIp parameter is set to an invalid value.'],
['code' => 'IllegalParam.LongestPrefixMatchCidr', 'message' => 'LongestPrefixMatchCidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because LongestPrefixMatchCidr is set to an invalid value.'],
['code' => 'IllegalParam.MarkingDscp', 'message' => 'MarkingDscp is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the MarkingDscp parameter is set to an invalid value.'],
['code' => 'IllegalParam.MatchDscp', 'message' => 'MarkingDscp is invalid.', 'http_code' => 400, 'description' => 'MarkingDscp parameter is illegal.'],
['code' => 'IllegalParam.MaxResults', 'message' => 'The parameter MaxResults is invalid.', 'http_code' => 400, 'description' => 'The MaxResults value is invalid.'],
['code' => 'IllegalParam.MaxResults', 'message' => 'The specified MaxResults is invalid.', 'http_code' => 400, 'description' => 'The MaxResults value is invalid.'],
['code' => 'IllegalParam.MaxResults', 'message' => 'The specified MaxResults is illegal.', 'http_code' => 400, 'description' => 'MaxResults illegal.'],
['code' => 'IllegalParam.NetworkType', 'message' => 'NetworkType is invalid.', 'http_code' => 400, 'description' => 'The NetworkType parameter is invalid.'],
['code' => 'IllegalParam.NextHopType', 'message' => 'The NextHopType is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the NextHopType parameter is set to an invalid value.'],
['code' => 'IllegalParam.NextToken', 'message' => 'NextToken is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid parameter.'],
['code' => 'IllegalParam.NextToken', 'message' => 'The specified NextToken is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['code' => 'IllegalParam.NextToken', 'message' => 'The parameter NextToken is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid value. Check the value and try again.'],
['code' => 'IllegalParam.NextToken', 'message' => 'NextToken is illegal', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['code' => 'IllegalParam.NextToken', 'message' => 'NextToken is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['code' => 'IllegalParam.NextToken', 'message' => 'The nextToken is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['code' => 'IllegalParam.NextToken', 'message' => 'The specified NextToken is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the NextToken parameter is set to an invalid value.'],
['code' => 'IllegalParam.PageNumber', 'message' => 'The specified PageNumber is illegal.', 'http_code' => 400, 'description' => 'The request parameter PageNumber is invalid. The value must be greater than 0.'],
['code' => 'IllegalParam.PageSize', 'message' => 'The specified PageSize is illegal.', 'http_code' => 400, 'description' => 'Invalid request parameter PageSize. Value range is [1, 50].'],
['code' => 'IllegalParam.PeerIp', 'message' => 'The PeerIp in the parameter is invalid.', 'http_code' => 400, 'description' => 'The PeerIp parameter in the parameter is invalid.'],
['code' => 'IllegalParam.PeerRegionId', 'message' => 'PeerRegionId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified peer region ID (PeerRegionId) is invalid.'],
['code' => 'IllegalParam.PeerTransitRouterId', 'message' => 'PeerTransitRouterId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the peer transit router is invalid.'],
['code' => 'IllegalParam.PeerTrMulticastDomainId', 'message' => 'The specified PeerTrMulticastDomainId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the PeerTrMulticastDomainId parameter is set to an invalid value.'],
['code' => 'IllegalParam.PrefixExactMatchCidr', 'message' => 'PrefixExactMatchCidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because PrefixExactMatchCidr is set to an invalid value.'],
['code' => 'IllegalParam.Priority', 'message' => 'Priority is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified priority is invalid.'],
['code' => 'IllegalParam.Protocol', 'message' => 'The specified Protocol is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified protocol is invalid.'],
['code' => 'IllegalParam.Protocol', 'message' => 'Protocol is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified protocol is invalid.'],
['code' => 'IllegalParam.Region', 'message' => 'The specified Region is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified region is invalid.'],
['code' => 'IllegalParam.RegionId', 'message' => 'RegionId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified region is invalid.'],
['code' => 'IllegalParam.RegionId', 'message' => 'The Specified Parameter RegionId is illegal', 'http_code' => 400, 'description' => 'The error message returned because the specified region is invalid.'],
['code' => 'IllegalParam.RegionId', 'message' => 'The specified RegionId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified region is invalid.'],
['code' => 'IllegalParam.RegionId', 'message' => 'The Specified Parameter RegionId is illegal.', 'http_code' => 400, 'description' => 'The region specified in the parameter is invalid.'],
['code' => 'IllegalParam.RegionIdOrTransitRouterId', 'message' => 'The specified RegionId Or TransitRouterId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified region ID (RegionId) or transit router ID (TransitRouterId) is invalid.'],
['code' => 'IllegalParam.RegionIdOrTransitRouterId', 'message' => 'The specified TransitRouterId or RegionId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router ID or region is invalid.'],
['code' => 'IllegalParam.RemainBandwidthPercent', 'message' => 'The specified RemainBandwidthPercent is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the RemainBandwidthPercent parameter is set to invalid value.'],
['code' => 'IllegalParam.ResourceGroupId', 'message' => 'ResourceGroupId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified resource group is invalid.'],
['code' => 'IllegalParam.ResourceId', 'message' => 'ResourceId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified resource ID (ResourceId) is invalid.'],
['code' => 'IllegalParam.ResourceType', 'message' => 'ResourceType is invalid.', 'http_code' => 400, 'description' => 'The ResourceType parameter is invalid.'],
['code' => 'IllegalParam.RouteTableId', 'message' => 'The specified Route Table ID is invalid.', 'http_code' => 400, 'description' => 'The routing table ID is invalid.'],
['code' => 'IllegalParam.ServiceMode', 'message' => 'ServiceMode is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified service mode is invalid.'],
['code' => 'IllegalParam.ServiceMode', 'message' => 'The specified ServiceMode is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified service mode is invalid.'],
['code' => 'IllegalParam.SrcCidr', 'message' => 'The specified SrcCidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified source CIDR block is invalid.'],
['code' => 'IllegalParam.SrcCidr', 'message' => 'SrcCidr is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified source CIDR block is invalid.'],
['code' => 'IllegalParam.SrcPortRange', 'message' => 'The specified SrcPortRange is illegal.', 'http_code' => 400, 'description' => 'The source port is invalid.'],
['code' => 'IllegalParam.SubnetOfMatchCidr', 'message' => 'SubnetOfMatchCidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because SubnetOfMatchCidr is set to an invalid value. '],
['code' => 'IllegalParam.SupernetOfMatchCidr', 'message' => 'SupernetOfMatchCidr is invalid.', 'http_code' => 400, 'description' => 'The error message returned because SupernetOfMatchCidr is set to an invalid value.'],
['code' => 'IllegalParam.SupportMulticast', 'message' => 'Basic Transit router is not support multicast.', 'http_code' => 400, 'description' => 'The error message returned because Basic Edition transit routers do not support multicast.'],
['code' => 'IllegalParam.TagKey', 'message' => 'The tag keys are not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag key is invalid.'],
['code' => 'IllegalParam.TagValue', 'message' => 'The tag values are not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag value is invalid.'],
['code' => 'IllegalParam.TextMatchCidr', 'message' => 'The TextMatchCidr specified in the parameter is illegal.', 'http_code' => 400, 'description' => 'The TextMatchCidr specified in the parameter is illegal.'],
['code' => 'IllegalParam.TrafficMarkingRuleIds', 'message' => 'The specified TrafficMarkingRuleIds is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the TrafficMarkingRuleIds parameter is set to an invalid value.'],
['code' => 'IllegalParam.TrafficMatchRuleDescription', 'message' => 'TrafficMatchRuleDescription is illegal.', 'http_code' => 400, 'description' => 'TrafficMatchRuleDescription is illegal.'],
['code' => 'IllegalParam.TrafficMatchRuleName', 'message' => 'TrafficMatchRuleName is illegal.', 'http_code' => 400, 'description' => 'TrafficMatchRuleName is illegal.'],
['code' => 'IllegalParam.TransitRegionMappings', 'message' => 'The parameter TransitRegionMappings is illegal.', 'http_code' => 400, 'description' => 'The parameter TransitRegionMappings is illegal.'],
['code' => 'IllegalParam.TransitRouterAttachmentId', 'message' => 'TransitRouterAttachmentId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router is invalid.'],
['code' => 'IllegalParam.TransitRouterAttachments', 'message' => 'TransitRouterAttachments is illegal.', 'http_code' => 400, 'description' => 'The parameter TransitRouterAttachments is illegal.'],
['code' => 'IllegalParam.TransitRouterDestinationCidrBlock', 'message' => 'TransitRouterDestinationCidrBlock is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified destination CIDR block for the transit router (TransitRouterDestinationCidrBlock) is invalid.'],
['code' => 'IllegalParam.TransitRouterId', 'message' => 'The specified TransitRouterId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['code' => 'IllegalParam.TransitRouterId', 'message' => 'The specified TransitRouterId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router ID is invalid.'],
['code' => 'IllegalParam.TransitRouterId', 'message' => 'The parameter TransitRouterId or RegionId is invalid.', 'http_code' => 400, 'description' => 'The TransitRouterId or RegionId parameter is invalid.'],
['code' => 'IllegalParam.TransitRouterMulticastDomainId', 'message' => 'The specified TransitRouterMulticastDomainId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain ID specified for the transit router (TransitRouterMulticastDomainId) is invalid.'],
['code' => 'IllegalParam.TransitRouterRegionId', 'message' => 'TransitRouterRegionId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router region ID (TransitRouterRegionId) is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteEntryId', 'message' => 'TransitRouterRouteEntryId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the route ID of the transit router (TransitRouterRouteEntryId) is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteEntryNextHopAttachmentId', 'message' => 'TransitRouterRouteEntryNextHopAttachmentId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because TransitRouterRouteEntryNextHopAttachmentId is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRouteEntryNextHopResourceId', 'message' => 'TransitRouterRouteEntryNextHopResourceId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because TransitRouterRouteEntryNextHopResourceId is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRouteEntryNextHopResourceType', 'message' => 'TransitRouterRouteEntryNextHopResourceType is invalid.', 'http_code' => 400, 'description' => 'The error message returned because TransitRouterRouteEntryNextHopResourceType is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRouteEntryNextHopType', 'message' => 'TransitRouterRouteEntryNextHopType is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterRouteEntryNextHopType parameter is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRouteEntryOriginResourceId', 'message' => 'TransitRouterRouteEntryOriginResourceId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because TransitRouterRouteEntryOriginResourceId is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRouteEntryOriginResourceType', 'message' => 'TransitRouterRouteEntryOriginResourceType is invalid.', 'http_code' => 400, 'description' => 'The error message returned because TransitRouterRouteEntryOriginResourceType is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRouteEntryStatus', 'message' => 'TransitRouterRouteEntryStatus is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the route on the transit router is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteEntryStatus', 'message' => 'TransitRouterRouteEntryStatus is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the status of the route on the transit router (TransitRouterRouteEntryStatus) is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteEntryType', 'message' => 'TransitRouterRouteEntryType is invalid.', 'http_code' => 400, 'description' => 'The error message returned because TransitRouterRouteEntryType is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterRoutEntryDestinationCidrBlock', 'message' => 'TransitRouterRoutEntryDestinationCidrBlock is invalid.', 'http_code' => 400, 'description' => 'TransitRouterRoutEntryDestinationCidrBlock is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteTableId', 'message' => 'TransitRouterRouteTableId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because specified route table ID of the transit router is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteTableId', 'message' => 'The transitRouter route table id is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the route table ID of the transit router (TransitRouterRouteTableId) is invalid.'],
['code' => 'IllegalParam.TransitRouterRouteTableId', 'message' => 'TransitRouterRouteTableId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the route table ID of the transit router (TransitRouterRouteTableId) is invalid.'],
['code' => 'IllegalParam.TransitRouterTableId', 'message' => 'The specified TransitRouterTableId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterTableId parameter is set to an invalid value.'],
['code' => 'IllegalParam.TransitRouterTableId', 'message' => 'The specified Route Table ID is invalid.', 'http_code' => 400, 'description' => 'The Route Table ID is invalid.'],
['code' => 'IllegalParam.TransitRouterTableType', 'message' => 'TransitRouterTableType is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the route type of the specified route table does not support this operation.'],
['code' => 'IllegalParam.TransitRouterTableType', 'message' => 'When peer attachment is associated with a custom routeTable, the Transit Router in both regions must be enterprise.', 'http_code' => 400, 'description' => 'The error message returned because both the local and peer transit routers must be of Enterprise Edition when you associate the inter-region connection with a route table.'],
['code' => 'IllegalParam.TransitRouteTableAggregationCidr', 'message' => 'Invalid TransitRouteTableAggregationCidr.', 'http_code' => 400, 'description' => 'The aggregated CIDR block is invalid.'],
['code' => 'IllegalParam.TransitRouteTableAggregationScope', 'message' => 'TransitRouteTableAggregationScope is invalid, valid value is VPC.', 'http_code' => 400, 'description' => 'TransitRouteTableAggregationScope is invalid, valid value is VPC.'],
['code' => 'IllegalParam.TransportType', 'message' => 'The specified TransportType is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the TransportType parameter is set to an invalid value.'],
['code' => 'IllegalParam.TrInstance', 'message' => 'The specified TansiteRouterId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the TansiteRouterId parameter is set to an invalid value.'],
['code' => 'IllegalParam.TrInstance', 'message' => 'The specified TransitRouter is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouter parameter is set to an invalid value.'],
['code' => 'IllegalParam.TrInstance', 'message' => 'The specified TrInstance is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router is invalid.'],
['code' => 'IllegalParam.TrInstance', 'message' => 'The parameter TransitRouterId or RegionId is invalid.', 'http_code' => 400, 'description' => 'The TransitRouterId or RegionId parameter is invalid.'],
['code' => 'IllegalParam.VSwitchId', 'message' => 'VSwitchId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified vSwitch ID is invalid.'],
['code' => 'IllegalParam.VSwitchIds', 'message' => 'The parameter VSwitchIds is illegal.', 'http_code' => 400, 'description' => 'The parameter VSwitchIds is illegal.'],
['code' => 'IllegalParam.ZoneId', 'message' => 'The specified ZoneId is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified zone is invalid.'],
['code' => 'IllegalParam.ZoneMappings', 'message' => 'The Specified Parameter ZoneMappings is illegal', 'http_code' => 400, 'description' => 'The error message returned because the specified zone mappings (ZoneMappings) is invalid.'],
['code' => 'IllegalParamLength.Tag', 'message' => 'The specified length of Tag is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the length of the specified tag is invalid. Check the tag and try again.'],
['code' => 'IncorrectStatus.AggregationRoute', 'message' => 'The aggregation route is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The aggregation route is not in a valid state for the operation.'],
['code' => 'IncorrectStatus.Attachment', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the operation is not allowed when the network instance is being processed. Try again later.'],
['code' => 'IncorrectStatus.Attachment', 'message' => 'The status of Attachment is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.AttachmentId', 'message' => 'The status of AttachmentId is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.AttachmentOrRouteTable', 'message' => 'The resource is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the specified attachment or route table is in an unstable state. Try again later.'],
['code' => 'IncorrectStatus.Cen', 'message' => 'The status of Cen is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified CEN instance does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.CenInstance', 'message' => 'The status of CenInstance is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the CEN instance to which the transit router is connected does not support this operation. Wait until the CEN instance is in a stable state.'],
['code' => 'IncorrectStatus.ConnectPeerIds', 'message' => 'Connect Peer statuses are incorrect.', 'http_code' => 400, 'description' => 'Connect Peer statuses are incorrect.'],
['code' => 'IncorrectStatus.EcrResource', 'message' => 'The ECR resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The ECR resource is not in a valid state for the attachment operation.'],
['code' => 'IncorrectStatus.flowlog', 'message' => 'This action is not allowed in the current flow log status.', 'http_code' => 400, 'description' => 'This action is not allowed in the current flow log status.'],
['code' => 'IncorrectStatus.flowlog', 'message' => 'Invalid flowlog status.', 'http_code' => 400, 'description' => 'The error message returned because the status of the flow log does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.MulticastDomain', 'message' => 'The status of MulticastDomain is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.MulticastDomainId', 'message' => 'The status of MulticastDomainId is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.MulticastGroup', 'message' => 'The status of MulticastGroup is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified multicast group does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.PeerTrMulticastDomainId', 'message' => 'The status of PeerTrMulticastDomainId is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain on the peer transit router (PeerTrMulticastDomain) does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.ResourceStatus', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the specified resource is in an unstable state. Try again later.'],
['code' => 'IncorrectStatus.RouteMap', 'message' => 'Operation Failed. The specified route map is configuring, please try again later.', 'http_code' => 400, 'description' => 'The error message returned because the status of the routing policy (routeMap) does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.RouteTable', 'message' => 'RouteTable status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the operation is not supported when the specified route table is in an unstable state.'],
['code' => 'IncorrectStatus.Status', 'message' => 'RouteTableAssociation status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router route table or the transit router attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.Status', 'message' => 'The TransitRouterRouteTable or TransitRouterAttachment Status is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router route table or the transit router attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TrafficMarkingPolicy', 'message' => 'The status of TrafficMarkingPolicy is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TrafficMarkingPolicy', 'message' => 'TrafficMarkingPolicy status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the traffic marking policy does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TrafficQosPolicy', 'message' => 'The status of TrafficQosPolicy is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified QoS policy does not support the operation.'],
['code' => 'IncorrectStatus.TransitRouter', 'message' => 'The status of TransitRouter is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouter', 'message' => 'The status of transitRouter is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouter', 'message' => 'TransitRouter status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouter', 'message' => 'The resource is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The CEN TR instance is not in a valid state for the operation. Please try again later.'],
['code' => 'IncorrectStatus.TransitRouterAttachment', 'message' => 'The status of TransitRouterAttachment is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouterAttachment', 'message' => 'TransitRouterAttachmentId status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouterAttachmentId', 'message' => 'TransitRouterAttachmentId status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router attachment does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouterAttachmentId', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the operation is not supported when the specified attachment is in an unstable state'],
['code' => 'IncorrectStatus.TransitRouterConnectPeer', 'message' => 'The resource is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the connect peer is in an unstable state.'],
['code' => 'IncorrectStatus.TransitRouterInstance', 'message' => 'The status of TransitRouter is incorrect.', 'http_code' => 400, 'description' => 'The error message returned because the transit router is in an invalid state.'],
['code' => 'IncorrectStatus.TransitRouterRouteTable', 'message' => 'TransitRouterRouteTable status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the transit router is in an invalid state.'],
['code' => 'IncorrectStatus.TransitRouteTable', 'message' => 'The status of transitRouter route table is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router route table does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouteTable', 'message' => 'The transitRouter route table is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the transit router route table does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.TransitRouteTableAggregationCidr', 'message' => 'Route table aggregation cidr status is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the status of The aggregate route does not support the operation. Please try again later.'],
['code' => 'IncorrectStatus.TrFlowlog', 'message' => 'Flowlog status for specified TransitRouter is invalid for this operation.', 'http_code' => 400, 'description' => 'Flowlog status for specified TransitRouter is invalid for this operation.'],
['code' => 'IncorrectStatus.VbrResource', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the specified VBR is in an unstable state. Wait until all operations related to the VBR are completed.'],
['code' => 'IncorrectStatus.Vpc', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.Vpc', 'message' => 'The resource is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the VPC does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.VpcOrVswitch', 'message' => 'The Vpc Or Vswith is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the VPC or vSwitch does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.VpcResource', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the specified VPC is in an unstable state. Wait until all operations related to the VPC are completed.'],
['code' => 'IncorrectStatus.VpcRouteEntry', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the VPC route entry does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.VpcRouteTable', 'message' => 'The VPC route table is not in a desired state.', 'http_code' => 400, 'description' => 'The error message returned because the VPC route table is in an unstable state. Try again later.'],
['code' => 'IncorrectStatus.VpcSwitch', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the vSwitch does not support this operation. Try again later.'],
['code' => 'IncorrectStatus.VpcSwitch', 'message' => 'Operation is failed because some virtual switch is modifying within the same VPC.', 'http_code' => 400, 'description' => 'The error message returned because the status of the vSwitch does not support this operation. Try again later.'],
['code' => 'Instance.NotExist', 'message' => 'The instance is not exist.', 'http_code' => 404, 'description' => 'The error message returned because the specified instance does not exist.'],
['code' => 'InstanceExist', 'message' => 'The instance already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified instance already exists.'],
['code' => 'InstanceExist.AddTrafficMatchRules', 'message' => 'The instance already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified instance already exists.'],
['code' => 'InstanceExist.AggregationRoute', 'message' => 'This aggregation route is already created.', 'http_code' => 400, 'description' => 'The error message returned because the aggregated route already exists.'],
['code' => 'InstanceExist.TrafficMatchRules', 'message' => 'The instance already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified traffic match rules (TrafficMatchRules) already exist.'],
['code' => 'InstanceExist.TransitRouterInstance', 'message' => 'The instance already exists.', 'http_code' => 400, 'description' => 'The error message returned because a transit router with the same ID already exists in the current region. Transit router IDs in the same region must be unique.'],
['code' => 'InstanceExist.TransitRouterRouteEntry', 'message' => 'The instance TransitRouterRouteEntry already exists.', 'http_code' => 400, 'description' => 'The error message returned because the route entry that you want to add already exists.'],
['code' => 'InstanceExist.TrUpgradeApplication', 'message' => 'The instance already exists.', 'http_code' => 400, 'description' => 'The error message returned because the upgrade application has already been submitted.'],
['code' => 'InstanceNotExist', 'message' => 'The instance is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified instance does not exist.'],
['code' => 'InstanceNotExist.AggregationRoute', 'message' => 'The aggregation route is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the aggregated route does not exist.'],
['code' => 'InstanceNotExist.AggregationRoute', 'message' => 'This aggregation route is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the aggregated route does not exist.'],
['code' => 'InstanceNotExist.TransitRouter', 'message' => 'The aggregation route is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router does not exist.'],
['code' => 'InstanceNotExist.TransitRouter', 'message' => 'The transitRouter is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router does not exist.'],
['code' => 'InstanceNotExist.TransitRouterRouteTable', 'message' => 'The transitRouter route table is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['code' => 'InstanceNotExist.TransitRouterRouteTable', 'message' => 'The transitRouter route table is not found.', 'http_code' => 400, 'description' => 'The specified Enterprise Edition transit router route table was not found.'],
['code' => 'InstanceNotExist.TransitRouteTable', 'message' => 'The transitRouter route table is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router route table does not exist.'],
['code' => 'InstanceNotExist.TrRouteTableAggregationCidr', 'message' => 'The aggregation route does not exist.', 'http_code' => 400, 'description' => 'The aggregation route does not exist.'],
['code' => 'InstanceReferenced.ByPrefixlist', 'message' => 'The Specified instance is referenced by tr prefix list.', 'http_code' => 400, 'description' => 'The error message returned because the instance is referenced by a prefix list. Disassociate the instance from the prefix list first.'],
['code' => 'InstanceReferenced.VpcRouteEntry', 'message' => 'The specified attachment is referenced by vpc route entry.', 'http_code' => 400, 'description' => 'The error message returned because the next hop of a VPC route is the specified attachment.'],
['code' => 'InstanceStatusNotSupport', 'message' => 'The status of instance not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because the operation is not supported while the instance is in the current state.'],
['code' => 'InsufficientIpAddr.vsw', 'message' => 'Insufficient available IP addresses in the vSwitch.', 'http_code' => 400, 'description' => 'The error message returned because the number of available IP addresses in the vSwitch is insufficient.'],
['code' => 'InvalidAttachmentId.NotFound', 'message' => 'The specified AttachmentId is not found.', 'http_code' => 404, 'description' => 'The error message returned because the specified network instance connection ID does not exist.'],
['code' => 'InvalidAvailable.NoResource', 'message' => 'No resource in the available zone.', 'http_code' => 400, 'description' => 'The error message returned because resources are insufficient in the specified region.'],
['code' => 'InvalidCenId.NotFound', 'message' => 'CenId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified CEN instance does not exist.'],
['code' => 'InvalidCenId.NotFound', 'message' => 'The specified CenId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified CEN instance ID does not exist.'],
['code' => 'InvalidChildInstanceId.NotFound', 'message' => 'The specified ChildInstanceId is not found.', 'http_code' => 404, 'description' => 'The specified child instance ID does not exist.'],
['code' => 'InvalidCidrBlock', 'message' => 'The cidr block is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['code' => 'InvalidCidrBlock', 'message' => 'The transitRouteTableAggregationCidr is invalid.', 'http_code' => 400, 'description' => 'The TransitRouteTableAggregationCidr parameter is invalid.'],
['code' => 'InvalidCIDRBlock.Duplicate', 'message' => 'Specified CIDR block is already exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block already exists.'],
['code' => 'InvalidCidrBlock.Malformed', 'message' => 'Specified CIDR block is not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['code' => 'InvalidCidrBlock.Malformed', 'message' => 'The specified CIDR block is not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is invalid.'],
['code' => 'InvalidConnectPeerIds.NotFound', 'message' => 'The Connect Peer Ids are invalid.', 'http_code' => 400, 'description' => 'The Connect Peer Ids are invalid.'],
['code' => 'InvalidDeleteTrafficMatchRules.NotFound', 'message' => 'The specified DeleteTrafficMatchRules are not found.', 'http_code' => 404, 'description' => 'The error message returned because the value of the DeleteTrafficMatchRules parameter does not exist.'],
['code' => 'InvalidDescription', 'message' => 'The description is invalid.', 'http_code' => null, 'description' => 'The description is incorrect.'],
['code' => 'InvalidDescription', 'message' => 'Description is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the description is invalid.'],
['code' => 'InvalidDescription', 'message' => 'The description is invalid', 'http_code' => 400, 'description' => 'The error message returned because the description is invalid.'],
['code' => 'InvalidDestinationCidrBlock.NotFound', 'message' => 'DestinationCidrBlock is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified destination CIDR block does not exist.'],
['code' => 'InvalidFilterKey', 'message' => 'The key in filter is invalid.', 'http_code' => 400, 'description' => 'The key in filter is invalid.'],
['code' => 'InvalidFlowlogId.exist', 'message' => 'A flow log instance already exists in the current region of the CEN.', 'http_code' => 400, 'description' => 'A flow log instance already exists in the current region of the CEN.'],
['code' => 'InvalidFlowlogId.exist', 'message' => 'This cenId already has flowlog instance existed.', 'http_code' => 400, 'description' => 'The error message returned because the specified CEN instance is already associated with a flow log.'],
['code' => 'InvalidFlowlogId.NotFound', 'message' => 'The specified flow log ID does not exist or does not match with the CEN ID.', 'http_code' => 400, 'description' => 'The specified flow log ID does not exist or does not match the CEN ID.'],
['code' => 'InvalidFlowlogId.NotFound', 'message' => 'The specified flowlog id does not exist or does not match the cen Id.', 'http_code' => 400, 'description' => 'The error message returned because the specified flow log does not exist.'],
['code' => 'InvalidInstanceId.NotFound', 'message' => 'InstanceId is not found.', 'http_code' => 404, 'description' => 'The error message returned because the specified instance does not exist.'],
['code' => 'InvalidInstanceIds.NotFound', 'message' => 'The instanceIds are not found', 'http_code' => 400, 'description' => 'The error message returned because the specified instance does not exist.'],
['code' => 'InvalidInstanceType.NotFound', 'message' => 'The instance type is not found', 'http_code' => 400, 'description' => 'The error message returned because the specified instance type does not exist.'],
['code' => 'InvalidIpAddress', 'message' => 'The ip address is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified IP address is invalid.'],
['code' => 'InvalidMulticastDomain.NotFound', 'message' => 'The specified MulticastDomain is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['code' => 'InvalidMulticastDomainId.NotFound', 'message' => 'The specified AttachmentId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['code' => 'InvalidMulticastDomainId.NotFound', 'message' => 'The specified MulticastDomainId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain does not exist.'],
['code' => 'InvalidName', 'message' => 'The name is invalid.', 'http_code' => null, 'description' => 'The error message returned because the name is invalid.'],
['code' => 'InvalidName', 'message' => 'Name is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified name is invalid.'],
['code' => 'InvalidName', 'message' => 'The name is invalid', 'http_code' => 400, 'description' => 'The error message returned because the specified name is invalid.'],
['code' => 'InvalidOperation', 'message' => 'Operation is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the operation is invalid.'],
['code' => 'InvalidOperation.AssociatedBwpBusinessStatus', 'message' => 'The associated CEN bandwidth package is not in a valid business state for the operation.', 'http_code' => 409, 'description' => 'The error message returned because the status of the specified bandwidth plan does not support this operation.'],
['code' => 'InvalidOperation.AssociatedBwpStatus', 'message' => 'The associated CEN bandwidth package is not in a valid state for the operation.', 'http_code' => 409, 'description' => 'The error message returned because the status of the specified bandwidth plan does not support this operation.'],
['code' => 'InvalidOperation.BandwidthLimitNotExist', 'message' => 'Operation is invalid because a bandwidth limit not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth cap of the bandwidth plan does not exist.'],
['code' => 'InvalidOperation.BondVbrAssociated', 'message' => 'Illegal operation due to associated BondVBR.', 'http_code' => 400, 'description' => 'Illegal operation due to associated BondVBR.'],
['code' => 'InvalidOperation.BondVbrExist', 'message' => 'The operation failed due to BondVbr exists.', 'http_code' => 400, 'description' => 'The operation failed because the BondVbr exists.'],
['code' => 'InvalidOperation.BwpBusinessStatus', 'message' => 'The CBN bandwidth package is not in a valid business state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the specified bandwidth plan is in an unstable state.'],
['code' => 'InvalidOperation.BwpInstanceStatus', 'message' => 'The CBN bandwidth package is not in a valid state for the operation.', 'http_code' => 403, 'description' => 'The error message returned because the status of the specified bandwidth plan does not support this operation.'],
['code' => 'InvalidOperation.BwpNotAssociated', 'message' => 'Operation is invalid because a bandwidth package corresponding to the geographic span is not associated.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when no bandwidth plan is applied to the specified region.'],
['code' => 'InvalidOperation.CbnBondVbrGatewayRelExist', 'message' => 'Operation is invalid because the BondVbr has already been associated with Gateway.', 'http_code' => 400, 'description' => 'Operation is invalid because the BondVbr has already been associated with Gateway.'],
['code' => 'InvalidOperation.CbnBondVbrStatus', 'message' => 'The bond VBR instance is not in an operational steady state.', 'http_code' => 400, 'description' => 'The bound VBR instance is not in an operational steady state.'],
['code' => 'InvalidOperation.CenAlreadyAutoPubilshRouteToInstance', 'message' => 'Operation is invalid because other cen has already auto published route to this instance.', 'http_code' => 409, 'description' => 'The error message returned because this operation is not supported when one or more other CEN instance can advertise routes to the specified instance.'],
['code' => 'InvalidOperation.CenInstanceStatus', 'message' => 'The CEN instance is not in a valid state for the operation.', 'http_code' => 409, 'description' => 'The error message returned because the status of the CEN instance does not support this operation.'],
['code' => 'InvalidOperation.CenRouteMapExist', 'message' => 'Operation is invalid because an route map config exist.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a routing policy exists.'],
['code' => 'InvalidOperation.CloudRouteNumberInvalid', 'message' => 'Cloud route number is invalid', 'http_code' => 400, 'description' => 'The error message returned because the number of cloud service routes is invalid.'],
['code' => 'InvalidOperation.CloudRouteStatusNotAllow', 'message' => 'Operation is prohibited because status of cloud route is invalid.', 'http_code' => 403, 'description' => 'The error message returned because the status of the specified cloud service does not support this operation. Try again later.'],
['code' => 'InvalidOperation.CustomRegionDomainRouteEntryExist', 'message' => 'Operation is invalid because custom region-domain route entry exist.', 'http_code' => 400, 'description' => 'Operation is invalid because custom region-domain route entry exist.'],
['code' => 'InvalidOperation.EnhanceProtectionLevel', 'message' => 'Your request to enhance CBN protection level cannot be processed. Please contact customer support to continue this operation.', 'http_code' => 400, 'description' => 'Your request to enhance CBN protection level cannot be processed. Please contact customer support to continue this operation.'],
['code' => 'InvalidOperation.Forbidden', 'message' => 'Operation is invalid because no grant to attach child-instance across uid.', 'http_code' => 409, 'description' => 'The error message returned because you do not have the required permissions.'],
['code' => 'InvalidOperation.InstanceNotSupportIPv6Route', 'message' => 'IPv6 routing has not been enabled for the CEN instance.', 'http_code' => 400, 'description' => 'IPv6 routing is disabled for CEN.'],
['code' => 'InvalidOperation.MedRouteMapActionMustPermit', 'message' => 'Operation is invalid because the default med map result must be permit.', 'http_code' => 400, 'description' => 'Operation is invalid because the default med map result must be permit.'],
['code' => 'InvalidOperation.MedRouteMapExist', 'message' => 'Operation is invalid because the default med route map already exist.', 'http_code' => 400, 'description' => 'The operation is invalid because there is already a med routeMap with the next hop destination for this Ecr instance.'],
['code' => 'InvalidOperation.MedRouteMapNotAllowedOtherAction', 'message' => 'Operation is invalid because the default med not allowed other action.', 'http_code' => 400, 'description' => 'the med policy does not allow to configure other policies.'],
['code' => 'InvalidOperation.MulticastDomainAssociationExist', 'message' => 'Operation is invalid because multicast domain associations exist.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the multicast domain is associated with a resource.'],
['code' => 'InvalidOperation.MulticastDomainAssociationNotExist', 'message' => 'Operation is invalid because multicast association domain association not exist.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the specified multicast domain is not associated with the specified resource.'],
['code' => 'InvalidOperation.MulticastDomainAssociationStatus', 'message' => 'Operation is invalid, due to multicast domain association not Active.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation. Try again later.'],
['code' => 'InvalidOperation.MulticastDomainInGroup', 'message' => 'Operation is invalid because multicast domain has registered as multicast group member.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain is added to a multicast group as a multicast member.'],
['code' => 'InvalidOperation.MulticastDomainStatus', 'message' => 'Operation is invalid, due to multicast domain not Active.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified multicast domain does not support this operation.'],
['code' => 'InvalidOperation.MulticastGroupExist', 'message' => 'Operation is invalid because multicast groups exist.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a multicast domain group exists.'],
['code' => 'InvalidOperation.NetworkInterfaceNotExist', 'message' => 'Operation is invalid bacause network interface not exist.', 'http_code' => 400, 'description' => 'The error message returned because the network instance does not exist.'],
['code' => 'InvalidOperation.NoEffictiveAction', 'message' => 'No effective action be configured.', 'http_code' => 400, 'description' => 'The error message returned because the specified action is invalid.'],
['code' => 'InvalidOperation.Notfoundroute', 'message' => 'You cannot query the system routing information of the specified instance.', 'http_code' => 400, 'description' => 'You cannot query the system routing information of the specified instance.'],
['code' => 'InvalidOperation.NotFoundRoute', 'message' => 'The specified route does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the route does not exist.'],
['code' => 'InvalidOperation.NTRNetworkInterfaceNotSupport', 'message' => 'Operation is invalid, due to ntr eni not support.', 'http_code' => 400, 'description' => 'The error message returned because the ENI of the transit router cannot be added to the multicast group.'],
['code' => 'InvalidOperation.OnlyOneRegionSupportIpv6', 'message' => 'Peer Attachment is only allowed when both regions support IPv6 or do not support IPv6 at all.', 'http_code' => 400, 'description' => 'Peer Attachment is only allowed when both regions support IPv6 or do not support IPv6 at all.'],
['code' => 'InvalidOperation.OrderParameterIllegal', 'message' => 'The order parameters are abnormal, please check whether the order parameters are correct and whether they conflict with existing orders.', 'http_code' => 400, 'description' => 'The order parameters are abnormal, please check whether the order parameters are correct and whether they conflict with existing orders.'],
['code' => 'InvalidOperation.PeerMulticastDomainSource', 'message' => 'Operation is invalid because peer multicast domain can not be group source.', 'http_code' => 400, 'description' => 'The error message returned because you cannot specify a multicast domain in another region as the multicast source.'],
['code' => 'InvalidOperation.PrependAsPathWithInvalidSourceInstanceIds', 'message' => 'When using PrependAsPath in the RegionIn direction, SourceInstanceIds must be local instance ids.', 'http_code' => 400, 'description' => 'When using PrependAsPath in the RegionIn direction, SourceInstanceIds must be local instance ids.'],
['code' => 'InvalidOperation.PrependAsPathWithInvalidSourceRegionId', 'message' => 'When using PrependAsPath in the RegionIn direction, SourceRegionId must be local region ID.', 'http_code' => 400, 'description' => 'When using PrependAsPath in the RegionIn direction, SourceRegionId must be local region ID.'],
['code' => 'InvalidOperation.PrivatezoneRouteExisted', 'message' => 'Privatezone routes already existed.', 'http_code' => 409, 'description' => 'The error message returned because the PrivateZone route already exists.'],
['code' => 'InvalidOperation.PvtzNotAssociatedWithVpc', 'message' => 'Privatezone not associated with the specified vpc.', 'http_code' => 403, 'description' => 'The error message returned because PrivateZone is not associated with the specified VPC.'],
['code' => 'InvalidOperation.RegionNotSupport', 'message' => 'The operation is not supported in this region.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'InvalidOperation.RegionNotSupport', 'message' => 'The Operation is not Support in this region.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'InvalidOperation.SaleValidateFailed', 'message' => 'Sales expression validation system error.', 'http_code' => 400, 'description' => 'Sales expression validation system error.'],
['code' => 'InvalidOperation.TransitRouterNotExist', 'message' => 'Operation is invalid because the transit router not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router does not exist.'],
['code' => 'InvalidOperation.UnmatchRouteInVpcRegion', 'message' => 'Operation Failed.Unmatch route in vpc region.', 'http_code' => 409, 'description' => 'The VPC routes do not match the match conditions.'],
['code' => 'InvalidOperation.UnsupportChargeType', 'message' => 'The charge type is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because the specified billing method does not support this operation.'],
['code' => 'InvalidOperation.UnsupportFilter', 'message' => 'The specified FeatureFilter is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because the specified filter is invalid.'],
['code' => 'InvalidOperation.UnsupportFilterValue', 'message' => 'The specified FeatureFilter Value is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because the specified filter value is invalid.'],
['code' => 'InvalidOperation.UnsupportnexthopType', 'message' => 'The specified next hop type is not supported by this operation.', 'http_code' => 400, 'description' => 'The specified next hop type is not supported by this operation.'],
['code' => 'InvalidOperation.UnsupportnexthopType', 'message' => 'The nexthop type is unsupported', 'http_code' => 400, 'description' => 'The error message returned because the next hop type does not support this operation.'],
['code' => 'InvalidOperation.UnsupportRouteTableType', 'message' => 'The route table type is unsupported', 'http_code' => 400, 'description' => 'The error message returned because the specified route table type does not support this operation.'],
['code' => 'InvalidOperation.UpgradeBwpBandwidth', 'message' => 'The operation is invalid because the upgrade is equal or less than the original bandwidth.', 'http_code' => 400, 'description' => 'The operation is invalid because the upgrade is equal or less than the original bandwidth.'],
['code' => 'InvalidOperation.VbrAttachedToEcr', 'message' => 'VBR has alreay attached to ECR.', 'http_code' => 400, 'description' => 'VBR has alreay attached to ECR.'],
['code' => 'InvalidOperation.VbrCenAttachmentStatus', 'message' => 'The VBR instance to CEN attachment is not in a valid state for the operation.', 'http_code' => null, 'description' => 'The error message returned because the VBR attachment is being processed. Try again later.'],
['code' => 'InvalidOperation.VbrExistInBondVbr', 'message' => 'The operation is invalid because there are one or more VBRs in the BondVBR.', 'http_code' => 400, 'description' => 'The operation is invalid because there are one or more VBRs in the BondVBR.'],
['code' => 'InvalidOperation.VpcAutoRoutesPublishInOtherCEN', 'message' => 'The specified VPC already has its routes synchronized with another CEN instance.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when route synchronization is enabled between the current VPC and another CEN instance.'],
['code' => 'InvalidOperation.VpcNotAttachedToCen', 'message' => 'Vpc not attached to cen.', 'http_code' => 409, 'description' => 'The error message returned because the specified VPC is not attached to a CEN instance.'],
['code' => 'InvalidOperation.VpnAssociated', 'message' => 'The operation is not supported because the VPC is associated with VPN.', 'http_code' => 400, 'description' => 'The error message returned because the specified VPC is associated with a VPN.'],
['code' => 'InvalidOperation.VpnNetworkTypeInvalid', 'message' => 'The network type of child-instance is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the network type specified for the instance is invalid.'],
['code' => 'InvalidParam.DestinationInstanceIds', 'message' => 'When using "PrependAsPath" in the "RegionOut", "DestinationInstanceIds" must be local region instances.', 'http_code' => 400, 'description' => 'When using the PrependAsPath option in a RegionOut configuration, the DestinationInstanceIds target instance should be within the local domain.'],
['code' => 'InvalidParam.RouteFilter', 'message' => 'The parameter RouteFilter is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified route filter is invalid.'],
['code' => 'InvalidParam.RoutFilterKey', 'message' => 'The specified Key of RouteFilter is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified route filter key is invalid.'],
['code' => 'InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => null, 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['code' => 'InvalidParameter', 'message' => 'The specified parameter "Filter" is invalid.', 'http_code' => null, 'description' => 'The specified Filter is invalid.'],
['code' => 'InvalidParameter', 'message' => 'The specified parameter "ResourceUid" is invalid.', 'http_code' => null, 'description' => 'The specified ResourceUid is invalid.'],
['code' => 'InvalidParameter', 'message' => 'The specified parameter "ChildInstanceOwnerUid" is invalid.', 'http_code' => null, 'description' => 'The specified ChildInstanceOwnerUid is invalid.'],
['code' => 'InvalidParameter', 'message' => 'The specified parameter "BandwidthLimit" is invalid.', 'http_code' => null, 'description' => 'The specified BandwidthLimit is invalid.'],
['code' => 'InvalidParameter', 'message' => 'The specified parameter "PageSize" is invalid.', 'http_code' => null, 'description' => 'The specified PageSize is invalid.'],
['code' => 'InvalidParameter', 'message' => 'The specified parameter "PageNumber" is invalid.', 'http_code' => null, 'description' => 'The specified PageNumber is invalid.'],
['code' => 'InvalidParameter', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => 'The error message returned because the parameter is set to an invalid value.'],
['code' => 'InvalidParameter.BondVbrId', 'message' => 'The parameter BondVbrId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the BondVbrId parameter is set to an invalid value.'],
['code' => 'InvalidParameter.Day', 'message' => 'The Parameter Day is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified date is invalid.'],
['code' => 'InvalidParameter.FlowLogId', 'message' => 'The specified flowlog id does not exist or does not match the cen Id.', 'http_code' => 400, 'description' => 'The error message returned because the specified flow log ID is invalid.'],
['code' => 'InvalidParameter.FlowLogVersion', 'message' => 'Flowlog version is invalid.', 'http_code' => 400, 'description' => 'The specified flowlog version is invalid.'],
['code' => 'InvalidParameter.Interval', 'message' => 'Interval is invalid.', 'http_code' => 400, 'description' => 'The specified interval is invalid.'],
['code' => 'InvalidParameter.LogFormatString', 'message' => 'LogFormatString is invalid.', 'http_code' => 400, 'description' => 'The specified log format is invalid.'],
['code' => 'InvalidParameter.LogStoreName', 'message' => 'Specified LogStore name is invalid.', 'http_code' => 400, 'description' => 'Logstore name is invalid.'],
['code' => 'InvalidParameter.LogStoreNameConflict', 'message' => 'The parameter LogStoreName is conflict.', 'http_code' => 400, 'description' => 'The parameter LogStoreName is conflict.'],
['code' => 'InvalidParameter.MaxResults', 'message' => 'The specified MaxResults is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the MaxResults parameter is set to an invalid value.'],
['code' => 'InvalidParameter.MedRouteMapDestInstanceIds', 'message' => 'Param DestInstanceIds must be ecr instance id.', 'http_code' => 400, 'description' => 'The destination instance list of med routeMap must be ECR instance.'],
['code' => 'InvalidParameter.MedRouteMapDestInstanceType', 'message' => 'Param DestChildInstanceTypes must be ecr.', 'http_code' => 400, 'description' => 'The destination instance type of the med routeMap must be ECR.'],
['code' => 'InvalidParameter.ProjectName', 'message' => 'Project name is invalid or does not belong to specified region.', 'http_code' => 400, 'description' => 'The Project name is illegal or does not belong to the specified region.'],
['code' => 'InvalidParameter.ProjectName', 'message' => 'ProjectName is invalid.', 'http_code' => 400, 'description' => 'Project name is invalid.'],
['code' => 'InvalidParameter.RegionId', 'message' => 'The specified Region Id is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified region ID is invalid.'],
['code' => 'InvalidParameter.TagKeyOrAll', 'message' => 'The specified parameter TagKey or All is invalid.', 'http_code' => 400, 'description' => 'The specified parameter TagKey or All is invalid.'],
['code' => 'InvalidParameter.TransitRouteTableAggregationScope', 'message' => 'TransitRouteTableAggregationScope is invalid.', 'http_code' => 400, 'description' => 'The propagation scope of the aggregate route is illegal.'],
['code' => 'InvalidParameter.TransitRouteTableAggregationScopeList', 'message' => 'TransitRouteTableAggregationScopeList is invalid.', 'http_code' => 400, 'description' => 'TransitRouteTableAggregationScopeList is invalid.'],
['code' => 'InvalidParameterCombination.TransitRouter', 'message' => 'Region ID is required if no TransitRouterId or CenId specified.', 'http_code' => 400, 'description' => 'The error message returned because you must specify at least a region, a transit router ID, or a CEN instance ID.'],
['code' => 'InvalidParamSize.TrafficQosQueues', 'message' => 'The queue size included in the traffic QoS policy exceeds the limit.', 'http_code' => 400, 'description' => 'The queue size included in the traffic scheduling policy exceeds the limit.'],
['code' => 'InvalidPeerTransitRouterId.NotFound', 'message' => 'The specified PeerTransitRouterId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified peer transit router ID (PeerTransitRouterId) does not exist.'],
['code' => 'InvalidPeerTrMulticastDomainId.NotFound', 'message' => 'The specified PeerTrMulticastDomainId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified multicast domain on the peer transit does not exist.'],
['code' => 'InvalidRouteEntry.NotFound', 'message' => 'Route entry not exists.', 'http_code' => 400, 'description' => 'The error message returned because the route entry does not exist.'],
['code' => 'InvalidRouteTableId.NotFound', 'message' => 'The specified RouteTableId is not found.', 'http_code' => 404, 'description' => 'The specified route table ID does not exist.'],
['code' => 'InvalidStatus.HealthCheck', 'message' => 'Can not modify, please delete health check config first.', 'http_code' => 400, 'description' => 'You must delete the health check configurations before you can make the modifications.'],
['code' => 'InvalidStatus.Prefixlist', 'message' => 'Prefixlist is not in a operate status.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified prefix list does not support this operation.'],
['code' => 'InvalidStatus.PrefixlistAssociation', 'message' => 'The prefix list association is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified prefix list does not support this operation. Try again later.'],
['code' => 'InvalidStatus.Resource', 'message' => 'The status of the specified resource is invalid. The resource cannot be renewed.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified resource is invalid. The resource cannot be renewed.'],
['code' => 'InvalidStatus.ResourceStatus', 'message' => 'The resource is not in a valid state for the attachment operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the specified resource does not support this operation. Try again later.'],
['code' => 'InvalidStatus.VpcAttachedFullModeCen', 'message' => 'The VPC has been attached to another CEN instance whose protection level is FULL.', 'http_code' => 400, 'description' => 'The error message returned because the specified VPC is already attached to a CEN instance whose protection level is FULL. The VPC cannot be attached to other CEN instances.'],
['code' => 'InvalidTagKey', 'message' => 'The tag keys are not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag key is invalid.'],
['code' => 'InvalidTagScope.NotFound', 'message' => 'The tag scope is not found', 'http_code' => 400, 'description' => 'The error message returned because the specified tag scope is invalid.'],
['code' => 'InvalidTagValue', 'message' => 'The tag values are not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified tag value is invalid.'],
['code' => 'InvalidTrafficMarkingPolicyId.NotFound', 'message' => 'The specified TrafficMarkingPolicyId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['code' => 'InvalidTrafficMarkingPolicyId.NotFound', 'message' => 'Operation is failed because traffic marking policy id is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['code' => 'InvalidTrafficMarkingPolicyId.NotFound', 'message' => 'TrafficMarkingPolicyId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified traffic marking policy ID (TrafficMarkingPolicyId) does not exist.'],
['code' => 'InvalidTrafficMatchRuleId.NotFound', 'message' => 'TrafficMatchRuleId is not found.', 'http_code' => 400, 'description' => 'TrafficMatchRuleId is not found.'],
['code' => 'InvalidTrafficQosPolicyId.NotFound', 'message' => 'The specified TrafficQosPolicyId is not found.', 'http_code' => 404, 'description' => 'The error message returned because the specified QoS policy ID (TrafficQosPolicyId) does not exist.'],
['code' => 'InvalidTrafficQosQueueId.NotFound', 'message' => 'The specified TrafficQosQueueId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified QoS policy queue (TrafficQosQueueId) does not exist.'],
['code' => 'InvalidTrafficQosQueueId.NotFound', 'message' => 'The instance of TrafficQosQueueId is not found.', 'http_code' => 400, 'description' => 'The policy instance specified by the traffic scheduling policy ID was not found.'],
['code' => 'InvalidTransitQosId.NotFound', 'message' => 'The specified TrafficQosPolicyId is not found.', 'http_code' => 404, 'description' => 'The error message returned because the TrafficQosPolicyId parameter is set to an invalid value.'],
['code' => 'InvalidTransitRouterAttachmentId.NotFound', 'message' => 'TransitRouterAttachmentId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the network instance does not exist.'],
['code' => 'InvalidTransitRouterAttachmentId.NotFound', 'message' => 'The TransitRouterAttachmentId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router attachment ID (TransitRouterAttachmentId) does not exist.'],
['code' => 'InvalidTransitRouterId.NotFound', 'message' => 'TransitRouterId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the transit router does not exist.'],
['code' => 'InvalidTransitRouterId.NotFound', 'message' => 'The specified TransitRouterId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router does not exist.'],
['code' => 'InvalidTransitRouterId.NotFound', 'message' => 'The specified TransitRouterId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router ID (TransitRouterId) does not exist.'],
['code' => 'InvalidTransitRouterId.NotFound', 'message' => 'TransitRouterId is not found', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router ID (TransitRouterId) does not exist.'],
['code' => 'InvalidTransitRouterInstance.NotFound', 'message' => 'The Transit Router instance is not found.', 'http_code' => 400, 'description' => 'The Transit Router instance is not found.'],
['code' => 'InvalidTransitRouterInstanceId.NotFound', 'message' => 'The specified TransitRouterInstanceId is not found.', 'http_code' => 400, 'description' => 'The specified TransitRouterInstanceId is not found.'],
['code' => 'InvalidTransitRouterMode.NeedUpgrade', 'message' => 'TransitRouter need to upgrade.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router mode is not supported.'],
['code' => 'InvalidTransitRouterMulticastDomainId.NotFound', 'message' => 'The specified TransitRouterMulticastDomainId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified ID of the multicast domain (TransitRouterMulticastDomainId) on the transit router does not exist.'],
['code' => 'InvalidTransitRouterRouteEntryId.NotFound', 'message' => 'TransitRouterRouteEntryId is not found.', 'http_code' => 400, 'description' => 'TransitRouterRouteEntryId is not found.'],
['code' => 'InvalidTransitRouterRouteEntryNextHopId.NotFound', 'message' => 'TransitRouterRouteEntryNextHopId is not found', 'http_code' => 400, 'description' => 'The error message returned because the specified ID of the next hop (TransitRouterRouteEntryNextHopId) specified for the transit router route entry does not exist.'],
['code' => 'InvalidTransitRouterRouteTableId.NotFound', 'message' => 'TransitRouterRouteTableId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified route table ID of the transit router does not exist.'],
['code' => 'InvalidTrAttachmentId.NotFound', 'message' => 'The specified AttachmentId is not found.', 'http_code' => 404, 'description' => 'The error message returned because the specified attachment ID does not exist.'],
['code' => 'InvalidValue.PrefixlistCidr', 'message' => 'Invalid cidr exist in the specified prefixlist.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list contains an invalid CIDR block.'],
['code' => 'InvalidVpcId.NotFound', 'message' => 'The specified VpcId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified VPC ID (VpcId) is invalid.'],
['code' => 'InvalidVpcId.NotValid', 'message' => 'The specified Vpc is invalid.', 'http_code' => 400, 'description' => 'The specified vpcId is invalid.'],
['code' => 'InvalidVpnId.NotFound', 'message' => 'The specified vpn connection instance id does not exist.', 'http_code' => 400, 'description' => 'The specified vpn connection instance id does not exist.'],
['code' => 'InvalidVSwitchId.NotFound', 'message' => 'The specified VSwitchId is not found.', 'http_code' => 404, 'description' => 'The error message returned because the specified vSwitch ID does not exist.'],
['code' => 'InvalidVSwitchId.NotFound', 'message' => 'VSwitch not exist.', 'http_code' => 404, 'description' => 'The error message returned because the specified vSwitch ID (VSwitchId) does not exist.'],
['code' => 'InvalidVSwitchId.NotFound', 'message' => 'VSwitchId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified vSwitch ID (VSwitchId) does not exist.'],
['code' => 'Invid.Parameter', 'message' => 'When using GatewayRegionId, SourceRegionId must not be null', 'http_code' => 400, 'description' => 'The error message returned because the GatewayRegionId and SourceRegionId parameters must be set.'],
['code' => 'Invid.Parameter', 'message' => 'DestinationInstanceId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified destination instance ID (DestinationInstanceId) is invalid. '],
['code' => 'Invid.Parameter', 'message' => 'GatewayRegionId is invalid', 'http_code' => 400, 'description' => 'The error message returned because the gateway region ID (GatewayRegionId) is invalid.'],
['code' => 'Invid.Parameter', 'message' => 'SourceInstanceId is invalid.', 'http_code' => 400, 'description' => 'The error message returned because the specified source instance ID (SourceInstanceId) is invalid.'],
['code' => 'Invid.Parameter', 'message' => 'TransitRouter not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router does not exist.'],
['code' => 'Invid.Parameter', 'message' => 'When using GatewayRegionId, GatewayZoneId must not be null', 'http_code' => 400, 'description' => 'The error message returned because the GatewayRegionId and GatewayZoneId parameters must be set.'],
['code' => 'Invid.Parameter', 'message' => 'When using GatewayRegionId, SourceRegionId must not be the same with tr region id', 'http_code' => 400, 'description' => 'The error message returned because the specified gateway region ID (GatewayRegionId) and source region ID (SourceRegionId) cannot be the same.'],
['code' => 'IpAddressExist', 'message' => 'Specified IpAddress is already exist.', 'http_code' => 409, 'description' => 'The error message returned because the specified IP address (IpAddress) already exists.'],
['code' => 'MissingParam', 'message' => 'The parameter %s is missing.', 'http_code' => 400, 'description' => 'A required parameter is not specified.'],
['code' => 'MissingParam.Bandwidth', 'message' => 'The parameter Bandwidth is mandatory.', 'http_code' => 400, 'description' => 'The error message returned because no bandwidth value is specified. You must specify a bandwidth value.'],
['code' => 'MissingParam.CbnBandwidthPackageId', 'message' => 'More than one applicable CEN bandwidth package exists.', 'http_code' => 400, 'description' => 'More than one applicable CEN bandwidth package exists.'],
['code' => 'MissingParam.CbnBandwidthPackageId', 'message' => 'There are more than one suitable cen bandwidth package', 'http_code' => 400, 'description' => 'The error message returned because the CbnBandwidthPackageId parameter is not set.'],
['code' => 'MissingParam.CenIdOrRegionId', 'message' => 'Either CenId or RegionId must be specified.', 'http_code' => 400, 'description' => 'The error message returned because the CenId or RegionId parameter is not set.'],
['code' => 'MissingParam.ChildInstanceRouteTableId', 'message' => 'The parameter TransitRouterAttachmentId is Missing.', 'http_code' => 400, 'description' => 'The error message returned because the ChildInstanceRouteTableId parameter is not set.'],
['code' => 'MissingParam.NetworkType', 'message' => 'NetworkType is required.', 'http_code' => 400, 'description' => 'The NetworkType parameter is required.'],
['code' => 'MissingParam.RegionId', 'message' => 'The parameter RegionId is mandatory.', 'http_code' => 400, 'description' => 'The parameter RegionId is mandatory, please check your parameter.'],
['code' => 'MissingParam.RemainBandwidthPercent', 'message' => 'RemainBandwidthPercent is missing.', 'http_code' => 400, 'description' => 'RemainBandwidthPercent is missing.'],
['code' => 'MissingParam.TrafficMatchRules', 'message' => 'The parameter TrafficMatchRules is empty.', 'http_code' => 400, 'description' => 'The specified traffic classification rule is empty.'],
['code' => 'MissingParam.TransitRegionMappings', 'message' => 'TransitRegionMappings parameter is missing in the parameter.', 'http_code' => 400, 'description' => 'TransitRegionMappings parameter is missing in the parameter.'],
['code' => 'MissingParam.TransitRouterAttachmentId', 'message' => 'The parameter TransitRouterAttachmentId is Missing.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterAttachmentId parameter is not set.'],
['code' => 'MissingParam.TransitRouterAttachments', 'message' => 'The parameter TransitRouterAttachments is mandatory.', 'http_code' => 400, 'description' => 'The error message returned because you must set the TransitRouterAttachments parameter.'],
['code' => 'MissingParam.TransitRouterId', 'message' => 'The parameter TransitrouterId is mandatory.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterId parameter is not set.'],
['code' => 'MissingParam.TransitRouterIdOrTrafficMarkingPolicyId', 'message' => 'Either TransitRouterId or TrafficMarkingPolicyId must be specified.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterId or TrafficMarkingPolicyId parameter is not set.'],
['code' => 'MissingParam.TransitRouterIdOrTrafficQosPolicyId', 'message' => 'Either TransitRouterId or TrafficQosPolicyId must be specified.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterId or TrafficQosPolicyId parameter is not set.'],
['code' => 'MissingParam.TransitRouterIdOrTransitRouterRouteTables', 'message' => 'Either TransitRouterId or TransitRouterRouteTables must be specified.', 'http_code' => 400, 'description' => 'The error message returned because you must set at least one of the TransitRouterId and TransitRouterRouteTables parameters.'],
['code' => 'MissingParam.TransitRouterRouteEntryNextHopId', 'message' => 'The parameter TransitRouterRouteEntryNextHopId is mandatory', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterRouteEntryNextHopId parameter is not set.'],
['code' => 'MissingParam.transitRouterRouteTableId', 'message' => 'Missing the parameter transitRouter route table id.', 'http_code' => 400, 'description' => 'The error message returned because the transitRouterRouteTableId parameter is not set.'],
['code' => 'MissingParam.TransitRouterRouteTableId', 'message' => 'The parameter TransitRouterRouteTableId is mandatory.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterRouteTableId parameter is not set.'],
['code' => 'MissingParam.TransitRouteTableAggregationScope', 'message' => 'The parameter TransitRouteTableAggregationScope is mandatory.', 'http_code' => 400, 'description' => 'The parameter TransitRouteTableAggregationScope is mandatory.'],
['code' => 'MissingParam.VSwitchIds', 'message' => 'The parameter VSwitchIds is mandatory.', 'http_code' => 400, 'description' => 'The error message returned because the VSwitchIds parameter is not set.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "LocalRegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'The error message returned because the LocalRegionId parameter is not set.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "HealthCheckTargetIp" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'The error message returned because the HealthCheckTargetIp parameter is not set.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "BandwidthLimit" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'The error message returned because the BandwidthLimit parameter is not set.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "OppositeRegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'The error message returned because OppositeRegionId parameter is not set.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "GeographicRegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify GeographicRegionId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "ResourceBid" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify ResourceBid.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "VbrInstanceRegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify VbrInstanceRegionId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "CenRegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify CenRegionId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "HealthCheckSourceIp" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify HealthCheckSourceIp.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "VbrInstanceId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify VbrInstanceId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "Bandwidth" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify the parameter.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "GeographicRegionBId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify GeographicRegionBId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "CenBandwidthPackageId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify CenBandwidthPackageId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "GeographicRegionAId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify GeographicRegionAId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "ResourceUid" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify ResourceUid.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "ChildInstanceRouteTableId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify ChildInstanceRouteTableId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "ChildInstanceType" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify ChildInstanceType.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "CenId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify CenId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "ChildInstanceRegionId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify ChildInstanceRegionId.'],
['code' => 'MissingParameter', 'message' => 'The input parameter "ChildInstanceId" that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify ChildInstanceId.'],
['code' => 'MissingParameter', 'message' => 'Missing parameter.', 'http_code' => 400, 'description' => 'The error message returned because one or more required parameters are not set.'],
['code' => 'MissingParameter.OwnerIdOrOwnerAccount', 'message' => 'Either OwnerAccount or OwnerId must be specified.', 'http_code' => 400, 'description' => 'Either OwnerAccount or OwnerId must be specified.'],
['code' => 'MissingParameter.OwnerIdOrOwnerAccount', 'message' => 'The input parameter OwnerAccount or OwnerId that is mandatory for processing this request is not supplied', 'http_code' => 400, 'description' => 'The error message returned because the OwnerId or OwnerAccount parameter is not set.'],
['code' => 'MissingParameter.RegionId', 'message' => 'Missing RegionId parameter.', 'http_code' => 400, 'description' => 'Missing RegionId parameter.'],
['code' => 'MissingParameter.ScopeListOrScope', 'message' => 'The input parameter TransitRouteTableAggregationScopeList or TransitRouteTableAggregationScope that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter TransitRouteTableAggregationScopeList or TransitRouteTableAggregationScope that is mandatory for processing this request is not supplied.'],
['code' => 'MissingParameter.TagKey', 'message' => 'TagKey must be specified.', 'http_code' => 400, 'description' => 'The error message returned because you must set the TagKey parameter.'],
['code' => 'MissingParameter.TagValue', 'message' => 'The specified parameter TagValue is missing', 'http_code' => 400, 'description' => 'The error message returned because the TagValue parameter is not set.'],
['code' => 'MissingParameter.TrafficMarkingPolicyId', 'message' => 'The parameter TrafficMarkingPolicyId is mandatory.', 'http_code' => 400, 'description' => 'The parameter TrafficMarkingPolicyId is mandatory.'],
['code' => 'MissingParameter.TrafficMatchRuleId', 'message' => 'The parameter TrafficMatchRuleId is mandatory.', 'http_code' => 400, 'description' => 'The parameter TrafficMatchRuleId is mandatory.'],
['code' => 'MissingParameter.TransitRouterInstanceId', 'message' => 'The parameter TransitRouterInstanceId is mandatory.', 'http_code' => 400, 'description' => 'The parameter TransitRouterInstanceId is mandatory.'],
['code' => 'MultipleFound.PrefixlistAssociation', 'message' => 'multiple same prefix association record found.', 'http_code' => 400, 'description' => 'The error message returned because multiple configuration duplicates exist in the system.'],
['code' => 'NameDescriptionNull', 'message' => 'The name or description is empty', 'http_code' => 400, 'description' => 'The error message returned because the name or description must be specified.'],
['code' => 'NeedOpenProduct', 'message' => 'The user has not activated the transit router service.', 'http_code' => 400, 'description' => 'The error message returned because the transit router feature is not activated.'],
['code' => 'NoPermission.AliyunServiceRoleForCEN', 'message' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRoleForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'http_code' => 400, 'description' => 'The error message because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRoleForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['code' => 'NoPermission.AliyunServiceRoleForCEN', 'message' => 'No permission to open AliyunServiceRole for CEN.', 'http_code' => 400, 'description' => 'The error message returned because you do not have the required permissions.'],
['code' => 'NoPermission.AliyunServiceRoleForTRFlowLog', 'message' => 'You are not authorized to create service linked role AliyunServiceRoleForTRFlowLog.', 'http_code' => 403, 'description' => 'You are not authorized to create service linked role AliyunServiceRoleForTRFlowLog.'],
['code' => 'NoPermission.AliyunServiceRolePolicyForCEN', 'message' => 'You are not authorized to create the service linked role. Role Name: AliyunServiceRolePolicyForCEN. Service Name: cen.aliyuncs.com. Make sure that the user has been granted the ram:CreateServiceLinkedRole permission.', 'http_code' => 400, 'description' => 'The error message returned because you do not have the permissions to create the service-linked role whose role name is AliyunServiceRolePolicyForCEN and service name is cen.aliyuncs.com. You must acquire the ram:CreateServiceLinkedRole permission before you can create the service-linked role.'],
['code' => 'NotSupport.AttachmentRoute', 'message' => 'Not support such attachment route.', 'http_code' => 400, 'description' => 'This attachment route is not supported.'],
['code' => 'NotSupport.TrType', 'message' => 'The basic tr type is not support for this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by Basic Edition transit routers.'],
['code' => 'Operation.Failed', 'message' => 'Spec of the specified bandwidth package is not changed, please check again.', 'http_code' => 400, 'description' => 'The error message returned because the specification of the bandwidth plan is not modified.'],
['code' => 'OperationDenied.AttachmentExist', 'message' => 'Operation is not allowed because the specified instance has already been attached to CEN.', 'http_code' => 400, 'description' => 'Operation is not allowed because the specified instance has already been attached to CEN.'],
['code' => 'OperationDenied.ECSPrefixList', 'message' => 'Associate ECS PrefixList is not supported.', 'http_code' => 400, 'description' => 'Associate ECS PrefixList is not supported.'],
['code' => 'OperationDenied.RouteEntryOnEni', 'message' => 'Operation is failed because there is at least one route entry which next hop is the specified eni.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a route points to an ENI.'],
['code' => 'OperationDenied.RouteTableTypeNotPermitted', 'message' => 'The operation is not allowed because of RouteTableTypeNotPermitted.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified type of route table.'],
['code' => 'OperationDenied.SystemPrefixList', 'message' => 'SystemPrefixList can not be operated.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the system prefix list.'],
['code' => 'OperationFailed.AggregationRouteExist', 'message' => 'Operation is invalid because transit router aggregation route exists.', 'http_code' => 400, 'description' => 'The delete operation failed because aggregate routes exist.'],
['code' => 'OperationFailed.AggregationRouteExist', 'message' => 'Operation failed because TransitRouterRouteAggregation exists.', 'http_code' => 400, 'description' => 'Operation failed because TransitRouterRouteAggregation exists.'],
['code' => 'OperationFailed.AllocateCidrFailed', 'message' => 'Operation failed because vpn allocate cidr failed.', 'http_code' => 400, 'description' => 'The error message returned because the VPN failed to apply for a CIDR block.'],
['code' => 'OperationFailed.AllocateTrCidrBlock', 'message' => 'Operation failed because allocate cidr failed.', 'http_code' => 400, 'description' => 'The error message returned because the application for allocating CIDR blocks to the transit router failed.'],
['code' => 'OperationFailed.AttachmentReferencedVpcRouteEntryExisted', 'message' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a route points to an attachment.'],
['code' => 'OperationFailed.BandwidthLimitExist', 'message' => 'Operation is invalid because a bandwidth limit exist.', 'http_code' => 400, 'description' => 'Please delete all cross region bandwidth limits associated with current TR and try again. '],
['code' => 'OperationFailed.BasicInfoUncompleted', 'message' => 'Your information is incomplete. Complete your information before the operation.', 'http_code' => 400, 'description' => 'The error message returned because your basic information is incomplete. Complete your basic information and try again.'],
['code' => 'OperationFailed.BasicTrNotSupport', 'message' => 'Operation failed because the Basic TransitRouter does not support RouteTable', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by Basic Edition transit routers.'],
['code' => 'OperationFailed.CCNAttached', 'message' => 'Can not delete transit router because CCN still attached.', 'http_code' => 400, 'description' => 'The error message returned because the transit router cannot be deleted when it is connected to a CCN instance.'],
['code' => 'OperationFailed.CCNTrNotSupport', 'message' => 'Operation failed because the CCN transit router does not support route table.', 'http_code' => 400, 'description' => 'The error message returned because transit routers deployed in CCN regions do not allow you to create route tables.'],
['code' => 'OperationFailed.CenReferencedVpcRouteEntryExisted', 'message' => 'Operation is failed because there is at least one route entry which next hop is the specified cen.', 'http_code' => 400, 'description' => 'This operation is not supported because routes pointing to CEN exist.'],
['code' => 'OperationFailed.CidrBlockAllocated', 'message' => 'Cidr blocks are allocated from the cidr, which should be released first.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block is already occupied. Release the resources that occupy the CIDR block and try again.'],
['code' => 'OperationFailed.CidrConflict', 'message' => 'Operation is invalid because the cidr conflict.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block conflicts with another one.'],
['code' => 'OperationFailed.CidrNotExist', 'message' => 'cidr is not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified CIDR block does not exist.'],
['code' => 'OperationFailed.CloudRouteExist', 'message' => 'Cloud service routes exist.', 'http_code' => 400, 'description' => 'The error message returned because a cloud service route exists. Delete the route and try again.'],
['code' => 'OperationFailed.CloudRouteExist', 'message' => 'Operation is invalid because cloud route exists.', 'http_code' => 400, 'description' => 'The transit router has cloud service route configurations. Go to the cloud service configuration page and delete all cloud service routes configured on this transit router first.'],
['code' => 'OperationFailed.ConcurrentOperation', 'message' => 'The operation failed caused by concurrent operation.', 'http_code' => 400, 'description' => 'The error message returned because the concurrent operations failed. Do not frequently perform this operation. Try again later.'],
['code' => 'OperationFailed.ConnectPeerExist', 'message' => 'Operation is invalid because connect peer exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a connect peer exists. Delete the connect peer and try again.'],
['code' => 'OperationFailed.ContainsForbiddenLabel', 'message' => 'You cannot place the order because orders are prohibited by a label.', 'http_code' => 400, 'description' => 'You cannot place the order because orders are prohibited by a label.'],
['code' => 'OperationFailed.CreateRouteEntryWithCCNAttachment', 'message' => 'Operation failed because routeEntry to CCN attachment is not supported.', 'http_code' => 400, 'description' => 'The error message returned because you are not allowed to set the next hop to a CCN instance.'],
['code' => 'OperationFailed.CreateRouteEntryWithCCNAttachment', 'message' => 'Operation failed because Create RouteEntry to CCN Attachment does not support.', 'http_code' => 400, 'description' => 'The error message returned because routes that point to a CCN attachment are not supported.'],
['code' => 'OperationFailed.CreateRouteEntryWithConnectAttachment', 'message' => 'Operation failed because Create RouteEntry to connect Attachment does not support.', 'http_code' => 400, 'description' => 'You cannot create a route that points to a connect attachment.'],
['code' => 'OperationFailed.CreateRouteEntryWithSameDestinationCidrBlock', 'message' => 'Operation failed because Create RouteEntry with same destination cidrblock does not support.', 'http_code' => 400, 'description' => 'The error message returned because the destination CIDR block of each route entry in the route table must be unique.'],
['code' => 'OperationFailed.CreateTransitRouterConnectAttachment', 'message' => 'Operation failed because transit router not support multicast.', 'http_code' => 400, 'description' => 'The error message returned because the transit router does not support multicast and the connect attachment failed to be created.'],
['code' => 'OperationFailed.CreateTransitRouterRouteEntryWithVPCAttachment', 'message' => 'The specified VPC Attachment has not enable IPv6.', 'http_code' => 400, 'description' => 'The specified VPC Attachment has not enable IPv6.'],
['code' => 'OperationFailed.CreateTransitRouterRouteEntryWithVPNAttachment', 'message' => 'Create RouteEntry to VPN Attachment does not support IPv6.', 'http_code' => 400, 'description' => 'Create RouteEntry to VPN Attachment does not support IPv6.'],
['code' => 'OperationFailed.DeleteCenWithCustomRouteTable', 'message' => 'Operation failed because you are not allowed to delete the CEN with the custom transit router route table.', 'http_code' => 400, 'description' => 'The error message returned because you are not allowed to delete the CEN instance unless all custom route tables are deleted from the CEN instance.'],
['code' => 'OperationFailed.DeleteCenWithRouteEntry', 'message' => 'Operation failed because you are not allowed to delete the CEN with the transit router route entry.', 'http_code' => 400, 'description' => 'The error message returned because you are not allowed to delete the CEN instance unless all custom route entries are deleted from the CEN instance.'],
['code' => 'OperationFailed.DeleteRouteTableWithAssociation', 'message' => 'Operation failed because you are not allowed to delete TransitRouterRouteTable with association', 'http_code' => 400, 'description' => 'The error message returned because the route table cannot be deleted when it is associated with a forwarding correlation. Disassociate the route table from the forwarding correlation and try again.'],
['code' => 'OperationFailed.DeleteRouteTableWithPropagation', 'message' => 'Operation failed because you are not allowed to delete transit router route table with propagation', 'http_code' => 400, 'description' => 'The error message returned because the route table cannot be deleted when it is associated with a route leaning policy. Disassociate the route table from the route learning policy and try again.'],
['code' => 'OperationFailed.DeleteRouteTableWithRouteAggregation', 'message' => 'Operation is invalid because delete route table with route aggregation.', 'http_code' => 400, 'description' => 'The error message returned because the specified route table contains one or more aggregated routes. Delete the aggregated routes and try again.'],
['code' => 'OperationFailed.DeleteRouteTableWithRouteEntry', 'message' => 'Operation failed because you are not allowed to delete transit touter route table with route entry', 'http_code' => 400, 'description' => 'The error message returned because the route table cannot be deleted when it contains a route entry. Delete all route entries from the route table and try again.'],
['code' => 'OperationFailed.DeleteSystemRouteTable', 'message' => 'Operation failed because You are not allowed to Delete System Transit Route Table.', 'http_code' => 400, 'description' => 'The error message returned because system route tables cannot be deleted.'],
['code' => 'OperationFailed.DeleteTransitRouter', 'message' => 'Operation failed because TransitRouterRouteEntry exists', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router cannot be deleted unless all route entries are deleted from the transit router.'],
['code' => 'OperationFailed.DeleteTransitRouter', 'message' => 'Operation failed because TransitRouterRouteTable exists', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router cannot be deleted unless all custom route tables are disassociated from the transit router.'],
['code' => 'OperationFailed.DeleteTransitRouter', 'message' => 'Operation failed because TransitRouterRouteTable or TransitRouterRouteEntry or BandwidthTransitRegion'."\0".' exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a custom route or a custom route table exists, or bandwidth multiplexing is enabled. Delete the custom route table and route, disable bandwidth multiplexing, and then try again.'],
['code' => 'OperationFailed.DeleteTransitRouter', 'message' => 'Operation failed because TransitRouterRouteTable or TransitRouterRouteEntry exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a custom route table or route entry exists. Delete the custom route table and route entry and try again.'],
['code' => 'OperationFailed.DeleteTransitRouter', 'message' => 'Operation failed because TransitRouterRouteTable or TransitRouterRouteEntry or BandwidthTransitRegion exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a custom route or a custom route table exists, or bandwidth multiplexing is enabled. Delete the custom route table and route, disable bandwidth multiplexing, and then try again.'],
['code' => 'OperationFailed.DeleteTransitRouterRouteEntry', 'message' => 'Operation failed because this route entry is created automatically.', 'http_code' => 400, 'description' => 'You cannot delete a route that is automatically created by the system.'],
['code' => 'OperationFailed.FlowLogExist', 'message' => 'Flow log configurations exist. Delete the flow log configurations and retry the operation.', 'http_code' => 400, 'description' => 'Flow log configurations exist. Delete the flow log configurations and retry the operation.'],
['code' => 'OperationFailed.FlowLogExistOrNisOpened', 'message' => 'Operation failed because FlowLog exists or Nis opened.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a flow log exists or the NIS service is activated.'],
['code' => 'OperationFailed.GrantCrossAccountExist', 'message' => 'Cross-account authorization already exists.', 'http_code' => 400, 'description' => 'Cross-account authorization already exists.'],
['code' => 'OperationFailed.InsufficientAvailableQuota', 'message' => 'Operation failed due to the account quota is insufficient.', 'http_code' => 400, 'description' => 'The available amount of the account is insufficient.'],
['code' => 'OperationFailed.InsufficientBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => 400, 'description' => 'The error message returned because your Alibaba Cloud account has overdue payments.'],
['code' => 'OperationFailed.InterRegionCloudRouteEntryExist', 'message' => 'Operation failed because inter region cloud route associated with specified attachment exist.', 'http_code' => 400, 'description' => ' Inter region cloud route associated with specified attachment exist.'],
['code' => 'OperationFailed.InvalidChildInstanceType', 'message' => 'Operation failed. Child instance type is invalid for this operation.', 'http_code' => 400, 'description' => 'The specified type of child instance is invalid.'],
['code' => 'OperationFailed.InvalidChildInstanceType', 'message' => 'Child instance type is invalid for this operation.', 'http_code' => 400, 'description' => 'The child instance type specified for this operation is invalid.'],
['code' => 'OperationFailed.InvalidLogInfo', 'message' => 'The entered log service information is invalid. Check whether the ProjectName and LogStoreName are correct, and whether Log Service has been activated.', 'http_code' => 400, 'description' => 'The entered log service information is invalid. Check whether the ProjectName and LogStoreName are correct, and whether Log Service has been activated.'],
['code' => 'OperationFailed.InvalidOperation', 'message' => 'The operation failed because it is not supported.', 'http_code' => 400, 'description' => 'The operation failed because it is not supported.'],
['code' => 'OperationFailed.InvalidTransitRouter', 'message' => 'Operation failed because the transit router is not supported.', 'http_code' => 400, 'description' => 'Operation failed because the transit router is not supported.'],
['code' => 'OperationFailed.InvalidVpcStatus', 'message' => 'The status of the specified VPC does not support this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when the VPC is in the current state. Try again later.'],
['code' => 'OperationFailed.IpAddressExhausted', 'message' => 'No IP addresses are available for allocation.', 'http_code' => 400, 'description' => 'The operation failed because no IP addresses can be allocated.'],
['code' => 'OperationFailed.MulticastDomainAssociationExist', 'message' => 'The specified TransitRouterAttachment has configured MulticastDomainAssociation. Please remove the configuration first.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router attachment (TransitRouterAttachment) is added to a multicast domain. Remove the attachment from the multicast domain and try again.'],
['code' => 'OperationFailed.MulticastDomainExist', 'message' => 'Operation is invalid because multicast domain exists.', 'http_code' => 400, 'description' => 'The error message returned because the transit router is associated with a multicast domain. Disassociate the transit router from the multicast domain before you delete the transit router.'],
['code' => 'OperationFailed.MulticastGroupExist', 'message' => 'Operation is invalid because multicast group exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a multicast group exists.'],
['code' => 'OperationFailed.MulticastGroupExist', 'message' => 'Operation is failed because connect peer exists in multicast groups.', 'http_code' => 400, 'description' => 'The error message returned because the connect peer is in a multicast group. Remove the connect peer from the multicast group and try again.'],
['code' => 'OperationFailed.MulticastGroupExist', 'message' => 'Operation is failed because attachment exists in multicast groups.', 'http_code' => 400, 'description' => 'The error message returned because the specified attachment is in a multicast group. Remove the attachment from the multicast group and try again.'],
['code' => 'OperationFailed.NoAvailablePaymentMethod', 'message' => 'No payment method is specified for your account. We recommend that you add a payment method.', 'http_code' => 400, 'description' => 'The error message returned because no payment method is specified for your account. Specify a payment method and try again.'],
['code' => 'OperationFailed.NoRealNameAuthentication', 'message' => 'No real-name authentication was applied.', 'http_code' => 400, 'description' => 'No real-name authentication was performed.'],
['code' => 'OperationFailed.NotSupportForceDelete', 'message' => 'Not support force delete attachment.', 'http_code' => 400, 'description' => 'The error message returned because the specified resource cannot be forcefully deleted.'],
['code' => 'OperationFailed.NoVbrAttachedToCEN', 'message' => 'Operation is invalid because no vbr attached to cen.', 'http_code' => 400, 'description' => 'The error message returned because the operation is not supported when the specified CEN instance is not connected to a VBR.'],
['code' => 'OperationFailed.OperateShareResource', 'message' => 'Operate share prefixlist failed.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list failed to be shared.'],
['code' => 'OperationFailed.OperationIsProcessing', 'message' => 'The operation failed because another operation is being processed.', 'http_code' => 400, 'description' => 'The error message returned because another operation is being performed.'],
['code' => 'OperationFailed.OrderIsProcessing', 'message' => 'The operation failed because the order is being processed.', 'http_code' => 400, 'description' => 'The error message returned because the order is being processed.'],
['code' => 'OperationFailed.PostPay95BwpNotAllowEnterpriseTr', 'message' => 'Cbn with post pay 95 bandwidth package does not allow enterprise tr.', 'http_code' => 400, 'description' => 'Cbn with post pay 95 bandwidth package does not allow enterprise tr.'],
['code' => 'OperationFailed.PrefixListAssociationExist', 'message' => 'Operation is invalid because prefixList association exists.', 'http_code' => 400, 'description' => 'The transit router has associated route prefixes. Delete them and try again.'],
['code' => 'OperationFailed.PrefixListExist', 'message' => 'Operation failed because PrefixList exists.', 'http_code' => 400, 'description' => 'The error message returned because a prefix list exists.'],
['code' => 'OperationFailed.PrefixListExist', 'message' => 'Operation is invalid because prefix list exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a prefix list exists. Delete the prefix list and try again.'],
['code' => 'OperationFailed.PurchaseQuantityLimit', 'message' => 'You have exceeded the maximum quantity you can purchase.', 'http_code' => 400, 'description' => 'The error message returned because the number of instances has reached the upper limit and you cannot purchase more.'],
['code' => 'OperationFailed.QuerryCommodityPrice', 'message' => 'Failed to query the commodity price.', 'http_code' => 400, 'description' => 'Failed to query the product price.'],
['code' => 'OperationFailed.QuotaNotEnough', 'message' => 'The quota is not enough.', 'http_code' => 400, 'description' => 'The error message returned because the resource quota is exhausted and you cannot create more.'],
['code' => 'OperationFailed.RIInstanceExist', 'message' => 'Operation is failed because RI exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when an RI instance exists.'],
['code' => 'OperationFailed.Risk', 'message' => 'The error message returned because a security risk with your payment method is detected. Click the URL in your email or internal message to verify your payment method and then place your order again.', 'http_code' => 400, 'description' => 'The error message returned because a security risk with your payment method is detected. Click the URL in your email or internal message to verify your payment method and then place your order again.'],
['code' => 'OperationFailed.RouteConflict', 'message' => 'Route conflict exists in routing table.', 'http_code' => 400, 'description' => 'The error message returned because two or more routes in the route table conflict with each other.'],
['code' => 'OperationFailed.RouteEntryExist', 'message' => 'Failed to delete the instance because a route table entry points to the instance.', 'http_code' => 400, 'description' => 'Failed to delete the instance because one or more routes point to the instance. Delete the routes and try again.'],
['code' => 'OperationFailed.RouteTableAssociationExist', 'message' => 'Operation failed because TransitRouterRouteTable exists', 'http_code' => 400, 'description' => 'The error message returned because you cannot perform the operation when the connection is associated with a route table.'],
['code' => 'OperationFailed.RouteTableAssociationExist', 'message' => 'Operation failed because TransitRouterRouteTable exists.', 'http_code' => 400, 'description' => 'The error message returned because a transit router route table (TransitRouterRouteTable) exists.'],
['code' => 'OperationFailed.RouteTableAssociationExist', 'message' => 'Operation failed because there is associated routing table.', 'http_code' => 400, 'description' => 'The network connection deletion failed because there is an associated routing table.'],
['code' => 'OperationFailed.RouteTablePropagationExist', 'message' => 'The specified TransitRouterAttachment has configured RouteTablePropagation. Please remove the configuration first.', 'http_code' => 400, 'description' => 'The error message returned because you cannot perform the operation when a route learning correlation is configured for the network instance connection. Disassociate from the route learning correlation and try again.'],
['code' => 'OperationFailed.RouteTablePropagationExist', 'message' => 'Operation failed because You are not allowed to delete TransitAttachment with TransitRouter RouteTable Associated.', 'http_code' => 400, 'description' => 'The error message returned because the transit route attachment (TransitAttachment) is associated with a route table. Disassociate the attachment from the route table and try again.'],
['code' => 'OperationFailed.SetPostPay95BandwidthLimitError', 'message' => 'Operation failed because set postpay 95 bandwidth limit error.', 'http_code' => 400, 'description' => 'The error message returned because you failed to switch to the pay-by-95-percentile-bandwidth metering method.'],
['code' => 'OperationFailed.SourceIpUnSupported', 'message' => 'The specified source IP address is unsupported.', 'http_code' => 400, 'description' => 'The error message returned because the specified source IP address is not supported. Enter a valid IP address and try again.'],
['code' => 'OperationFailed.StatusNotSupport', 'message' => 'The VBR or VPC instance to CBN attachment is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'The error message returned because the status of the VBR or VPC does not support this operation. Try again later.'],
['code' => 'OperationFailed.TaskConflict', 'message' => 'The operation is too frequent, please wait a moment and try again.', 'http_code' => 400, 'description' => 'The error message returned because this operation is performed at a high frequency. Try again later.'],
['code' => 'OperationFailed.TrafficMarkingPolicyExist', 'message' => 'Operation is invalid because traffic marking policy exists.', 'http_code' => 400, 'description' => 'The error message returned because the transit router is associated with a traffic marking policy. Disassociate the transit router from the traffic marking policy before you delete the transit router.'],
['code' => 'OperationFailed.TrafficMarkingPolicyExist', 'message' => 'Operation is invalid because transit router traffic marking policy exists.', 'http_code' => 400, 'description' => 'The transit router has a traffic marking policy. Delete it and try again.'],
['code' => 'OperationFailed.TrafficQosExist', 'message' => 'Operation failed because TrafficQos exists', 'http_code' => 400, 'description' => 'The error message returned because a QoS policy exists. Delete the QoS policy and try again.'],
['code' => 'OperationFailed.TrafficQosPolicyExist', 'message' => 'Operation is invalid because traffic qos policy exists.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported when a QoS policy exists. Delete the QoS policy and try again.'],
['code' => 'OperationFailed.TransitRouterNotExist', 'message' => 'Operation failed because transit router not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router does not exist.'],
['code' => 'OperationFailed.TransitRouterType', 'message' => 'Operation failed because transit router type not support this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not support by the specified type of transit router.'],
['code' => 'OperationFailed.TransitRouterType', 'message' => 'The specified TransitRouterType does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['code' => 'OperationFailed.TransitRouterType', 'message' => 'Operation failed because The Basic TransitRouter does not support this action.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by Basic Edition transit routers.'],
['code' => 'OperationFailed.UpDownRadeConfigNoChange', 'message' => 'The operation failed because the config not change.', 'http_code' => 400, 'description' => 'The error message returned because the configurations are not modified.'],
['code' => 'OperationFailed.UseStoredCardFailed', 'message' => 'Operation failed because use stored card failed.', 'http_code' => 400, 'description' => 'The error message returned because you failed to complete the payment with the specified stored-value card.'],
['code' => 'OperationFailed.VbrAttachedVbrHa', 'message' => 'The operation is failed for VBR HA is configured for specified VBR instance.', 'http_code' => 400, 'description' => 'The operation is failed for VBR HA is configured for specified VBR instance.'],
['code' => 'OperationFailed.VbrWithAllowPrefixes', 'message' => 'Operation failed because allow prefixes referenced by vbr exists.', 'http_code' => 400, 'description' => 'A route prefix on the VBR is assigned the Allow action, which causes the operation to fail.'],
['code' => 'OperationFailed.VpcNotAttachedToCen', 'message' => 'Operation failed because vpc not attached to cen.', 'http_code' => 400, 'description' => 'The error message returned because the specified VPC is not associated with a CEN instance.'],
['code' => 'OperationFailed.VSwitchIpv6CidrNotAllocated', 'message' => 'The specified vswitch does not have IPv6 address allocated.', 'http_code' => 400, 'description' => 'The specified vswitch does not have IPv6 address allocated.'],
['code' => 'OperationFailed.VSwitchNotFound', 'message' => 'The specified vswitch not found.', 'http_code' => 400, 'description' => 'The specified vswitch not found.'],
['code' => 'OperationInvalid.AttachmentReferencedIPv6RouteEntryExisted', 'message' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is the specified attachment.', 'http_code' => 400, 'description' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is the specified attachment.'],
['code' => 'OperationInvalid.AttachmentReferencedVpcIPv6RouteEntryExisted', 'message' => 'The specified attachment is referenced by vpc route entry(IPv6).', 'http_code' => 400, 'description' => 'The specified attachment is referenced by vpc route entry(IPv6).'],
['code' => 'OperationInvalid.EniReferencedIPv6RouteEntryExisted', 'message' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is network interface that the specified attachment referenced.', 'http_code' => 400, 'description' => 'Operation is failed because there is at least one route entry(IPv6) which next hop is network interface that the specified attachment referenced.'],
['code' => 'OperationInvalid.IdentityRegistrationStatusNotSupport', 'message' => 'Real name registration of enterprises required.', 'http_code' => 400, 'description' => 'Since you have selected a certain region of "Mainland China" in the "Region" or "Opposite Region" , you must complete the enterprise real name registration before subscription. Please refer to the documentation on enterprise real name registration for details.'],
['code' => 'OperationInvalid.IncompatibleFlowlogExist', 'message' => 'Operation is invalid because incompatible flowlog config exists.', 'http_code' => 400, 'description' => 'There are incompatible Flowlog configurations, please delete and try again.'],
['code' => 'OperationInvalid.UserCanNotBuyCrossBorderBwp', 'message' => 'According to the laws and regulations of the operator and mainland China, you are currently not eligible to purchase or renew a cross-border bandwidth package. Please contact online customer service or your business manager for consultation.', 'http_code' => 400, 'description' => 'According to the laws and regulations of the operator and mainland China, you are currently not eligible to purchase or renew a cross-border bandwidth package. Please contact online customer service or your business manager for consultation.'],
['code' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportGold', 'message' => 'Operation is not allowed because this user can only set default link type to Gold.', 'http_code' => 400, 'description' => 'This user can only set the default link type to Gold.'],
['code' => 'OperationNotSupport.VpcAutoRoutesPublish', 'message' => 'Auto publish vpc routes is not supported in this region.', 'http_code' => 400, 'description' => 'The error message returned because automatic route advertising for VPCs is not supported in the specified region.'],
['code' => 'OperationUnsupported.action', 'message' => 'This action is not supported.', 'http_code' => 400, 'description' => 'This action is not supported.'],
['code' => 'OperationUnsupported.action', 'message' => 'This action is not support.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'OperationUnsupported.AdvancedFeature', 'message' => 'The specified VPC does not support this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the VPC.'],
['code' => 'OperationUnsupported.Associate', 'message' => 'The specified attachment or routeTable is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['code' => 'OperationUnsupported.Attachment', 'message' => 'The cross region connection contains an existing bandwidth. The operation is not supported.', 'http_code' => 400, 'description' => 'The error message returned because bandwidth multiplexing is enabled for the inter-region connection.'],
['code' => 'OperationUnsupported.Attachment', 'message' => 'Transit region connection does not support the operation.', 'http_code' => 400, 'description' => 'Cross-region connection does not support the operation.'],
['code' => 'OperationUnsupported.AutoPublishRouteEnabled', 'message' => 'Connect attachment not support AutoPublishRouteEnabled.', 'http_code' => 400, 'description' => 'The error message returned because the connect attachment does not support route synchronization.'],
['code' => 'OperationUnsupported.BandwidthType', 'message' => 'The specified BandwidthType does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified bandwidth type.'],
['code' => 'OperationUnsupported.CenFullLevel', 'message' => 'CEN full level does not support TransitRouter', 'http_code' => 400, 'description' => 'The error message returned because CEN instances of the Full type do not support Enterprise Edition transit routers.'],
['code' => 'OperationUnsupported.CenFullLevel', 'message' => 'CEN full level does not support vpn bgp.', 'http_code' => 400, 'description' => 'The error message returned because CEN instances in FULL mode do not support BGP for VPN gateways.'],
['code' => 'OperationUnsupported.CloudBoxVbrNotSupport', 'message' => 'Cloud Box Vbr does not support.', 'http_code' => 400, 'description' => 'The error message returned because the instance cannot be connected to a CloudBox.'],
['code' => 'OperationUnsupported.CloudBoxVpc', 'message' => 'The specified CloudBoxVpc does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because the CloudBox VPC does not support this operation.'],
['code' => 'OperationUnsupported.CloudBoxVswNotSupport', 'message' => 'Cloud Box vsw does not support.', 'http_code' => 400, 'description' => 'The error message returned because the instance cannot be connected to the CloudBox vSwitch.'],
['code' => 'OperationUnsupported.CloudDataTransferService', 'message' => 'CCN region not support cloud data transfer service.', 'http_code' => 400, 'description' => 'The error message returned because the Cloud Data Transfer (CDT) service is not supported in the region of the CCN instance.'],
['code' => 'OperationUnsupported.ConnectAttachment', 'message' => 'This region not support connect attachment.', 'http_code' => 400, 'description' => 'The error message returned because attachments are not supported in the specified region.'],
['code' => 'OperationUnsupported.CrossRegionNotSupport', 'message' => 'Operation Failed. Host region Id is not equal to access region Id, VPC or VBR not support cross region privatezone service.', 'http_code' => 400, 'description' => 'The host region ID is different from the service region ID. The VPC or VBR does not support PrivateZone across regions.'],
['code' => 'OperationUnsupported.CurrentCenNotSupportUpgradeToTr', 'message' => 'Basic Edition TR with cross-region connections cannot be upgraded to Enterprise Edition TR for internal accounts.', 'http_code' => 400, 'description' => 'Basic Edition TR with cross-region connections cannot be upgraded to Enterprise Edition TR for internal accounts.'],
['code' => 'OperationUnsupported.CurrentRegionOrAzNotSupportCenTr', 'message' => 'Operation failed because current region or az not support transit router.', 'http_code' => 400, 'description' => 'The error message returned because Enterprise Edition transit routers are not supported in the specified region and the upgrade failed.'],
['code' => 'OperationUnsupported.DisablePropagation', 'message' => 'The specified attachment or routeTable is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['code' => 'OperationUnsupported.dissociateRouteTable', 'message' => 'The specified attachment or routeTable is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['code' => 'OperationUnsupported.DstPortRange', 'message' => 'Current TR version does not support setting destination port range.', 'http_code' => 400, 'description' => 'Current TR version does not support setting destination port range.'],
['code' => 'OperationUnsupported.ECRAttachment', 'message' => 'ECR Attachment is not supported.', 'http_code' => 400, 'description' => 'ECR Attachment is not supported.'],
['code' => 'OperationUnsupported.EnablePropagation', 'message' => 'The specified attachment or routeTable is not supported by this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified attachment or route table.'],
['code' => 'OperationUnsupported.ExistsIgmpv2MemberOnEni', 'message' => 'An igmpv2 multicast source or multicast member already exists on the ENI.', 'http_code' => 400, 'description' => 'An igmpv2 multicast source or multicast member already exists on the ENI.'],
['code' => 'OperationUnsupported.Igmpv2Support', 'message' => 'The current UID does not allow the creation of a igmpv2 multicast domain. Please submit a ticket.', 'http_code' => 400, 'description' => 'The current UID does not allow the creation of a multicast domain of the igmpv2 type. Please submit a ticket.'],
['code' => 'OperationUnsupported.IPv6Cidr', 'message' => 'The traffic marking policy for current TR type does not support IPv6 CIDR.', 'http_code' => 400, 'description' => 'The flow classification rules in the flow marking policy of the basic version forwarding router do not support IPv6 network segments.'],
['code' => 'OperationUnsupported.ModifyTransitRouteTableAggregation', 'message' => 'ModifyTransitRouteTableAggregation is unsupported.', 'http_code' => 400, 'description' => 'ModifyTransitRouteTableAggregation is unsupported.'],
['code' => 'OperationUnsupported.NotAllowedDeleteIgmpv2Member', 'message' => 'You cannot delete a multicast source or multicast member of the igmpv2 type.', 'http_code' => 400, 'description' => 'You cannot delete a multicast source or member of the igmpv2 type.'],
['code' => 'OperationUnsupported.NotAllowedDisableIgmpv2Support', 'message' => 'The operation is not permitted because Igmpv2Support is not currently available to be disabled.', 'http_code' => 400, 'description' => 'The operation is not permitted because Igmpv2Support is not currently available to be disabled.'],
['code' => 'OperationUnsupported.RegionId', 'message' => 'The specified Region ID does not support the operation.', 'http_code' => 400, 'description' => 'The specified Region ID does not support the operation.'],
['code' => 'OperationUnsupported.RegionId', 'message' => 'The specified region ID is not supported.', 'http_code' => 400, 'description' => 'The specified region ID is not supported.'],
['code' => 'OperationUnsupported.RegionId', 'message' => 'The specified Region is not supported.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'OperationUnsupported.RegionId', 'message' => 'The specified RegionId does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'OperationUnsupported.ResourceExistInEcrRegion', 'message' => 'Upgrade Transit Router in current ECR instance region is unsupported.', 'http_code' => 400, 'description' => 'The ECR instance has sub-resources in the current region and cannot be added to the TR to be upgraded.'],
['code' => 'OperationUnsupported.RouteTablePropagationEnabled', 'message' => 'Connect attachment not support RouteTablePropagationEnabled.', 'http_code' => 400, 'description' => 'The error message returned because the connect attachment does not support route learning.'],
['code' => 'OperationUnsupported.ServiceMode', 'message' => 'The specified TransitRouter does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['code' => 'OperationUnsupported.ServiceMode', 'message' => 'The operation is not supported because of the wrong transitRouter service mode.', 'http_code' => 400, 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['code' => 'OperationUnsupported.ServiceMode', 'message' => 'The specified ServiceMode does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because the transit router mode does not support this operation.'],
['code' => 'OperationUnsupported.SrcPortRange', 'message' => 'Current TR version does not support setting source port range.', 'http_code' => 400, 'description' => 'Current TR version does not support setting source port range'],
['code' => 'OperationUnsupported.SupportMulticast', 'message' => 'The multicast is not supported in the specified region.', 'http_code' => 400, 'description' => 'The error message returned because multicast is not supported in the specified region.'],
['code' => 'OperationUnsupported.Tag', 'message' => 'The Tag is not supported in the specified region.', 'http_code' => 400, 'description' => 'The error message returned because transit routers in the current region do not support tags.'],
['code' => 'OperationUnsupported.TrafficQosPolicyExist', 'message' => 'Operation unsupported because traffic qos policy exists.', 'http_code' => 400, 'description' => 'The error message returned because the specified QoS policy already exists.'],
['code' => 'OperationUnsupported.TransitAttachment', 'message' => 'The specified TransitAttachment does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified transit router attachment (TransitAttachment).'],
['code' => 'OperationUnsupported.TransitRegionMappings', 'message' => 'The specified TransitRegionMappings does not support the operation.', 'http_code' => 400, 'description' => 'The specified TransitRegionMappings does not support the operation.'],
['code' => 'OperationUnsupported.TransitRegionMappings', 'message' => 'When both OriginalRegionId are CCN regions, you must specify TransitRegionId.', 'http_code' => 400, 'description' => 'When both OriginalRegionId are CCN regions, you must specify TransitRegionId.'],
['code' => 'OperationUnsupported.TransitRouterAttachment', 'message' => 'The specified TransitRouterAttachment has configured TransitRegion. Please remove the configuration first.', 'http_code' => 400, 'description' => 'The error message returned because bandwidth multiplexing is enabled. Disable bandwidth multiplexing and try again.'],
['code' => 'OperationUnsupported.TransitRouterCidr', 'message' => 'Transit region does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'OperationUnsupported.TransitRouterCidrList', 'message' => 'The TransitRouterCidrList is not support in the specified Region.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'OperationUnsupported.TransitRouterId', 'message' => 'TransitRouterId is unsupported.', 'http_code' => 400, 'description' => 'The error message returned because Basic Edition transit routers do not support the operation.'],
['code' => 'OperationUnsupported.TransitRouterStatus', 'message' => 'The specified TransitRouterStatus does not support the operation.', 'http_code' => 400, 'description' => 'The specified TransitRouterStatus does not support the operation.'],
['code' => 'OperationUnsupported.TransitRouterType', 'message' => 'The specified TransitRouterType does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['code' => 'OperationUnsupported.TransitRouterType', 'message' => 'The operation is not supported because of the wrong transitRouter type.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified type of transit router.'],
['code' => 'OperationUnsupported.VbrAttachment', 'message' => 'This region not support vbr attachment.', 'http_code' => 400, 'description' => 'The error message returned because VBR attachments are not supported in the specified region.'],
['code' => 'OperationUnsupported.VcoTunnelNotMatchZoneParam', 'message' => 'The tunnel type of the entered Vco does not match the Zone parameter.', 'http_code' => 400, 'description' => 'The tunnel type of the entered Vco does not match the Zone parameter.'],
['code' => 'OperationUnsupported.VpcRegion', 'message' => 'The specified Region is not support for this operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'OperationUnsupported.VpcRoutePropagationSource', 'message' => 'The operation on this VPC route propagation source is not supported.', 'http_code' => 400, 'description' => 'The operation on this VPC route propagation source is not supported.'],
['code' => 'OperationUnsupported.VpnAttachment', 'message' => 'The specified region does not support the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported in the specified region.'],
['code' => 'Order.AccountStatusIllegal', 'message' => 'Illegal account status for postpay service not opened for this account.', 'http_code' => 400, 'description' => 'Illegal account status for postpay service not opened for this account.'],
['code' => 'Order.Opened', 'message' => '您已开通本服务,请前往控制台使用。', 'http_code' => 400, 'description' => 'The error message returned because the service has been activated. You can log on to the console to manage it.'],
['code' => 'OverLappingExist.Cidr', 'message' => 'The cidr overlapping exist.', 'http_code' => 400, 'description' => 'The error message returned because CIDR overlapping is already enabled.'],
['code' => 'ParameterError', 'message' => 'The parameter is error.', 'http_code' => 400, 'description' => 'The error message returned because a parameter is invalid.'],
['code' => 'ParameterIllegal', 'message' => 'The parameter is illegal.', 'http_code' => 400, 'description' => 'The error message returned because a parameter is set to an invalid value.'],
['code' => 'ParameterIllegal.AccessRegionId', 'message' => 'Parameter Access RegionId illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified access region ID (AccessRegionId) is invalid.'],
['code' => 'ParameterIllegal.AccessRegionIdNoCCN', 'message' => 'Parameter Access RegionId illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified access region ID (AccessRegionId) is invalid.'],
['code' => 'ParameterIllegal.AccessRegionIdNoCCN', 'message' => 'Parameter Access RegionId is illegal.', 'http_code' => 400, 'description' => 'AccessRegionId is set to an invalid value.'],
['code' => 'ParameterIllegal.BandwidthPackage', 'message' => 'The parameter of bandwidth packaged is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth plan (BandwidthPackage) is invalid.'],
['code' => 'ParameterIllegal.BandwidthPackageDefaultLinkTypeOnlySupportGold', 'message' => 'Cen bandwidthPackage only support Gold.', 'http_code' => 400, 'description' => 'Cen bandwidthPackage only support Gold.'],
['code' => 'ParameterIllegal.BwpSpec', 'message' => 'The parameter of bandwidth package specification is illegal.', 'http_code' => 400, 'description' => 'The error message returned because the specified bandwidth plan specification is invalid.'],
['code' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportGold', 'message' => 'CDT only support Gold when both transitrouters for cross regional connections are not all enterprise version.', 'http_code' => 400, 'description' => 'CDT only support Gold when both transitrouters for cross regional connections are not all enterprise version.'],
['code' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportPlatinumOrGold', 'message' => 'DataTransfer only support Platinum and Gold.', 'http_code' => 400, 'description' => 'DataTransfer only support Platinum and Gold.'],
['code' => 'ParameterIllegal.CloudRouteHost', 'message' => 'Parameter Host is not valid.', 'http_code' => 400, 'description' => 'The error message returned because the specified cloud route host (CloudRouteHost) is invalid.'],
['code' => 'ParameterIllegal.ClouteRouteCidrNotAllow', 'message' => 'Parameter Host not in 100.64.0.0/10', 'http_code' => 400, 'description' => 'The error message returned because the specified cloud service CIDR block is invalid.'],
['code' => 'ParameterIllegal.ClouteRouteNotSupportIpv6', 'message' => 'Parameter Host not support IPv6', 'http_code' => 400, 'description' => 'The error message returned because the specified cloud service routes do not support IPv6.'],
['code' => 'ParameterIllegal.Host', 'message' => 'Parameter Host does not support domain.', 'http_code' => 400, 'description' => 'The error message returned because the specified host is invalid.'],
['code' => 'ParameterIllegal.Host', 'message' => 'The Parameter Host does not support domain.', 'http_code' => 400, 'description' => 'The Host parameter does not support domains.'],
['code' => 'ParameterIllegal.Ipv6CloudRouteCidrNotAllow', 'message' => 'Parameter Host not in valid ipv6 cidr.', 'http_code' => 400, 'description' => 'The error message returned because the specified cloud service routes do not support IPv6.'],
['code' => 'ParameterRegion', 'message' => 'The specified region does not exist.', 'http_code' => 404, 'description' => 'The error message returned because the specified region does not exist.'],
['code' => 'ParamExclusive.BandwidthTypeAndCenBandwidthPackageId', 'message' => 'DataTransfer and CenBandwidthPackageId is mutually exclusive.', 'http_code' => 400, 'description' => 'When the value of bandwidthType is DataTransfer, the CenBandwidthPackageId field cannot be set.'],
['code' => 'ParamExclusive.BasicAndMultiPrimary', 'message' => 'Basic and MultiPrimary is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because Basic Edition transit routers do not support the MultiPrimary mode.'],
['code' => 'ParamExclusive.BasicAndPrimaryStandby', 'message' => 'Basic and PrimaryStandby is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because Basic Edition transit routers do not support the PrimaryStandby mode.'],
['code' => 'ParamExclusive.NextHopTypeBlackHoleAndNextHopId', 'message' => 'TransitRouterRouteEntryNextHopType(BlackHole) and TransitRouterRouteEntryNextHopId is mutually exclusive.', 'http_code' => 400, 'description' => 'If you set Blackhole Route to Yes, do not specify a next hop.'],
['code' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'message' => 'RouteEntryId must be mutually exclusive with either TransitRouterRouteTableId or DestCidrBlock.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the route in the route table of the transit router conflicts with the ID of the route table and the destination CIDR block.'],
['code' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'message' => 'RouteEntryId must be mutually exclusive with either RouteTableId or DestCidrBlock.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the route conflicts with the ID of the route table and the destination CIDR block.'],
['code' => 'ParamExclusive.RouteEntryIdAndRouteTableIdOrDestCidrBlock', 'message' => 'RouteEntryId and TransitRouterRouteTableIdOrDestCidrBlock is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because the RouteEntryId, TransitRouterRouteTableId, or DestCidrBlock parameter conflicts with each other.'],
['code' => 'ParamExclusive.RouteEntryIdsAndStatus', 'message' => 'TransitRouterRouteEntryIds and TransitRouterRouteEntryStatus are mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because the ID of the route configured for the transit router conflicts with the status of the route.'],
['code' => 'ParamExclusive.RouteEntryIdsAndStatus', 'message' => 'TransitRouterRouteEntryIds and TransitRouterRouteEntryStatus is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because the TransitRouterRouteEntryIds and TransitRouterRouteEntryStatus parameters conflict with each other.'],
['code' => 'ParamExclusive.ServiceModeAndSupportMulticast', 'message' => 'ServiceMode and SupportMulticast is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because transit routers in the current mode do not support multicast.'],
['code' => 'ParamExclusive.ServiceModeAndTransitRouterCidrList', 'message' => 'ServiceMode and TransitRouterCidrList is mutually exclusive.', 'http_code' => 400, 'description' => 'The error message returned because transit routers in the current mode do not support CIDR blocks.'],
['code' => 'ParamExclusive.TransitRouterRouteEntryTypeAndOtherParam', 'message' => 'Other filter parameters cannot be specified when TransitRouterRouteEntryType is set to Static.', 'http_code' => 400, 'description' => 'The error message returned because no other filter conditions can be specified when TransitRouterRouteEntryType is set to Static.'],
['code' => 'PayFor.AccountMoneyValidateError', 'message' => '账号可用金额不足.', 'http_code' => 400, 'description' => 'The error message returned because your Alibaba Cloud account does not have a sufficient balance.'],
['code' => 'PayFor.AccountMoneyValidateError', 'message' => 'Your channel merchant quota is insufficient. Please contact the channel merchant.', 'http_code' => 500, 'description' => 'Your channel partner does not have sufficient quotas. Contact your channel partner.'],
['code' => 'PayFor.CreditPayInsufficientBalance', 'message' => '额度不足,请联系您的渠道合作伙伴提升额度。', 'http_code' => 400, 'description' => 'The error message returned because your Alibaba Cloud account does not have a sufficient balance. Contact your channel partner to top up your account balance.'],
['code' => 'ProjectExist', 'message' => 'Project already exist, please try a different project name.', 'http_code' => 400, 'description' => 'The log Project already exists, try a different Project name.'],
['code' => 'ProjectOrLogstoreNotExist', 'message' => 'The specified project or logstore does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified project or Logstore does not exist.'],
['code' => 'QuotaExceeded', 'message' => 'The quota of resource is full.', 'http_code' => 400, 'description' => 'The error message returned because the number of resources has reached the upper limit.'],
['code' => 'QuotaExceeded.AggregationRoute', 'message' => 'The aggregation route count is over limit.', 'http_code' => 400, 'description' => 'The error message returned because the number of aggregated routes has reached the upper limit.'],
['code' => 'QuotaExceeded.Bandwidth', 'message' => 'Bandwidth quota exceeded.', 'http_code' => 400, 'description' => 'Bandwidth quota exceeded.'],
['code' => 'QuotaExceeded.CenQuotaEcrAttachPerTransitRouter', 'message' => 'The maximum number of ECR attachment per Transit Router is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of ECR attachment per Transit Router is exceeded.'],
['code' => 'QuotaExceeded.CenQuotaVbrAttachPerTransitRouter', 'message' => 'The maximum number of VBR attachment per Transit Router is exceeded.', 'http_code' => 400, 'description' => 'The error message returned because specified number of VBRs to be attache to the transit router exceeds the upper limit. You can submit a ticket to request a quota increase.'],
['code' => 'QuotaExceeded.CenQuotaVpcAttachPerTransitRouter', 'message' => 'The maximum number of VPC attachment per Transit Router is exceeded.', 'http_code' => 400, 'description' => 'The error message returned because the specified number of VPCs to be attache to the transit router exceeds the upper limit.'],
['code' => 'QuotaExceeded.CenQuotaVpnAttachPerTransitRouter', 'message' => 'The maximum number of VPN attachment per Transit Router is exceeded.', 'http_code' => 400, 'description' => 'The error message returned because specified number of VPN attachments to the transit router exceeds the upper limit. You can submit a ticket to request a quota increase.'],
['code' => 'QuotaExceeded.FlowlogCount', 'message' => 'The maximum number of flow log instances is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of flow log instances is exceeded.'],
['code' => 'QuotaExceeded.FlowlogCount', 'message' => 'This user has reached the maximum instance number of flowlog.', 'http_code' => 400, 'description' => 'The error message returned because the number of flow logs has reached the upper limit.'],
['code' => 'QuotaExceeded.MulticastDomain', 'message' => 'The MulticastDomain quota is exceeded.', 'http_code' => 400, 'description' => 'The error message returned because the number of multicast domains has reached the upper limit. You cannot add more multicast domains.'],
['code' => 'QuotaExceeded.SourceAndMemberPerTransitRouter', 'message' => 'The number of multicast group members and sources has exceed the maximum value that can be created.', 'http_code' => 400, 'description' => 'The number of multicast group members and sources has exceed the maximum value that can be created.'],
['code' => 'QuotaExceeded.TagNum', 'message' => 'Custom Tags quota exceeded', 'http_code' => 400, 'description' => 'The error message returned because the number of tags has reached the upper limit.'],
['code' => 'QuotaExceeded.TrafficMatchRule', 'message' => 'The maximum number of TrafficMatchRule per Transit Router is exceeded.', 'http_code' => 400, 'description' => 'The number of flow classification rules supported by each forwarding router instance exceeds the limit. You can submit a work order to increase the quota.'],
['code' => 'QuotaExceeded.TransitRouterConnectPeer', 'message' => 'Transit Router connect peer quota exceeded.', 'http_code' => 400, 'description' => 'Create Connect Peer quota exceeded.'],
['code' => 'QuotaExceeded.TransitRouterRoutEntry', 'message' => 'The TransitRouterRoutEntry quota is exceeded.', 'http_code' => 400, 'description' => 'The error message returned because the number of routes configured for the transit router has reached the upper limit.'],
['code' => 'QuotaExceeded.TransitRouterRoutEntry', 'message' => 'TransitRouterRoutEntry quota exceeded.', 'http_code' => 400, 'description' => 'The error message returned because the number of routes has reached the upper limit.'],
['code' => 'QuotaExceeded.TransitRouterRoutTable', 'message' => 'TransitRouterRoutTable quota exceeded.', 'http_code' => 400, 'description' => 'The error message returned because the number of route tables has reached the upper limit.'],
['code' => 'QuotaExceeded.VpcAutoRoutesPublishPerTransitRouter', 'message' => 'The number of VPCs that have route synchronization enabled has reached the upper limit.', 'http_code' => 400, 'description' => 'The error message returned because the number of VPCs that have route synchronization enabled has reached the upper limit.'],
['code' => 'QuotaFull.ChildInstanceRelatedCen', 'message' => 'The childinstance has exceed the quota of the times that a childinstance can be attached as an attachment.', 'http_code' => 400, 'description' => 'The error message returned because the number of CEN instances to which the instance is attached has reached the upper limit. You cannot attach the instance to more CEN instances.'],
['code' => 'QuotaFull.MulticastDomainPerVpc', 'message' => 'The number of multicast domain that vpc associated has exceed the maximum value that can be associated.', 'http_code' => 400, 'description' => 'The number of multicast domain that vpc associated has exceed the maximum value that can be associated.'],
['code' => 'QuotaFull.MulticastGroupPerDomain', 'message' => 'The number of multicast group has exceed the maximum value that can be created.', 'http_code' => 400, 'description' => 'The error message returned because the number of multicast groups in the multicast domain has reached the upper limit.'],
['code' => 'QuotaFull.MulticastMemberPerGroup', 'message' => 'The number of multicast group member has exceed the maximum value that can be created.', 'http_code' => 400, 'description' => 'The error message returned because the number of multicast members in the multicast group has reached the upper limit.'],
['code' => 'QuotaFull.MulticastPeerMemberPerGroup', 'message' => 'The number of multicast group member peer domain has exceed the maximum value that can be created.', 'http_code' => 400, 'description' => 'The error message returned because the number of multicast members from another region in the multicast group has reached the upper limit.'],
['code' => 'QuotaFull.MulticastSourcePerGroup', 'message' => 'The number of multicast group source has exceed the maximum value that can be created.', 'http_code' => 400, 'description' => 'The error message returned because the number of multicast sources in the multicast group has reached the upper limit.'],
['code' => 'QuotaFull.VswitchPerMulticastDomain', 'message' => 'The number of vswitch associated with multicast domain has exceed the maximum value that can be created.', 'http_code' => 400, 'description' => 'The error message returned because the number of vSwitches associated with the multicast domain has reached the upper limit.'],
['code' => 'QuotaReached.Route', 'message' => 'The quota of the route table is not enough for the request prefix list.', 'http_code' => 400, 'description' => 'The error message returned because the number of routes has reached the upper limit.'],
['code' => 'Region.NotFound', 'message' => 'The region has not found', 'http_code' => 404, 'description' => 'The error message returned because the specified region does not exist.'],
['code' => 'RegionNotSupport.Prefixlist', 'message' => 'Prefixlist association are not supported in this region.', 'http_code' => 400, 'description' => 'The error message returned because the feature is not supported in the specified region.'],
['code' => 'ResourceConflict.Route', 'message' => 'Some of the prefixes of the prefix list are conflicted with exsited routes.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list conflicts with an existing route.'],
['code' => 'ResourceExisted.PrefixlistAssociation', 'message' => 'The prefix list has been already associated with this route table.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list is already associated with a route table.'],
['code' => 'ResourceMismatch.Nexthop', 'message' => 'The specified nexthop and nexthop type mismatched.', 'http_code' => 400, 'description' => 'The error message returned because the specified next hop or next hop type is invalid.'],
['code' => 'ResourceNotFound', 'message' => 'The resource does not found.', 'http_code' => 400, 'description' => 'The resource does not found.'],
['code' => 'ResourceNotFound.Nexthop', 'message' => 'The specified nexthop instance is not exsit.', 'http_code' => 400, 'description' => 'The error message returned because the specified next hop does not exist.'],
['code' => 'ResourceNotFound.PrefixList', 'message' => 'The specified prefixlist does not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list does not exist.'],
['code' => 'ResourceNotFound.PrefixlistAssociation', 'message' => 'The prefix list is not associated with this route table.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list is not associated with a route table.'],
['code' => 'ResourceNotFound.PrefixlistCidrs', 'message' => 'Can not find any cidr of specified prefix list.', 'http_code' => 400, 'description' => 'The error message returned because the specified prefix list does not contain a CIDR block.'],
['code' => 'ResourceNotFound.TransitRouterAttachment', 'message' => 'The specified TransitRouterAttachment does not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified transit router attachment (TransitRouterAttachment) does not exist.'],
['code' => 'ResourceNotSupport.CCN', 'message' => 'CCN not support prefix list.', 'http_code' => 400, 'description' => 'The error message returned because prefix lists are not supported by CCN instances.'],
['code' => 'ResourceNotSupport.Nexthop', 'message' => 'The specified nexthop instance type is not support for the operation.', 'http_code' => 400, 'description' => 'The error message returned because this operation is not supported by the specified next hop.'],
['code' => 'Risk.RiskControlRejection', 'message' => '为保护您的账户安全,下单被中止,详情请联系客服。', 'http_code' => 400, 'description' => 'The error message returned because the order is suspended due to security concerns. Contact customer service for details.'],
['code' => 'RouteConflict', 'message' => 'The specified route already exists.', 'http_code' => 400, 'description' => 'The specified route already exists.'],
['code' => 'RouteConflict', 'message' => 'The route has conflict with other route.', 'http_code' => 400, 'description' => 'The error message returned because two or more routes conflict with each other.'],
['code' => 'RuleExist', 'message' => 'The specified rule already exists.', 'http_code' => 400, 'description' => 'The specified rule already exists.'],
['code' => 'RuleExist', 'message' => 'The rule has already existed.', 'http_code' => 400, 'description' => 'The rule already exists.'],
['code' => 'SizeLimitExceeded.TagNum', 'message' => 'The maximum number of tags is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of tags is exceeded.'],
['code' => 'SourceProjectNotExist', 'message' => 'The specified source project or Logstore does not exist.', 'http_code' => 400, 'description' => 'The specified source project or Logstore does not exist.'],
['code' => 'SourceProjectNotExist', 'message' => 'The Source Project or logstore does not exist.', 'http_code' => 400, 'description' => 'The error message returned because the specified source project or Logstore does not exist.'],
['code' => 'SystemBusy', 'message' => 'The system is busy. Please try again later.', 'http_code' => 400, 'description' => 'The error message returned because the system is unavailable. Try again later.'],
['code' => 'Throttling', 'message' => 'Request was denied due to request throttling.', 'http_code' => 400, 'description' => 'The error message returned because this operation is performed at a high frequency. Try again later.'],
['code' => 'Throttling.User', 'message' => 'Request was denied due to user flow control.', 'http_code' => 400, 'description' => 'The error message returned because traffic throttling is triggered. Try again later.'],
['code' => 'TransitRouterRouteEntryNextHopId.NotFound', 'message' => 'TransitRouterRouteEntryNextHopId is not found.', 'http_code' => 400, 'description' => 'The error message returned because the specified next hop ID of the transit router does not exist.'],
['code' => 'Unauthorized', 'message' => 'The AccessKeyId is unauthorized.', 'http_code' => 400, 'description' => 'The error message returned because you do not have the permissions to perform this operation.'],
['code' => 'InstanceReferenced.VbrRouteEntry', 'message' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.', 'http_code' => 400, 'description' => 'Operation is failed because there is at least one route entry which next hop is the specified attachment.'],
['code' => 'Forbidden.CDTServiceExpired', 'message' => 'The CDT service is out of service.', 'http_code' => 400, 'description' => 'The cloud data transfer service has been suspended due for payment. Please renew the service and try again.'],
['code' => 'OperationNotAllowed.DefaultLinkTypeOnlySupportUnderlaySilver', 'message' => 'This user can only set the default link type to UnderlaySilver.', 'http_code' => 400, 'description' => 'This user can only set the default link type to UnderlaySilver.'],
['code' => 'ParameterIllegal.DefaultLinkTypeOnlySupportUnderlaySilver', 'message' => 'Cen bandwidthPackage only support UnderlaySilver.', 'http_code' => 400, 'description' => 'When the bandwidth allocation method is bandwidth package, the default link type supports only silver (UnderlaySilver)'],
['code' => 'ParameterIllegal.CdtDefaultLinkTypeOnlySupportUnderlaySilver', 'message' => 'CDT only support UnderlaySilver when both transitrouters for cross regional connections are not all enterprise version.', 'http_code' => 400, 'description' => 'CDT only support UnderlaySilver when both transitrouters for cross regional connections are not all enterprise version.'],
['code' => 'InvalidOperation.DeploymentSetsConflicts', 'message' => 'The Operation is invalid, due to the zone of the deployment set must belong to the vpc attachment.', 'http_code' => 400, 'description' => 'The Operation is invalid, due to the zone of the deployment set must belong to the vpc attachment.'],
['code' => 'MissingParameter.MinimumTransitRouterCapacity', 'message' => 'The parameter MinimumTransitRouterCapacity is mandatory.', 'http_code' => 400, 'description' => 'The parameter MinimumTransitRouterCapacity is mandatory.'],
['code' => 'InvalidOperation.DeploymentSetNotShared', 'message' => 'The operation is invalid, the deployment set is not shared.', 'http_code' => 400, 'description' => 'The operation is invalid, the deployment set is not shared.'],
['code' => 'InvalidOperation.TrCapacityReservationReservation', 'message' => 'Operation is invalid, due to the lack of permission for transit router capacity reservation.', 'http_code' => 400, 'description' => 'Operation is invalid, due to the lack of permission for transit router capacity reservation.'],
['code' => 'InvalidParameter.Ipv6Support', 'message' => 'The specified parameter Ipv6Support is invalid.', 'http_code' => 400, 'description' => 'The parameter Ipv6Support entered is illegal.'],
['code' => 'InvalidParameter.ApplianceModeSupport', 'message' => 'The specified parameter ApplianceModeSupport is invalid.', 'http_code' => 400, 'description' => 'The parameter ApplianceModeSupport entered is illegal.'],
['code' => 'INVALID_OPERATION_RESOURCE_NOT_SUPPORT_APPLIANCE_MODE', 'message' => 'Only VPC attachment support appliance mode.', 'http_code' => 400, 'description' => 'Only VPC attachment support appliance mode.'],
['code' => 'ParamExclusive.TransitRouterVPCAttachmentOptionsAndOptions', 'message' => 'When creating or modifying a VPC attachment, the input parameter TransitRouterVPCAttachmentOptions and Options cannot be used at the same time.', 'http_code' => 400, 'description' => 'When creating or modifying a VPC attachment, the input parameter TransitRouterVPCAttachmentOptions and Options cannot be used at the same time.'],
['code' => 'InvalidOperation.DeploymentSetStrategyNotSupport', 'message' => 'The operation is invalid, because the deployment set strategy is not supported.', 'http_code' => 400, 'description' => 'The operation is invalid, because the deployment set strategy is not supported.'],
['code' => 'InvalidOperation.CapacityDecreaseRequestLimitExceeded', 'message' => 'The operation is invalid, because you\'ve exceeded the daily capacity decrease limit for this reservation.', 'http_code' => 400, 'description' => 'The operation is invalid, because you\'ve exceeded the daily capacity decrease limit for this reservation.'],
['code' => 'IllegalParam.MinimumTransitRouterCapacity.DataProcessGBytes', 'message' => 'The parameter DataProcessGBytes is illegal.', 'http_code' => 400, 'description' => 'The parameter DataProcessGBytes is illegal.'],
['code' => 'MissingParam.MinimumTransitRouterCapacityOrDeploymentSets', 'message' => 'The input parameter MinimumTransitRouterCapacity or DeploymentSets that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter MinimumTransitRouterCapacity or DeploymentSets that is mandatory for processing this request is not supplied.'],
['code' => 'InvalidOperation.PriorRequestNotComplete', 'message' => 'This operation is invalid because a prior request has not been completed.', 'http_code' => 400, 'description' => 'This operation is invalid because a prior request has not been completed.'],
['code' => 'InvalidOperation.DeploymentSetIsEmpty', 'message' => 'The operation is invalid, due to the deployment set is empty.', 'http_code' => 400, 'description' => 'The operation is invalid, due to the deployment set is empty.'],
['code' => 'MissingParam.DeploymentSets', 'message' => 'The parameter DeploymentSets is mandatory.', 'http_code' => 400, 'description' => 'The parameter DeploymentSets is mandatory.'],
['code' => 'InvalidOperation.DeploymentSetNotExist', 'message' => 'The operation is invalid, because the deployment set is not supported.', 'http_code' => 400, 'description' => 'The operation is invalid, because the deployment set is not supported.'],
['code' => 'InvalidOperation.TrMultiDeploymentSets', 'message' => 'The operation is invalid because the transit router does not support multiple deployment sets.', 'http_code' => 400, 'description' => 'The operation is invalid because the transit router does not support multiple deployment sets.'],
['code' => 'InvalidOperation.TrDeploymentSet', 'message' => 'Operation is invalid, due to the lack of permission for transit router deployment.', 'http_code' => 400, 'description' => 'Operation is invalid, due to the lack of permission for transit router deployment.'],
['code' => 'OperationUnsupported.ModifyDeploymentSets', 'message' => 'The operation is invalid, because modifying the deployment set is not supported.', 'http_code' => 400, 'description' => 'The operation is invalid, because modifying the deployment set is not supported.'],
['code' => 'ParamExclusive.ResetAndMinimumTransitRouterCapacity', 'message' => 'ResetCapacityReservation and MinimumTransitRouterCapacity is mutually exclusive.', 'http_code' => 400, 'description' => 'ResetCapacityReservation and MinimumTransitRouterCapacity is mutually exclusive.'],
['code' => 'InvalidOperation.CapacityUnitsLimitExceeded', 'message' => 'You\'ve exceeded the capacity units limit.', 'http_code' => 400, 'description' => 'You\'ve exceeded the capacity units limit.'],
['code' => 'MissingParameter.InstanceId', 'message' => 'The parameter InstanceId is mandatory.', 'http_code' => 400, 'description' => 'The parameter InstanceId is mandatory.'],
['code' => 'MissingParameter.OrderType', 'message' => 'The parameter OrderType is mandatory.', 'http_code' => 400, 'description' => 'The parameter OrderType is mandatory.'],
['code' => 'InvalidParameter.OrderType', 'message' => 'The specified parameter OrderType is invalid.', 'http_code' => 400, 'description' => 'The specified parameter OrderType is invalid.'],
['code' => 'MissingParameter.CenId', 'message' => 'The parameter CenId is mandatory.', 'http_code' => 400, 'description' => 'The parameter CenId is mandatory.'],
['code' => 'InvalidOperation.OrderTypeMustMatchGrantCrossAccount', 'message' => 'The OrderType must be the same as the OrderType in the grant cross-account record.', 'http_code' => 400, 'description' => 'The OrderType must be the same as the OrderType in the grant cross-account record.'],
['code' => 'OperationFailed.GrantCrossAccountNotExist', 'message' => 'Cross-account authorization does not exist.', 'http_code' => 400, 'description' => 'Cross-account authorization does not exist.'],
['code' => 'OperationUnsupported.QosPolicyForLowLatencyLinkType', 'message' => 'QoS Policy is not supported for Low Latency LinkType.', 'http_code' => 400, 'description' => 'QoS Policy is not supported for Low Latency LinkType.'],
['code' => 'OperationFailed.ValidateVbrInstanceFailedForLowLatencyCircuit', 'message' => 'Operation failed when validate VBR instance for Low Latency Circuit.', 'http_code' => 400, 'description' => 'Failed to verify the loaded VBR instance when creating a low latency link.'],
['code' => 'Forbidden.CenOwnerTransitRouterServiceNotOpen', 'message' => 'The cen owner user has not opened transit router service.', 'http_code' => 400, 'description' => 'The transit router service for the cen owner\'s account is not currently opened. Please inform them to open the transit router service and then try again.'],
['code' => 'Forbidden.CenOwnerTransitRouterServiceExpired', 'message' => 'The transit router service of the account to which the cen belongs has been suspended due to arrears. Please notify the other party to renew the service and try again.', 'http_code' => 400, 'description' => 'The transit router service of the account to which the cen belongs has been suspended. Please notify the other party to renew the service and try again.'],
['code' => 'InstanceNotExist.TransitRouterPolicyTableAssociation', 'message' => 'The transit router policy table association does not exist.', 'http_code' => 400, 'description' => 'The transit router policy table association does not exist.'],
['code' => 'InstanceNotExist.PolicyTable', 'message' => 'The policy table does not exist.', 'http_code' => 400, 'description' => 'The policy table does not exist.'],
['code' => 'InstanceNotExist.PolicyBasedRoute', 'message' => 'The policy based route does not exist.', 'http_code' => 400, 'description' => 'The policy based route does not exist.'],
['code' => 'OperationUnsupported.RouteMap', 'message' => 'Operate RouteMap is not supported.', 'http_code' => 400, 'description' => 'Operate RouteMap is not supported.'],
['code' => 'InvalidOperation.RouteMapPriorityConflict', 'message' => 'Operation is invalid because the route map priority conflicts with existing maps.', 'http_code' => 400, 'description' => 'Operation is invalid because the route map priority conflicts with existing maps.'],
['code' => 'InstanceNotExist.RouteMapRule', 'message' => 'The RouteMap rule does not exist.', 'http_code' => 400, 'description' => 'The RouteMap rule does not exist.'],
['code' => 'IncorrectStatus.RouteMapRule', 'message' => 'RouteMap rule is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'RouteMap rule is not in a valid state for the operation.'],
['code' => 'InvalidOperation.UnsupportedRouteMapRule', 'message' => 'Operation is invalid because the route map rule contains unsupported configurations for associated instances.', 'http_code' => 400, 'description' => 'Operation is invalid because the route map rule contains unsupported configurations for associated instances.'],
['code' => 'QuotaExceeded.RouteMapRulePerEcr', 'message' => 'The maximum number of RouteMap Rule per ECR instance is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of RouteMap Rule per ECR instance is exceeded.'],
['code' => 'InvalidOperation.RouteMapCheckFailed', 'message' => 'Operation is invalid because the route map check failed.', 'http_code' => 400, 'description' => 'Operation is invalid because the route map check failed.'],
['code' => 'QuotaExceeded.RouteMapRule', 'message' => 'The maximum number of RouteMap rule is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of RouteMap rule is exceeded.'],
['code' => 'InvalidOperation.RouteMapRulePriorityConflict', 'message' => 'Operation is invalid because the route map rule priority conflicts with existing rules.', 'http_code' => 400, 'description' => 'Operation is invalid because the route map rule priority conflicts with existing rules.'],
['code' => 'InstanceNotExist.RouteMap', 'message' => 'The RouteMap does not exist.', 'http_code' => 400, 'description' => 'The routing policy does not exist.'],
['code' => 'InvalidOperation.RouteMapRuleExist', 'message' => 'Operation is invalid because the route map contains rules.', 'http_code' => 400, 'description' => 'Operation is invalid because the route map contains rules.'],
['code' => 'InvalidOperation.RouteMapAssociationExist', 'message' => 'Operation is invalid because the route map has active associations.', 'http_code' => 400, 'description' => 'Operation is invalid because the route map has active associations.'],
['code' => 'QuotaExceeded.RouteMap', 'message' => 'The maximum number of RouteMap is exceeded.', 'http_code' => 400, 'description' => 'The number of routing policies exceeds the limit.'],
['code' => 'IncorrectStatus.RouteMap', 'message' => 'RouteMap is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'RouteMap is not in a valid state for the operation.'],
['code' => 'OperationUnsupported.PolicyBasedRouting', 'message' => 'PolicyBasedRouting is unsupported.', 'http_code' => 400, 'description' => 'Policy-based routing is not supported.'],
['code' => 'ParamExclusive.AddressPrefixesIncludeAndAddressPrefixesMatch', 'message' => 'AddressPrefixesInclude and AddressPrefixesMatch are mutually exclusive.', 'http_code' => 400, 'description' => 'Parameter AddressPrefixesInclude and AddressPrefixesMatch are mutually exclusive.'],
['code' => 'InvalidParameter.Filter', 'message' => 'The specified Filter is invalid.', 'http_code' => 400, 'description' => 'The specified Filter is invalid.'],
['code' => 'InvalidParameter.RouteMapIds', 'message' => 'The specified RouteMapIds is invalid.', 'http_code' => 400, 'description' => 'The specified RouteMapIds is invalid.'],
['code' => 'InvalidParameter.Direction', 'message' => 'The specified direction is invalid.', 'http_code' => 400, 'description' => 'The specified direction is invalid.'],
['code' => 'InvalidParameter.Priority', 'message' => 'The specified priority is invalid.', 'http_code' => 400, 'description' => 'The specified priority is invalid.'],
['code' => 'InstanceExist.PolicyTableAssociation', 'message' => 'Policy Table Association still exist.', 'http_code' => 400, 'description' => 'Policy Table Association still exist.'],
['code' => 'InstanceExist.PolicyBasedRoute', 'message' => 'Policy Based Route still exist.', 'http_code' => 400, 'description' => 'Policy Based Route still exist.'],
['code' => 'IncorrectStatus.PolicyTable', 'message' => 'PolicyTable is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'PolicyTable is not in a valid state for the operation. Please try again later.'],
['code' => 'QuotaExceeded.PolicyTableNumberPerTransitRouter', 'message' => 'The maximum number of policy tables per transit router has been exceeded.', 'http_code' => 400, 'description' => 'The maximum number of policy tables per transit router has been exceeded.'],
['code' => 'InvalidParameter.MatchConditions.AsPathsMatch', 'message' => 'The specified parameter "MatchConditions.AsPathsMatch" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.AsPathsMatch" is invalid.'],
['code' => 'InvalidParameter.SetActions.AsPathPrepend', 'message' => 'The specified parameter "SetActions.AsPathPrepend" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "SetActions.AsPathPrepend" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.AddressPrefixesInclude', 'message' => 'The specified parameter "MatchConditions.AddressPrefixesInclude" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.AddressPrefixesInclude" is invalid.'],
['code' => 'InvalidParameter.RouteMapRuleIds', 'message' => 'The specified parameter "RouteMapRuleIds" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "RouteMapRuleIds" is invalid.'],
['code' => 'InvalidParameter.SetActions.AsPathReplace', 'message' => 'The specified parameter "SetActions.AsPathReplace" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "SetActions.AsPathReplace" is invalid.'],
['code' => 'ParamExclusive.AsPathPrependAndAsPathReplace', 'message' => 'Parameter AsPathPrepend And AsPathReplace are mutually exclusive.', 'http_code' => 400, 'description' => 'Parameter AsPathPrepend And AsPathReplace are mutually exclusive.'],
['code' => 'InvalidParameter.SetActions.CommunityReplace', 'message' => 'The specified parameter "SetActions.CommunityReplace" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "SetActions.CommunityReplace" is invalid.'],
['code' => 'InvalidParameter.SetActions.CommunityAdd', 'message' => 'The specified parameter "SetActions.CommunityAdd" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "SetActions.CommunityAdd" is invalid.'],
['code' => 'ParamExclusive.CommunitySetMatchAndCommunitySetInclude', 'message' => 'Parameter CommunitySetMatch And CommunitySetInclude are mutually exclusive.', 'http_code' => 400, 'description' => 'Parameter CommunitySetMatch And CommunitySetInclude are mutually exclusive.'],
['code' => 'InvalidParameter.MatchConditions.AddressPrefixesMatch', 'message' => 'The specified parameter "MatchConditions.AddressPrefixesMatch" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.AddressPrefixesMatch" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.CommunitySetMatch', 'message' => 'The specified parameter "MatchConditions.CommunitySetMatch" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.CommunitySetMatch" is invalid.'],
['code' => 'InvalidParameter.SetActions.NextPriority', 'message' => 'The specified parameter "SetActions.NextPriority" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "SetActions.NextPriority" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.SourceInstanceTypes', 'message' => 'The specified parameter "MatchConditions.SourceInstanceTypes" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.SourceInstanceTypes" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.AsPathsInclude', 'message' => 'The specified parameter "MatchConditions.AsPathsInclude" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.AsPathsInclude" is invalid.'],
['code' => 'ParamExclusive.CommunityAddAndCommunityReplace', 'message' => 'Parameter CommunityAdd And CommunityReplace are mutually exclusive.', 'http_code' => 400, 'description' => 'Parameter CommunityAdd And CommunityReplace are mutually exclusive.'],
['code' => 'MissingParameter.RouteMapId', 'message' => 'The parameter RouteMapId is mandatory.', 'http_code' => 400, 'description' => 'The parameter RouteMapId is mandatory.'],
['code' => 'InvalidParameter.MatchConditions.RouteTypes', 'message' => 'The specified parameter "MatchConditions.RouteTypes" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.RouteTypes" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.DestinationInstanceTypes', 'message' => 'The specified parameter "MatchConditions.DestinationInstanceTypes" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.DestinationInstanceTypes" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.MatchAddressType', 'message' => 'The specified parameter "MatchConditions.MatchAddressType" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.MatchAddressType" is invalid.'],
['code' => 'InvalidParameter.SetActions.RouteAction', 'message' => 'The specified parameter "SetActions.RouteAction" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "SetActions.RouteAction" is invalid.'],
['code' => 'InvalidParameter.MatchConditions.CommunitySetInclude', 'message' => 'The specified parameter "MatchConditions.CommunitySetInclude" is invalid.', 'http_code' => 400, 'description' => 'The specified parameter "MatchConditions.CommunitySetInclude" is invalid.'],
['code' => 'MissingParameter.RouteMapIdOrRouteMapRuleIds', 'message' => 'The input parameter "RouteMapId" or "RouteMapRuleIds" that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter "RouteMapId" or "RouteMapRuleIds" that is mandatory for processing this request is not supplied.'],
['code' => 'ParamExclusive.AsPathsMatchAndAsPathsInclude', 'message' => 'Parameter AsPathsMatch And AsPathsInclude are mutually exclusive.', 'http_code' => 400, 'description' => 'Parameter AsPathsMatch And AsPathsInclude are mutually exclusive.'],
['code' => 'IncorrectStatus.TransitRouterPolicyTableAssociation', 'message' => 'Policy table association is not in a valid state for the operation.', 'http_code' => 400, 'description' => 'Policy routing table association status is invalid.'],
['code' => 'OperationFailed.CanNotGrantVbrInstanceToCen', 'message' => 'Grant VBR instance to CEN is not supported for current VBR owner account.', 'http_code' => 400, 'description' => 'Grant VBR instance to CEN is not supported for current VBR owner account.'],
['code' => 'Forbidden.AttachChildInstanceAcrossBid', 'message' => 'Operation is not supported for current account.', 'http_code' => 400, 'description' => 'Operation is not supported for current account.'],
['code' => 'ParamMismatch.BandwidthGuaranteeModeAndQueueSchedulingMode', 'message' => 'The parameters BandwidthGuaranteeMode and QueueSchedulingMode are incompatible.', 'http_code' => 400, 'description' => 'The parameters BandwidthGuaranteeMode and QueueSchedulingMode are incompatible.'],
['code' => 'InvalidOperation.NotSupportLinkType', 'message' => 'The operation is invalid because the specified queue link type is not supported.', 'http_code' => 400, 'description' => 'The operation is invalid because the specified queue link type is not supported.'],
['code' => 'ParamMismatch.QueueSchedulingModeAndBandwidth', 'message' => 'The parameters QueueSchedulingMode and Bandwidth are incompatible.', 'http_code' => 400, 'description' => 'The parameters QueueSchedulingMode and Bandwidth are incompatible.'],
['code' => 'InvalidOperation.NotSupportHierarchicalQoS', 'message' => 'The operation is invalid because the transit router does not support HierarchicalQoS.', 'http_code' => 400, 'description' => 'The operation is invalid because the transit router does not support HierarchicalQoS.'],
['code' => 'InvalidOperation.DefaultQueueOnlySupportSetLinkType', 'message' => 'The operation is invalid because only the LinkType can be configured for the default queue in HierarchicalQoS.', 'http_code' => 400, 'description' => 'The operation is invalid because only the LinkType can be configured for the default queue in HierarchicalQoS.'],
['code' => 'OperationFailed.NotSupportDeleteDefaultQueue', 'message' => 'The operation failed because deleting the default QoS queue is not supported.', 'http_code' => 400, 'description' => 'The operation failed because deleting the default QoS queue is not supported.'],
['code' => 'ParamMismatch.QueueSchedulingModeAndLinkType', 'message' => 'The parameters QueueSchedulingMode and LinkType are incompatible.', 'http_code' => 400, 'description' => 'The parameters QueueSchedulingMode and LinkType are incompatible.'],
['code' => 'InvalidOperation.QueueLinkTypeNotEqualsAttachmentLinkType', 'message' => 'The operation is invalid because the link type of an existing QoS queue does not match the link type of the attachment.', 'http_code' => 400, 'description' => 'The operation is invalid because the link type of an existing QoS queue does not match the link type of the attachment.'],
['code' => 'InvalidOperation.TransitRouterNotSupportHierarchicalQoS', 'message' => 'The operation is invalid because the transit router does not support HierarchicalQoS.', 'http_code' => 400, 'description' => 'The operation is invalid because the transit router does not support HierarchicalQoS.'],
['code' => 'ParamMismatch.QueueSchedulingModeAndQueueType', 'message' => 'The parameters QueueSchedulingMode and QueueType are incompatible.', 'http_code' => 400, 'description' => 'The parameters QueueSchedulingMode and QueueType are incompatible.'],
['code' => 'ParamMismatch.QueueTypeAndBandwidthPercent', 'message' => 'The parameters QueueType and BandwidthPercent are incompatible.', 'http_code' => 400, 'description' => 'The parameters QueueType and BandwidthPercent are incompatible.'],
['code' => 'InvalidOperation.PriorityQueueExceeded', 'message' => 'The operation is invalid because HierarchicalQoS supports only one priority queue.', 'http_code' => 400, 'description' => 'The operation is invalid because HierarchicalQoS supports only one priority queue.'],
['code' => 'InvalidOperation.QueuesExceeded', 'message' => 'The operation is invalid because the maximum queue quota for HierarchicalQoS has been exceeded.', 'http_code' => 400, 'description' => 'The operation is invalid because the maximum queue quota for HierarchicalQoS has been exceeded.'],
['code' => 'InvalidOperation.SetFlatQueueLinkType', 'message' => 'The operation is invalid because the FlatQueuing QoS does not support setting the LinkType.', 'http_code' => 400, 'description' => 'The operation is invalid because the FlatQueuing QoS does not support setting the LinkType.'],
['code' => 'IllegalParam.QueueType', 'message' => 'The parameter QueueType is illegal.', 'http_code' => 400, 'description' => 'The parameter QueueType is illegal.'],
['code' => 'IllegalParam.QueueSchedulingMode', 'message' => 'The parameter QueueSchedulingMode is illegal.', 'http_code' => 400, 'description' => 'The parameter QueueSchedulingMode is illegal.'],
['code' => 'OperationFailed.ZoneNotSupportJumbo', 'message' => 'The following zones do not support Jumbo Frame: %s.', 'http_code' => 400, 'description' => 'Failed to enable jumbo frames. Zone %s used by the current transit router does not support jumbo frames.'],
['code' => 'OperationFailed.TransitRouterNotSupportJumbo', 'message' => 'This transit router does not support Jumbo Frame in available zones: %s. Please contact Alibaba Cloud support for assistance.', 'http_code' => 400, 'description' => 'The transit router does not support jumbo frames in zone %s. Contact Alibaba Cloud for support.'],
['code' => 'InvalidParameter.TagValue', 'message' => 'The specified parameter TagValue is invalid.', 'http_code' => 400, 'description' => 'The input parameter Tag Value is invalid.'],
],
'changeSet' => [
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2025-03-27T03:47:47.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DetachCenChildInstance'],
],
'createdAt' => '2025-03-21T08:01:18.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2025-03-21T06:11:38.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2025-03-18T07:43:41.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'RevokeInstanceFromTransitRouter'],
],
'createdAt' => '2025-03-18T07:16:22.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'TempUpgradeCenBandwidthPackageSpec'],
],
'createdAt' => '2025-03-14T09:02:44.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'TempUpgradeCenBandwidthPackageSpec'],
],
'createdAt' => '2025-03-13T11:56:11.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'OpenTransitRouterService'],
],
'createdAt' => '2025-03-04T07:01:32.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DetachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
['description' => 'Error codes changed', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
],
'createdAt' => '2025-02-28T05:07:34.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouteTableAggregation'],
['description' => 'Response parameters changed', 'api' => 'DescribeTransitRouteTableAggregation'],
],
'createdAt' => '2025-02-27T01:22:58.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPrefixListAssociation'],
],
'createdAt' => '2025-02-18T09:46:57.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCen'],
],
'createdAt' => '2025-02-17T03:39:40.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterEcrAttachment'],
['description' => 'Error codes changed', 'api' => 'DisableTransitRouterRouteTablePropagation'],
['description' => 'Error codes changed', 'api' => 'DissociateTransitRouterAttachmentFromRouteTable'],
['description' => 'Error codes changed', 'api' => 'ResolveAndRouteServiceInCen'],
],
'createdAt' => '2025-01-23T10:34:20.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateTransitRouteTableAggregation'],
],
'createdAt' => '2025-01-17T07:57:36.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterMulticastDomain'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterMulticastDomains'],
['description' => 'Request parameters changed', 'api' => 'ModifyTransitRouterMulticastDomain'],
],
'createdAt' => '2025-01-06T03:37:17.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2025-01-02T10:04:52.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2024-12-10T09:03:24.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Error codes changed', 'api' => 'CreateFlowlog'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterCidr'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouteTableAggregation'],
['description' => 'Error codes changed', 'api' => 'ModifyCenRouteMap'],
['description' => 'Error codes changed', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
['description' => 'Error codes changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'createdAt' => '2024-12-06T11:09:52.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
],
'createdAt' => '2024-12-04T07:56:05.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DescribeCenRegionDomainRouteEntries'],
],
'createdAt' => '2024-12-03T08:43:42.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterMulticastDomain'],
],
'createdAt' => '2024-12-02T11:50:35.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'GrantInstanceToTransitRouter'],
],
'createdAt' => '2024-11-28T09:11:20.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
],
'createdAt' => '2024-11-22T02:32:01.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DeactiveFlowLog'],
['description' => 'Request parameters changed', 'api' => 'DeleteFlowlog'],
['description' => 'Request parameters changed', 'api' => 'ModifyFlowLogAttribute'],
],
'createdAt' => '2024-11-14T07:06:07.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'ActiveFlowLog'],
['description' => 'Request parameters changed', 'api' => 'CreateFlowlog'],
['description' => 'Request parameters changed', 'api' => 'DeactiveFlowLog'],
['description' => 'Request parameters changed', 'api' => 'DeleteFlowlog'],
['description' => 'Request parameters changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Request parameters changed', 'api' => 'ModifyFlowLogAttribute'],
],
'createdAt' => '2024-11-14T03:49:33.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CheckTransitRouterService'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouter'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterEcrAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'GrantInstanceToTransitRouter'],
],
'createdAt' => '2024-10-28T08:57:38.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeCenChildInstanceRouteEntries'],
],
'createdAt' => '2024-10-25T02:45:19.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ResolveAndRouteServiceInCen'],
],
'createdAt' => '2024-10-24T09:33:08.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
],
'createdAt' => '2024-10-21T11:54:24.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterMulticastDomain'],
],
'createdAt' => '2024-10-17T03:20:43.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateTransitRouterMulticastDomain'],
['description' => 'Error codes changed', 'api' => 'DeregisterTransitRouterMulticastGroupMembers'],
['description' => 'Error codes changed', 'api' => 'DeregisterTransitRouterMulticastGroupSources'],
['description' => 'Error codes changed', 'api' => 'ModifyTransitRouterMulticastDomain'],
['description' => 'Error codes changed', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
['description' => 'Error codes changed', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
],
'createdAt' => '2024-09-25T06:33:12.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Response parameters changed', 'api' => 'DescribeCenRouteMaps'],
['description' => 'Request parameters changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2024-09-18T04:13:12.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
],
'createdAt' => '2024-09-18T03:32:18.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Response parameters changed', 'api' => 'DescribeCenRouteMaps'],
['description' => 'Request parameters changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2024-09-10T08:14:17.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Request parameters changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Request parameters changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Response parameters changed', 'api' => 'DescribeCenRouteMaps'],
['description' => 'Request parameters changed', 'api' => 'DescribeGrantRulesToCen'],
['description' => 'Request parameters changed', 'api' => 'ListGrantVSwitchesToCen'],
['description' => 'Response parameters changed', 'api' => 'ListTrafficMarkingPolicies'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
['description' => 'Request parameters changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2024-09-10T02:53:40.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
['description' => 'Request parameters changed', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
['description' => 'Response parameters changed', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListCenInterRegionTrafficQosQueues'],
['description' => 'Request parameters changed', 'api' => 'UpdateCenInterRegionTrafficQosQueueAttribute'],
],
'createdAt' => '2024-08-28T06:29:26.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'AssociateTransitRouterMulticastDomain'],
['description' => 'Request parameters changed', 'api' => 'DisassociateTransitRouterMulticastDomain'],
],
'createdAt' => '2024-08-22T03:58:35.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'DeleteCenRouteMap'],
['description' => 'Error codes changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'createdAt' => '2024-08-20T06:45:52.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
['description' => 'Error codes changed', 'api' => 'ListCenInterRegionTrafficQosQueues'],
['description' => 'Error codes changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
['description' => 'Error codes changed', 'api' => 'UpdateCenInterRegionTrafficQosQueueAttribute'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2024-08-16T03:39:43.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CheckTransitRouterService'],
],
'createdAt' => '2024-08-06T09:37:11.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenBandwidthPackage'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterCidr'],
],
'createdAt' => '2024-07-26T06:57:46.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'CheckTransitRouterService'],
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouter'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterEcrAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterRouteEntry'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteCen'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterRouteEntry'],
],
'createdAt' => '2024-07-10T08:04:50.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DescribeGrantRulesToCen'],
['description' => 'Error codes changed', 'api' => 'DescribeGrantRulesToResource'],
],
'createdAt' => '2024-07-08T03:28:05.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateFlowlog'],
],
'createdAt' => '2024-07-02T09:06:44.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterEcrAttachment'],
],
'createdAt' => '2024-07-01T08:32:00.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
],
'createdAt' => '2024-06-11T03:26:51.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ListTransitRouterPeerAttachments'],
],
'createdAt' => '2024-06-06T13:55:22.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ActiveFlowLog'],
['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateFlowlog'],
['description' => 'Error codes changed', 'api' => 'DeactiveFlowLog'],
['description' => 'Error codes changed', 'api' => 'DeleteFlowlog'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Error codes changed', 'api' => 'ModifyFlowLogAttribute'],
],
'createdAt' => '2024-05-22T01:49:17.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateCenBandwidthPackage'],
['description' => 'Error codes changed', 'api' => 'CreateCenBandwidthPackage'],
['description' => 'Response parameters changed', 'api' => 'DescribeCenInterRegionBandwidthLimits'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
],
'createdAt' => '2024-05-17T03:08:59.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
],
'createdAt' => '2024-05-17T02:31:21.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterRouteEntry'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
['description' => 'Error codes changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterVpcAttachmentAttribute'],
],
'createdAt' => '2024-04-19T07:36:08.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'createdAt' => '2024-03-15T06:43:57.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
],
'createdAt' => '2024-03-13T07:51:46.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DescribeCenGeographicSpans'],
['description' => 'Error codes changed', 'api' => 'DescribeGeographicRegionMembership'],
],
'createdAt' => '2024-02-20T02:38:58.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DeleteTransitRouterVbrAttachment'],
],
'createdAt' => '2024-02-02T07:46:33.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
],
'createdAt' => '2024-01-26T08:46:44.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterCidr'],
['description' => 'Response parameters changed', 'api' => 'DeleteTransitRouteTableAggregation'],
],
'createdAt' => '2024-01-18T06:30:17.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPeerAttachment'],
],
'createdAt' => '2024-01-11T12:33:28.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
],
'createdAt' => '2024-01-10T03:22:48.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'EnableCenVbrHealthCheck'],
],
'createdAt' => '2024-01-04T05:42:12.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DescribeCenChildInstanceRouteEntries'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeGrantRulesToCen'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeGrantRulesToResource'],
['description' => 'Request parameters changed', 'api' => 'GrantInstanceToTransitRouter'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVbrAttachments'],
['description' => 'Request parameters changed', 'api' => 'RevokeInstanceFromTransitRouter'],
],
'createdAt' => '2023-12-26T02:48:55.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
],
'createdAt' => '2023-12-20T02:59:13.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeCenVbrHealthCheck'],
],
'createdAt' => '2023-12-13T03:37:55.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenBandwidthPackage'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
],
'createdAt' => '2023-12-13T03:37:37.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
['description' => 'Error codes changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Error codes changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Error codes changed', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
['description' => 'Error codes changed', 'api' => 'ListCenInterRegionTrafficQosQueues'],
['description' => 'Error codes changed', 'api' => 'ListTrafficMarkingPolicies'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterRouteEntries'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterRouteTables'],
['description' => 'Error codes changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2023-12-13T02:46:46.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
],
'createdAt' => '2023-12-07T11:40:34.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2023-12-06T02:27:56.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPrefixListAssociation'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterAvailableResource'],
['description' => 'Error codes changed', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
],
'createdAt' => '2023-11-22T03:26:13.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2023-11-03T02:57:56.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouter'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVbrAttachments'],
],
'createdAt' => '2023-10-20T01:48:06.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2023-10-18T11:43:48.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DescribeRouteConflict'],
],
'createdAt' => '2023-10-18T03:03:50.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterRouteEntry'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterRouteTable'],
['description' => 'Response parameters changed', 'api' => 'DeleteTransitRouterRouteEntry'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterRouteTables'],
],
'createdAt' => '2023-10-18T02:16:25.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouters'],
],
'createdAt' => '2023-10-18T02:09:25.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2023-10-18T01:14:56.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTrafficMarkingPolicies'],
['description' => 'Response parameters changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'createdAt' => '2023-09-08T07:01:12.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVbrAttachment'],
],
'createdAt' => '2023-09-08T01:55:52.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DescribeChildInstanceRegions'],
],
'createdAt' => '2023-09-08T01:53:43.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteCen'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToCen'],
['description' => 'Error codes changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterVpcAttachmentZones'],
],
'createdAt' => '2023-09-08T01:51:59.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'DescribeTransitRouteTableAggregation'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterCidrAllocation'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterMulticastDomainAssociations'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterMulticastDomains'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterMulticastDomainVSwitches'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterMulticastGroups'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterRouteTableAssociations'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterRouteTablePropagations'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterVbrAttachments'],
],
'createdAt' => '2023-08-04T05:59:17.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DetachCenChildInstance'],
],
'createdAt' => '2023-08-04T05:35:28.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'ListGrantVSwitchEnis'],
],
'createdAt' => '2023-08-03T15:27:04.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DeleteTransitRouterPeerAttachment'],
],
'createdAt' => '2023-07-31T06:04:10.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterMulticastDomains'],
],
'createdAt' => '2023-07-13T05:39:27.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2023-07-12T17:49:47.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenBandwidthPackage'],
],
'createdAt' => '2023-07-12T16:23:45.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2023-07-07T03:30:53.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DescribeCenInterRegionBandwidthLimits'],
],
'createdAt' => '2023-07-07T02:55:01.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2023-07-07T01:59:29.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeTransitRouteTableAggregationDetail'],
['description' => 'Response parameters changed', 'api' => 'ListGrantVSwitchesToCen'],
],
'createdAt' => '2023-07-07T00:34:51.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterRouteEntry'],
],
'createdAt' => '2023-06-13T08:36:16.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DescribeGrantRulesToCen'],
],
'createdAt' => '2023-05-05T02:28:56.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeCenAttachedChildInstanceAttribute'],
],
'createdAt' => '2023-04-27T09:44:13.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Response parameters changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2023-04-04T03:46:40.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'EnableCenVbrHealthCheck'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterVpcAttachmentZones'],
],
'createdAt' => '2023-03-27T03:26:49.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterVbrAttachments'],
['description' => 'Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
['description' => 'Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterVpnAttachments'],
],
'createdAt' => '2023-03-24T08:25:54.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2023-03-24T08:25:19.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed, Response parameters changed, Response parameters changed', 'api' => 'DescribeCenBandwidthPackages'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeCens'],
],
'createdAt' => '2023-03-24T08:24:59.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'EnableCenVbrHealthCheck'],
],
'createdAt' => '2023-03-24T08:23:51.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateTransitRouterCidr'],
['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTrafficMarkingPolicies'],
['description' => 'Response parameters changed, Response parameters changed', 'api' => 'ListTransitRouterAvailableResource'],
['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterRouteTables'],
],
'createdAt' => '2023-03-24T08:23:44.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteCen'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DeleteTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouteTableAggregation'],
['description' => 'Error codes changed', 'api' => 'RefreshTransitRouteTableAggregation'],
],
'createdAt' => '2023-03-24T08:23:08.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterVpcAttachmentZones'],
],
'createdAt' => '2023-03-24T08:22:29.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
],
'createdAt' => '2023-03-24T08:22:04.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouteTableAggregation'],
],
'createdAt' => '2023-03-24T08:21:38.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DetachCenChildInstance'],
],
'createdAt' => '2023-03-24T08:20:50.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DescribeTransitRouteTableAggregation'],
],
'createdAt' => '2023-03-24T08:20:36.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterRouteTable'],
['description' => 'Response parameters changed', 'api' => 'DeleteTransitRouterVbrAttachment'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterRouteTables'],
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterRouteTable'],
],
'createdAt' => '2023-01-10T14:20:14.000Z',
'description' => 'Update ListTransitRouterRouteTables Add Response param RouteTableOptions.Update UpdateTransitRouterRouteTable Add input param RouteTableOptions.Update CreateTransitRouterRouteTable Add input param RouteTableOptions.',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouters'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'createdAt' => '2023-01-09T07:00:47.000Z',
'description' => 'UpdateTrafficMarkingPolicyAttribute/ListTransitRouters/DescribeFlowlogs增加入参和返回值',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'AddTraficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Request parameters changed', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
],
'createdAt' => '2023-01-09T03:29:02.000Z',
'description' => '增加错误码映射。',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterRouteTableAssociations'],
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterRouteTablePropagations'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
],
'createdAt' => '2023-01-06T10:51:16.000Z',
'description' => '部分api增加输入输出参数,相关Api如下:ListTransitRouterVpcAttachments 新增输入参数: OrderType:网络实例的付费方 Status:网络实例的加载状态 新增输出参数: OrderType:网络实例的付费方ListTransitRouterRouteTableAssociations 新增输入参数: TransitRouterAttachmentResourceId:下一跳资源ID TransitRouterAttachmentResourceType:下一跳资源类型 Status:关联转发的状态 新增输出参数: 无ListTransitRouterRouteTablePropagations 新增输入参数: TransitRouterAttachmentResourceId:下一跳资源ID TransitRouterAttachmentResourceType:下一跳资源类型 Status:路由学习关系状态 新增输出参数: 无',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterRouteTable'],
],
'createdAt' => '2023-01-04T13:10:31.000Z',
'description' => '支持标签策略强制打标。',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterAttachmentWithRouteTable'],
['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateTransitRouterRouteEntry'],
['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteTransitRouterRouteEntry'],
['description' => 'Error codes changed, Response parameters changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'DisableTransitRouterRouteTablePropagation'],
['description' => 'Error codes changed', 'api' => 'DissociateTransitRouterAttachmentFromRouteTable'],
['description' => 'Error codes changed', 'api' => 'EnableTransitRouterRouteTablePropagation'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterCidr'],
],
'createdAt' => '2023-01-04T12:45:32.000Z',
'description' => '增加错误码映射。',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterVpnAttachment'],
],
'createdAt' => '2023-01-04T12:15:29.000Z',
'description' => '支持标签策略强制打标',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'CreateFlowlog'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouter'],
['description' => 'Response parameters changed', 'api' => 'CreateTransitRouterMulticastDomain'],
],
'createdAt' => '2023-01-04T02:25:05.000Z',
'description' => '支持标签策略',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateCenBandwidthPackage'],
['description' => 'Error codes changed', 'api' => 'CreateCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouter'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpnAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
],
'createdAt' => '2022-12-22T08:10:58.000Z',
'description' => '增加错误码映射',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterAttachmentWithRouteTable'],
['description' => 'Error codes changed', 'api' => 'CreateCen'],
['description' => 'Error codes changed', 'api' => 'DeleteCen'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToCen'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouter'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterCidr'],
['description' => 'Error codes changed', 'api' => 'DescribeCenBandwidthPackages'],
['description' => 'Error codes changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Error codes changed', 'api' => 'EnableCenVbrHealthCheck'],
['description' => 'Error codes changed', 'api' => 'ListTrafficMarkingPolicies'],
],
'createdAt' => '2022-12-16T07:49:07.000Z',
'description' => '增加错误码映射。',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterMulticastDomain'],
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'CreateCenChildInstanceRouteEntryToCen'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed', 'api' => 'DeleteCenInterRegionTrafficQosQueue'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterRouteEntry'],
['description' => 'Error codes changed', 'api' => 'DisableTransitRouterRouteTablePropagation'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Error codes changed', 'api' => 'SetCenInterRegionBandwidthLimit'],
],
'createdAt' => '2022-12-16T06:22:05.000Z',
'description' => '增加错误码映射。',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouter'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterMulticastDomain'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPrefixListAssociation'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterRouteTable'],
['description' => 'Error codes changed', 'api' => 'DescribeCenChildInstanceRouteEntries'],
['description' => 'Error codes changed', 'api' => 'EnableTransitRouterRouteTablePropagation'],
['description' => 'Error codes changed', 'api' => 'OpenTransitRouterService'],
],
'createdAt' => '2022-12-16T03:32:45.000Z',
'description' => '增加错误码映射',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpnAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterCidr'],
['description' => 'Error codes changed', 'api' => 'GrantInstanceToTransitRouter'],
],
'createdAt' => '2022-12-07T07:06:45.000Z',
'description' => '增加错误码映射',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ListTransitRouterRouteEntries'],
],
'createdAt' => '2022-12-05T12:07:00.000Z',
'description' => '增加错误码映射',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
['description' => 'Error codes changed, Request parameters changed, Response parameters changed', 'api' => 'ListTrafficMarkingPolicies'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterMulticastDomains'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterMulticastGroups'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'ListTransitRouters'],
['description' => 'Error codes changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
],
'createdAt' => '2022-12-02T03:59:14.000Z',
'description' => 'List接口新增筛选项和返回值',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateTransitRouterMulticastDomain'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterCidr'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVbrAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'GrantInstanceToTransitRouter'],
['description' => 'Error codes changed', 'api' => 'OpenTransitRouterService'],
],
'createdAt' => '2022-12-02T03:32:28.000Z',
'description' => '配置错误码映射',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterVbrAttachment'],
['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterVpnAttachment'],
['description' => 'Request parameters changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterMulticastGroups'],
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
],
'createdAt' => '2022-12-01T17:10:59.000Z',
'description' => 'Update API DescribeFlowlogs Add param TransitRouterAttachmentId.Update API DeleteTransitRouterConnectPeer Add ErrorCode.Update API ListTransitRouterVpcAttachments Add param VpcId.New API ListCenChildInstanceRouteEntriesToAttachment.New API ListTransitRouterAttachmentPropagations.Update API ListTransitRouterMulticastGroups param TransitRouterMulticastDomainId Required false.Update API DeleteTransitRouterConnectAttachment Add param Force.Update API DeleteTransitRouterVpcAttachment Add param Force.Update API DeleteTransitRouterVpnAttachment Add param Force.Update API DeleteTransitRouterVbrAttachmentAdd param Force.',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterCidr'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'DetachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'ModifyCenBandwidthPackageSpec'],
['description' => 'Error codes changed', 'api' => 'OpenTransitRouterService'],
],
'createdAt' => '2022-11-30T08:46:42.000Z',
'description' => '补充错误码映射',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterCidr'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpnAttachments'],
],
'createdAt' => '2022-11-24T14:08:45.000Z',
'description' => 'ListTransitRouterVpnAttachment添加ChargeType出参;ListTransitRouterCidr添加TransitRouterId出参;',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouter'],
],
'createdAt' => '2022-11-23T06:14:42.000Z',
'description' => 'TR支持cidr',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateFlowlog'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouter'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterMulticastDomain'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterRouteTable'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeFlowlogs'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterMulticastDomains'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterRouteTables'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouters'],
],
'createdAt' => '2022-11-22T09:00:19.000Z',
'description' => '增加tag参数',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateCen'],
['description' => 'Request parameters changed', 'api' => 'CreateCenBandwidthPackage'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterVpnAttachment'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'ListTagResources'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterVbrAttachments'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
],
'createdAt' => '2022-11-21T13:07:57.000Z',
'description' => '增加tag参数',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouter'],
['description' => 'Error codes changed', 'api' => 'DeleteCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed', 'api' => 'DetachCenChildInstance'],
],
'createdAt' => '2022-11-21T07:58:45.000Z',
'description' => '配置错误码',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVbrAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpnAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'DisableTransitRouterRouteTablePropagation'],
['description' => 'Error codes changed', 'api' => 'DissociateTransitRouterAttachmentFromRouteTable'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterPeerAttachments'],
],
'createdAt' => '2022-11-21T06:23:28.000Z',
'description' => '增加错误码映射',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterMulticastGroups'],
],
'createdAt' => '2022-11-18T02:57:04.000Z',
'description' => 'ListTransitRouterMulitcastGroups',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateFlowlog'],
['description' => 'Error codes changed', 'api' => 'ReplaceTransitRouterRouteTableAssociation'],
],
'createdAt' => '2022-11-17T10:11:27.000Z',
'description' => '增加错误码',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'TagResources'],
],
'createdAt' => '2022-11-17T08:38:31.000Z',
'description' => 'tag发布',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateCenBandwidthPackage'],
['description' => 'Response parameters changed', 'api' => 'DescribeCenBandwidthPackages'],
['description' => 'Request parameters changed', 'api' => 'ModifyCenBandwidthPackageSpec'],
],
'createdAt' => '2022-11-17T07:00:39.000Z',
'description' => '带宽包链路类型功能暂时关闭',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AssociateCenBandwidthPackage'],
],
'createdAt' => '2022-11-16T07:26:25.000Z',
'description' => '设置审计',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'UntagResources'],
],
'createdAt' => '2022-11-16T02:52:15.000Z',
'description' => 'tag',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterPrefixListAssociation'],
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterRouteTableAssociations'],
],
'createdAt' => '2022-10-27T15:46:55.000Z',
'description' => '修改ListTransitRouterPrefixListAssociation接口支持NextHop和NextHopType参数过滤修改ListTransitRouterRouteTableAssociations接口TransitRouterRouteTableId参数为非必填',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpnAttachments'],
],
'createdAt' => '2022-10-21T15:38:45.000Z',
'description' => 'TR C02 API私有发布',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterVpcAttachmentAttribute'],
],
'createdAt' => '2022-10-19T15:53:04.000Z',
'description' => 'Update CreateTransitRouterVpcAttachment param AutoPublishRouteEnabled private.Update UpdateTransitRouterVpcAttachmentAttribute param AutoPublishRouteEnabled private.Update ListTransitRouterVpcAttachments response param AutoPublishRouteEnabled private.',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'CreateTransitRouterVpnAttachment'],
['description' => 'OpenAPI offline', 'api' => 'DeleteTransitRouterVpnAttachment'],
['description' => 'OpenAPI offline', 'api' => 'ListTransitRouterVpnAttachments'],
['description' => 'OpenAPI offline', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
],
'createdAt' => '2022-10-17T02:12:17.000Z',
'description' => 'TR支持vpn attachment',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
],
'createdAt' => '2022-10-17T02:12:15.000Z',
'description' => 'TR支持vpn attachment',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DeleteCenRouteMap'],
],
'createdAt' => '2022-09-30T09:30:13.000Z',
'description' => '增加错误码',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeGrantRulesToCen'],
],
'createdAt' => '2022-09-23T10:29:18.000Z',
'description' => '增加返回CenOwnerId',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterPrefixListAssociation'],
],
'createdAt' => '2022-09-23T07:46:31.000Z',
'description' => 'ListTransitRouterPrefixListAssociation add a response param.',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'DescribeGrantRulesToResource'],
],
'createdAt' => '2022-09-22T15:44:58.000Z',
'description' => '1. DescribeGrantRulesToCen接口增加可选的分页能力2. 新增VPC视角的DescribeGrantRulesToResource跨账号授权展示接口',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterMulticastDomainAssociations'],
['description' => 'Request parameters changed', 'api' => 'ListTransitRouterMulticastDomains'],
],
'createdAt' => '2022-09-20T11:29:04.000Z',
'description' => 'ListTransitRouterMulticastDomains和ListTransitRouterMulticastDomainAssociations下线Dryrun参数',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCenChildInstanceRouteEntryToCen'],
['description' => 'Error codes changed', 'api' => 'CreateCenChildInstanceRouteEntryToCen'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToCen'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToCen'],
],
'createdAt' => '2022-09-16T06:01:26.000Z',
'description' => '配置记录返回值开关',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterAvailableResource'],
],
'createdAt' => '2022-08-31T06:46:51.000Z',
'description' => 'ListTransitRouterAvailableResource增加就近访问的资源列表',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterPrefixListAssociation'],
['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
],
'createdAt' => '2022-08-26T07:57:21.000Z',
'description' => 'update param docRequried',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
],
'createdAt' => '2022-08-26T07:16:49.000Z',
'description' => 'Change param \'NextHopType\' visibility to Public for DeleteTransitRouterPrefixListAssociation .',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateTransitRouterPrefixListAssociation'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
],
'createdAt' => '2022-08-25T10:07:20.000Z',
'description' => 'CreateTransitRouterPrefixListAssociation--NextHopType 改为非必填--OnwerUid 改为非必填(关联跨账号的prefixlist是,必填)--增加了错误码DeleteTransitRouterPrefixListAssociation--NextHopType 改为非必填--增加了错误码',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
['description' => 'Request parameters changed', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
],
'createdAt' => '2022-08-17T07:05:55.000Z',
'description' => '',
],
[
'apis' => [
['description' => 'Response parameters changed', 'api' => 'DescribeCenRouteMaps'],
],
'createdAt' => '2022-08-05T03:28:43.000Z',
'description' => 'DescribeCenRouteMaps接口返回值新增MatchAddressType字段。',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'DeleteTransitRouterVpnAttachment'],
],
'createdAt' => '2022-07-26T12:22:46.000Z',
'description' => 'Vpn Attachment API更新',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateCenRouteMap'],
['description' => 'Request parameters changed', 'api' => 'ModifyCenRouteMap'],
],
'createdAt' => '2022-07-19T03:21:36.000Z',
'description' => 'RouteMap增加MatchAddressTypeMatch条件,取值为IPv4/IPv6,默认不指定匹配所有路由。',
],
[
'apis' => [
['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
],
'createdAt' => '2022-07-04T09:20:59.000Z',
'description' => '更新UpdateTransitRouterVpnAttachment',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpnAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpnAttachment'],
['description' => 'Error codes changed', 'api' => 'ListTransitRouterVpnAttachments'],
],
'createdAt' => '2022-07-01T18:01:10.000Z',
'description' => '错误码映射',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'EnableCenVpcFlowStatistic'],
],
'createdAt' => '2022-06-08T06:46:01.000Z',
'description' => '修改开启基础版CEN VPC流量统计功能接口参数类型',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'DescribeCenVpcFlowStatisticSwitch'],
['description' => 'OpenAPI offline', 'api' => 'DisableCenVpcFlowStatistic'],
['description' => 'OpenAPI offline', 'api' => 'EnableCenVpcFlowStatistic'],
],
'createdAt' => '2022-06-08T04:01:04.000Z',
'description' => '支持基础版CEN VPC流量统计功能',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
],
'createdAt' => '2022-04-29T07:04:50.000Z',
'description' => 'OpenAPI发布新接口AddTrafficMatchRuleToTrafficMarkingPolicy,和AddTraficMatchRuleToTrafficMarkingPolicy接口功能一致,仅对名称进行更正,建议后续开发使用新接口。',
],
[
'apis' => [
['description' => 'OpenAPI offline', 'api' => 'ListTransitRouterMulticastDomainVSwitches'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
],
'createdAt' => '2022-04-29T02:13:47.000Z',
'description' => '- Update multicast domain apis.',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterVbrAttachmentAttribute'],
],
'createdAt' => '2022-04-26T06:54:51.000Z',
'description' => '设置UpdateTransitRouterVbrAttachmentAttribute API中AutoPublishRouteEnabled参数对外全部可见',
],
[
'apis' => [
['description' => 'Request parameters changed, Response parameters changed, Error codes changed', 'api' => 'DescribeCenRouteMaps'],
],
'createdAt' => '2022-04-21T04:05:45.000Z',
'description' => '查询路由策略支持路由表粒度',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'CreateCen'],
],
'createdAt' => '2022-02-28T07:28:55.000Z',
'description' => 'CreateCen的Action参数修改为必填',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'CreateTransitRouterVpcAttachment'],
['description' => 'Error codes changed', 'api' => 'EnableCenVbrHealthCheck'],
],
'createdAt' => '2021-12-31T10:04:49.000Z',
'description' => '增加错误码映射',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ListTransitRouters'],
['description' => 'Response parameters changed', 'api' => 'ListTransitRouterVpcAttachments'],
],
'createdAt' => '2021-12-31T03:27:50.000Z',
'description' => 'tr 支持多az',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'ListGrantVSwitchesToCen'],
],
'createdAt' => '2021-12-22T02:33:49.000Z',
'description' => '支持Darabonba',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTraficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'OpenTransitRouterService'],
['description' => 'Error codes changed', 'api' => 'RemoveTraficMatchRuleFromTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'ResolveAndRouteServiceInCen'],
['description' => 'Error codes changed', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
['description' => 'Error codes changed', 'api' => 'UpdateTransitRouterVpcAttachmentAttribute'],
],
'createdAt' => '2021-12-16T10:21:04.000Z',
'description' => '增加部分接口的错误码映射',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AttachCenChildInstance'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterPeerAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteTransitRouterVpcAttachment'],
['description' => 'Error codes changed, Request parameters changed', 'api' => 'DetachCenChildInstance'],
],
'createdAt' => '2021-12-15T03:35:15.000Z',
'description' => '增加部分接口的错误码展示',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'CreateTransitRouterPeerAttachment'],
['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListTransitRouterPeerAttachments'],
['description' => 'Request parameters changed', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
],
'createdAt' => '2021-12-14T04:01:24.000Z',
'description' => '跨地域PeerAttachment 支持CDT付费方式。',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'DescribeCenInterRegionBandwidthLimits'],
],
'createdAt' => '2021-12-07T15:35:36.000Z',
'description' => 'DescribeCenInterRegionBandwidthLimits入参Action更新为必填参数',
],
[
'apis' => [
['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeCenVbrHealthCheck'],
['description' => 'Request parameters changed', 'api' => 'EnableCenVbrHealthCheck'],
],
'createdAt' => '2021-12-01T09:28:43.000Z',
'description' => '配置健康检查接口增加参数,支持VBR健康检查失败时不联动切换路由到备份冗余链路。',
],
[
'apis' => [
['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeGrantRulesToCen'],
],
'createdAt' => '2021-12-01T09:27:42.000Z',
'description' => '增加Attachment分账能力',
],
[
'apis' => [
['description' => 'Error codes changed', 'api' => 'AddTraficMatchRuleToTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed', 'api' => 'CreateTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'DeleteCenChildInstanceRouteEntryToAttachment'],
['description' => 'Error codes changed', 'api' => 'DeleteCenInterRegionTrafficQosPolicy'],
['description' => 'Error codes changed', 'api' => 'DeleteCenInterRegionTrafficQosQueue'],
['description' => 'Error codes changed', 'api' => 'DeleteTrafficMarkingPolicy'],
['description' => 'Error codes changed', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
],
'createdAt' => '2021-11-26T10:15:28.000Z',
'description' => '增加隐藏接口',
],
[
'apis' => [
['description' => 'Request parameters changed', 'api' => 'TagResources'],
],
'createdAt' => '2021-09-28T06:42:04.000Z',
'description' => '修改参数的文档必填属性',
],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterPeerAttachment'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterPrefixListAssociation'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenPrivateZoneRoutes'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastDomains'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouteTableAggregation'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterVpcAttachment'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVbrAttachmentAttribute'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenVbrHealthCheck'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVpcAttachmentZones'],
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenChildInstanceRouteEntryToCen'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenInterRegionBandwidthLimits'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTransitRouteTableAggregation'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouteTableAggregation'],
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterVbrAttachments'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenInterRegionTrafficQosPolicy'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCenInterRegionTrafficQosPolicies'],
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenRouteMap'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddTrafficMatchRuleToTrafficMarkingPolicy'],
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouter'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGrantVSwitchesToCen'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTrafficMarkingPolicyAttribute'],
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterEcrAttachments'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenRegionDomainRouteEntries'],
['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastDomainVSwitches'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenBandwidthPackageSpec'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCenChildInstanceRouteEntries'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenChildInstanceRouteEntryToAttachment'],
['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenBandwidthPackages'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterCidrAllocation'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCenInterRegionTrafficQosQueueAttribute'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterVpnAttachment'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateCenBandwidthPackage'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastDomainAssociations'],
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'UpdateTransitRouterEcrAttachmentAttribute'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterRouteTable'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFlowLogAttribute'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGrantRulesToResource'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGrantVSwitchEnis'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenBandwidthPackageAttribute'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveTraficMatchRuleFromTrafficMarkingPolicy'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshTransitRouteTableAggregation'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterCidr'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableCenVbrHealthCheck'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UnroutePrivateZoneInCenToVpc'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenGeographicSpans'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCens'],
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterVpcAttachments'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterMulticastGroups'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnassociateCenBandwidthPackage'],
['threshold' => '180', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeChildInstanceRegions'],
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterAvailableResource'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyTransitRouterCidr'],
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'CreateTransitRouterVbrAttachment'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterRouteEntry'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetCenInterRegionBandwidthLimit'],
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRouteServicesInCen'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterPeerAttachments'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterTransitRouterMulticastGroupMembers'],
['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRouteConflict'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterCidr'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CheckTransitRouterService'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVpcAttachmentAttribute'],
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCenRouteMap'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddTraficMatchRuleToTrafficMarkingPolicy'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'DeleteTransitRouterEcrAttachment'],
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GrantInstanceToTransitRouter'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCenInterRegionTrafficQosPolicyAttribute'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFlowlog'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterVpnAttachmentAttribute'],
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouter'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterMulticastDomain'],
['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ResolveAndRouteServiceInCen'],
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouter'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterVpnAttachment'],
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterPeerAttachment'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeGrantRulesToCen'],
['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePublishedRouteEntries'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeTransitRouteTableAggregationDetail'],
['threshold' => '50', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCenChildInstanceRouteEntriesToAttachment'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTables'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterMulticastDomain'],
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenChildInstanceRouteEntryToCen'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListCenInterRegionTrafficQosQueues'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCen'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCen'],
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'EnableTransitRouterRouteTablePropagation'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteEntries'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterVpcAttachment'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableTransitRouterRouteTablePropagation'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFlowlogs'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeactiveFlowLog'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeregisterTransitRouterMulticastGroupSources'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ActiveFlowLog'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCenInterRegionTrafficQosQueue'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DetachCenChildInstance'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyTransitRouterMulticastDomain'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateTransitRouterAttachmentWithRouteTable'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DissociateTransitRouterAttachmentFromRouteTable'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteCenBandwidthPackage'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGeographicRegionMembership'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AssociateTransitRouterMulticastDomain'],
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RevokeInstanceFromTransitRouter'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRouteServiceInCen'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenInterRegionTrafficQosQueue'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTablePropagations'],
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'CreateTransitRouterEcrAttachment'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenRouteMaps'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisassociateTransitRouterMulticastDomain'],
['threshold' => '20', 'countWindow' => 5, 'regionId' => '*', 'api' => 'DeleteTransitRouterVbrAttachment'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteTransitRouterCidr'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTrafficMarkingPolicy'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouterRouteTable'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishRouteEntries'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCenBandwidthPackage'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterRouteEntry'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'WithdrawPublishedRouteEntries'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTransitRouterPrefixListAssociation'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateTransitRouterPeerAttachmentAttribute'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteTransitRouterPrefixListAssociation'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyTrafficMatchRuleToTrafficMarkingPolicy'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFlowlog'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RoutePrivateZoneInCenToVpc'],
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableCenVbrHealthCheck'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateTrafficMarkingPolicy'],
['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ReplaceTransitRouterRouteTableAssociation'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenTransitRouterService'],
['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouters'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AttachCenChildInstance'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenInterRegionTrafficQosPolicy'],
['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateCenRouteMap'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyTransitRouteTableAggregation'],
['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy'],
['threshold' => '5', 'countWindow' => 3600, 'regionId' => '*', 'api' => 'TempUpgradeCenBandwidthPackageSpec'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTrafficMarkingPolicies'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyCenAttribute'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTransitRouterRouteTableAssociations'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RegisterTransitRouterMulticastGroupSources'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateTransitRouterRouteEntry'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCenChildInstanceRouteEntryToAttachment'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenAttachedChildInstances'],
['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTransitRouterVpnAttachments'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenAttachedChildInstanceAttribute'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeregisterTransitRouterMulticastGroupMembers'],
['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeCenGeographicSpanRemainingBandwidth'],
['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateTransitRouterRouteTable'],
],
'product' => ['code' => 'cbn', 'title' => 'Cbn'],
],
'ram' => [
'productCode' => 'CEN',
'productName' => 'Cloud Enterprise Network',
'ramCodes' => ['cen'],
'ramLevel' => 'RESOURCE',
'ramConditions' => [],
'ramActions' => [
[
'apiName' => 'ModifyTransitRouteTableAggregation',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:ModifyTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListCenInterRegionTrafficQosQueues',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListCenInterRegionTrafficQosQueues',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'TempUpgradeCenBandwidthPackageSpec',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:TempUpgradeCenBandwidthPackageSpec',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
[
'apiName' => 'ModifyCenRouteMap',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenRouteMap',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterRouteTable',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
[
'apiName' => 'RegisterTransitRouterMulticastGroupSources',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:RegisterTransitRouterMulticastGroupSources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'ListTransitRouterMulticastDomainAssociations',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastDomainAssociations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'ListCenChildInstanceRouteEntriesToAttachment',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListCenChildInstanceRouteEntriesToAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DescribeRouteConflict',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeRouteConflict',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
[
'apiName' => 'RevokeInstanceFromTransitRouter',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:RevokeInstanceFromTransitRouter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateTransitRouterVbrAttachment',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterVbrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
[
'apiName' => 'DescribeGrantRulesToCen',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeGrantRulesToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DetachCenChildInstance',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DetachCenChildInstance',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
[
'apiName' => 'ListTransitRouterMulticastDomainVSwitches',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastDomainVSwitches',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterRouteTable',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/*'],
],
],
],
[
'apiName' => 'AssociateCenBandwidthPackage',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AssociateCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'ModifyTrafficMatchRuleToTrafficMarkingPolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyTrafficMatchRuleToTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribePublishedRouteEntries',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribePublishedRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
[
'apiName' => 'PublishRouteEntries',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:PublishRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
[
'apiName' => 'AttachCenChildInstance',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:AttachCenChildInstance',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
[
'apiName' => 'AssociateTransitRouterMulticastDomain',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:AssociateTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'ModifyTransitRouterCidr',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'CreateCenInterRegionTrafficQosQueue',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenInterRegionTrafficQosQueue',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyTransitRouterMulticastDomain',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#TransitRouterMulticastDomainId}'],
],
],
],
[
'apiName' => 'CreateCenInterRegionTrafficQosPolicy',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenInterRegionTrafficQosPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteCenBandwidthPackage',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
[
'apiName' => 'ListTransitRouterVpcAttachments',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterVpcAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DeleteRouteServiceInCen',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteRouteServiceInCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'RegisterTransitRouterMulticastGroupMembers',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:RegisterTransitRouterMulticastGroupMembers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'CheckTransitRouterService',
'description' => '',
'operationType' => 'none',
'ramAction' => [
'action' => 'cen:CheckTransitRouterService',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteCen',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DescribeCenBandwidthPackages',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenBandwidthPackages',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/*'],
],
],
],
[
'apiName' => 'MoveResourceGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:MoveResourceGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouterVbrAttachmentAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVbrAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DisableCenVbrHealthCheck',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DisableCenVbrHealthCheck',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
],
],
],
[
'apiName' => 'DeleteTrafficMarkingPolicy',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouterEcrAttachmentAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterEcrAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
],
],
],
[
'apiName' => 'UpdateTrafficMarkingPolicyAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTrafficMarkingPolicyAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
[
'apiName' => 'DisableTransitRouterRouteTablePropagation',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DisableTransitRouterRouteTablePropagation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'ListTransitRouterPrefixListAssociation',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterPrefixListAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouteTableAggregation',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteTransitRouterEcrAttachment',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterEcrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
],
],
],
[
'apiName' => 'ListTransitRouterCidr',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'ListTransitRouterPeerAttachments',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterPeerAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'ListTransitRouterCidrAllocation',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterCidrAllocation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'DescribeCenAttachedChildInstances',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenAttachedChildInstances',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DescribeFlowlogs',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeFlowlogs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/*'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'],
],
],
],
[
'apiName' => 'ListTransitRouterVbrAttachments',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterVbrAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'ListTransitRouterRouteEntries',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#centransitrouterroutentryId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/*'],
],
],
],
[
'apiName' => 'ModifyGrantInstanceToTransitRouter',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyGrantInstanceToTransitRouter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListTransitRouterMulticastDomains',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastDomains',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/*'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'RoutePrivateZoneInCenToVpc',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:RoutePrivateZoneInCenToVpc',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouter',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouter',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterPeerAttachment',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterPeerAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
[
'apiName' => 'ListTransitRouterRouteTableAssociations',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteTableAssociations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
],
],
],
[
'apiName' => 'CreateTransitRouter',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouter',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/*'],
],
],
],
[
'apiName' => 'DeleteCenInterRegionTrafficQosQueue',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenInterRegionTrafficQosQueue',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
[
'apiName' => 'DescribeGrantRulesToResource',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeGrantRulesToResource',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#VpcId}'],
],
],
],
[
'apiName' => 'CreateTransitRouteTableAggregation',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListCenInterRegionTrafficQosPolicies',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListCenInterRegionTrafficQosPolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeregisterTransitRouterMulticastGroupMembers',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeregisterTransitRouterMulticastGroupMembers',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'RefreshTransitRouteTableAggregation',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:RefreshTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListTrafficMarkingPolicies',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTrafficMarkingPolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UpdateTransitRouterVpnAttachmentAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVpnAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterVbrAttachment',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterVbrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DisassociateTransitRouterMulticastDomain',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DisassociateTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'EnableCenVbrHealthCheck',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:EnableCenVbrHealthCheck',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
],
],
],
[
'apiName' => 'DescribeCenRegionDomainRouteEntries',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenRegionDomainRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterVpcAttachment',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterVpcAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
[
'apiName' => 'SetCenInterRegionBandwidthLimit',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:SetCenInterRegionBandwidthLimit',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterCidr',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'ListTransitRouterRouteTablePropagations',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteTablePropagations',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountid}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterRouteEntry',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterRouteEntry',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#centransitrouterroutentryId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#transitrouterroutetableId}'],
],
],
],
[
'apiName' => 'UnassociateCenBandwidthPackage',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:UnassociateCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'RemoveTrafficMatchRuleFromTrafficMarkingPolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:RemoveTrafficMatchRuleFromTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteCenChildInstanceRouteEntryToCen',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenChildInstanceRouteEntryToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateCenChildInstanceRouteEntryToAttachment',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenChildInstanceRouteEntryToAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeleteFlowlog',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteFlowlog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
[
'apiName' => 'WithdrawPublishedRouteEntries',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:WithdrawPublishedRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
],
],
],
[
'apiName' => 'ListTransitRouters',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouters',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'DescribeTransitRouteTableAggregationDetail',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeTransitRouteTableAggregationDetail',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeCenGeographicSpanRemainingBandwidth',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenGeographicSpanRemainingBandwidth',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouterVpcAttachmentZones',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVpcAttachmentZones',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'UpdateCenInterRegionTrafficQosPolicyAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateCenInterRegionTrafficQosPolicyAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'GrantInstanceToTransitRouter',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:GrantInstanceToTransitRouter',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateTrafficMarkingPolicy',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteTransitRouterPrefixListAssociation',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterPrefixListAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'AddTraficMatchRuleToTrafficMarkingPolicy',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AddTraficMatchRuleToTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ListTransitRouterEcrAttachments',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterEcrAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
],
],
],
[
'apiName' => 'RemoveTraficMatchRuleFromTrafficMarkingPolicy',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:RemoveTraficMatchRuleFromTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UntagResources',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UntagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'TagResources',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:TagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UnroutePrivateZoneInCenToVpc',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:UnroutePrivateZoneInCenToVpc',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeregisterTransitRouterMulticastGroupSources',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeregisterTransitRouterMulticastGroupSources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterVpnAttachment',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterVpnAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterRouteEntry',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterRouteEntry',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
[
'apiName' => 'CreateCenRouteMap',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenRouteMap',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'ModifyFlowLogAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyFlowLogAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
[
'apiName' => 'ModifyCenBandwidthPackageSpec',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenBandwidthPackageSpec',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
[
'apiName' => 'DescribeCenRouteMaps',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenRouteMaps',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DescribeCenAttachedChildInstanceAttribute',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenAttachedChildInstanceAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'ListTransitRouterMulticastGroups',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterMulticastGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouterVpcAttachmentAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterVpcAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'ListGrantVSwitchEnis',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListGrantVSwitchEnis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterEcrAttachment',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterEcrAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
],
],
],
[
'apiName' => 'ResolveAndRouteServiceInCen',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:ResolveAndRouteServiceInCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterPeerAttachment',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterPeerAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterVpnAttachment',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterVpnAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DescribeCenPrivateZoneRoutes',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenPrivateZoneRoutes',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeleteCenRouteMap',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenRouteMap',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'ReplaceTransitRouterRouteTableAssociation',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ReplaceTransitRouterRouteTableAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DissociateTransitRouterAttachmentFromRouteTable',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DissociateTransitRouterAttachmentFromRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'OpenTransitRouterService',
'description' => '',
'operationType' => 'none',
'ramAction' => [
'action' => 'cen:OpenTransitRouterService',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyCenBandwidthPackageAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenBandwidthPackageAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
],
],
],
[
'apiName' => 'ListTransitRouterRouteTables',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTransitRouterRouteTables',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'ListTagResources',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListTagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DeleteCenChildInstanceRouteEntryToAttachment',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenChildInstanceRouteEntryToAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DescribeCenVbrHealthCheck',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenVbrHealthCheck',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateCen',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
],
],
],
[
'apiName' => 'EnableTransitRouterRouteTablePropagation',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:EnableTransitRouterRouteTablePropagation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'ListTransitRouterVpnAttachments',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'cen:ListTransitRouterVpnAttachments',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterVpcAttachment',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterVpcAttachment',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'ListGrantVSwitchesToCen',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:ListGrantVSwitchesToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteCenInterRegionTrafficQosPolicy',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteCenInterRegionTrafficQosPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouterRouteEntry',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterRouteEntry',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
],
],
],
[
'apiName' => 'AssociateTransitRouterAttachmentWithRouteTable',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AssociateTransitRouterAttachmentWithRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'UpdateCenInterRegionTrafficQosQueueAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateCenInterRegionTrafficQosQueueAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
],
],
],
[
'apiName' => 'UpdateTransitRouterPeerAttachmentAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterPeerAttachmentAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
],
],
],
[
'apiName' => 'CreateFlowlog',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateFlowlog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeactiveFlowLog',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:DeactiveFlowLog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
[
'apiName' => 'ModifyCenAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ModifyCenAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateCenBandwidthPackage',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenBandwidthPackage',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/*'],
],
],
],
[
'apiName' => 'DeleteTransitRouter',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouter',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterPrefixListAssociation',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterPrefixListAssociation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UpdateTransitRouterRouteTable',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:UpdateTransitRouterRouteTable',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
],
],
],
[
'apiName' => 'DeleteTransitRouterMulticastDomain',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'cen:DeleteTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
],
],
],
[
'apiName' => 'DescribeRouteServicesInCen',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeRouteServicesInCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateTransitRouterMulticastDomain',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterMulticastDomain',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/*'],
],
],
],
[
'apiName' => 'DescribeCens',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCens',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
],
],
],
[
'apiName' => 'DescribeCenInterRegionBandwidthLimits',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenInterRegionBandwidthLimits',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
['validationType' => 'conditional', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'CreateCenChildInstanceRouteEntryToCen',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateCenChildInstanceRouteEntryToCen',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'DescribeCenChildInstanceRouteEntries',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeCenChildInstanceRouteEntries',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
],
],
],
[
'apiName' => 'ActiveFlowLog',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'cen:ActiveFlowLog',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#flowlogId}'],
],
],
],
[
'apiName' => 'AddTrafficMatchRuleToTrafficMarkingPolicy',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:AddTrafficMatchRuleToTrafficMarkingPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeTransitRouteTableAggregation',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'cen:DescribeTransitRouteTableAggregation',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateTransitRouterCidr',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'cen:CreateTransitRouterCidr',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'CEN', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
],
],
],
],
'resourceTypes' => [
['validationType' => 'always', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:transitrouterrouteentry/*'],
['validationType' => 'always', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:transitrouterroutetable/{#TransitRouteTableId}'],
['validationType' => 'always', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/*'],
['validationType' => 'always', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/{#cenbandwidthpackageId}'],
['validationType' => 'always', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#ceninstanceId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#centransitrouterroutetableId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#centransitroutermulticastId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:*:{#accountId}:vpc/{#vpcId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#TransitRouterId}'],
['validationType' => 'always', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/{#virtualborderrouterId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/{#centransitrouterId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/*'],
['validationType' => 'always', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/{#TransitRouterMulticastDomainId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterVpcAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
['validationType' => 'always', 'resourceType' => 'CenBandwidthPackage', 'arn' => 'acs:cen:*:{#accountId}:cenbandwidthpackage/*'],
['validationType' => 'always', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
['validationType' => 'always', 'resourceType' => 'CenInstance', 'arn' => 'acs:cen:*:{#accountId}:ceninstance/{#CenId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:transitrouterrouteentry/{#TransitRouterRouteEntryId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:transitrouterroutetable/{#TransitRouterRouteTableId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'always', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/*'],
['validationType' => 'always', 'resourceType' => 'Flowlog', 'arn' => 'acs:cbn:{#regionId}:{#accountId}:flowlog/{#FlowLogId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterVbrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#centransitrouterroutentryId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterRouteEntry', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/*'],
['validationType' => 'always', 'resourceType' => 'TransitRouterMulticastDomain', 'arn' => 'acs:cen:*:{#accountId}:centransitroutermulticast/*'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutetable/{#TransitRouterRouteTableId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouter', 'arn' => 'acs:cen:*:{#accountId}:centransitrouter/*'],
['validationType' => 'always', 'resourceType' => 'TransitRouterRouteTable', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterroutentry/{#transitrouterroutetableId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/{#centransitrouterattachmentId}'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterPeerAttachment', 'arn' => 'acs:cen:*:{#accountid}:centransitrouterattachment/{#TransitRouterAttachmentId}'],
['validationType' => 'always', 'resourceType' => 'TransitRouterEcrAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
['validationType' => 'conditional', 'resourceType' => 'virtualborderrouter', 'arn' => 'acs:vpc:*:{#accountId}:virtualborderrouter/*'],
['validationType' => 'conditional', 'resourceType' => 'TransitRouterVpnAttachment', 'arn' => 'acs:cen:*:{#accountId}:centransitrouterattachment/*'],
],
],
];